FreeBSD The Power to Serve

FreeBSD 特性

FreeBSD 提供了许多独特的特性。

无论应用程序是什么,操作系统都应该利用所有可用的资源。FreeBSD 侧重于性能、网络和存储,并结合易于管理和全面的文档,以充分发挥计算机的潜力。

基于 4.4BSD 的完整操作系统

FreeBSD 的起源 是来自加州大学伯克利分校计算机系统研究小组的 BSD 软件版本。数十年的发展带来了高级的可扩展性、网络性能、管理工具、文件系统支持、安全性和其他特性。FreeBSD 遍布互联网,用于核心路由器产品、运行根域名服务器、托管主要网站,以及作为广泛使用的桌面操作系统的基础。

特性

OpenZFS

ZFS 不仅仅是一个文件系统,它从根本上不同于传统的文件系统。将传统上独立的软件 RAID、卷管理器和文件系统角色相结合,为 ZFS 提供了独特的优势。

ZFS 有三个主要的设计目标

  • 数据完整性

  • 存储池

  • 性能。

ZFS 引导环境

ZFS 引导环境是系统中特定预选部分的可引导克隆/快照。

用例包括

  • 安全升级/更改系统

  • 在升级或更改系统之前创建安全的回退 ZFS 引导环境

  • 更新新的(非活动)环境,而不更改活动环境

  • 执行升级并在 jail 中测试结果

  • 将 ZFS 引导环境复制/移动到另一台机器

  • 主要重新配置 (Bareos/Postfix/…​)

  • 使用一个配置好的 BE 大规模填充大量服务器

  • 裸机备份解决方案。

Jails

Jails 起源于 FreeBSD 4.X。

它们建立在 chroot(8) 的基础上,后者更改根目录。这创建了一个安全的环境,与系统其余部分隔离。在 jail 环境中创建的进程无法访问其外部的文件或资源。

Jails 在几个方面改进了 chroot。在传统的 chroot 环境中,进程仅限于文件系统的一部分。系统资源、系统用户、正在运行的进程和网络子系统由 chrooted 进程和主机系统的进程共享。Jails 进一步限制了对文件系统、用户集和网络子系统的访问。提供了更细粒度的访问控制。

端口集合

超过 30,000 个应用程序和库已 移植 到 FreeBSD。该架构允许轻松自定义许多端口的编译时选项。

虚拟化

bhyve: 一个 BSD 许可的、无遗留的虚拟机管理程序,运行所有受支持版本的 FreeBSD,以及其他支持 UEFI 的操作系统,包括但不限于 OpenBSDWindows®Linux®,通过使用 bhyve-firmware。

Linux 二进制兼容性

Linux 二进制兼容性,通常称为 Linuxulator,允许 FreeBSD 运行许多未经修改的 Linux 二进制文件。它不涉及虚拟机或仿真;相反,它为二进制文件提供与真实 Linux 内核提供的相同的内核接口。Linuxulator 类似于在 64 位 FreeBSD 内核上运行的 32 位 FreeBSD 二进制文件。

DTrace

DTrace,也称为动态跟踪,由 Sun Microsystems™ 开发,用于在生产和预生产系统中查找性能瓶颈。此外,DTrace 可以帮助调查和调试内核和用户空间中的意外行为。

DTrace 拥有令人印象深刻的功能数组。它是可脚本化的。开发人员可以使用 DTrace D 语言创建自定义分析的实用程序。

FreeBSD 实现为内核 DTrace 提供了完全支持,并为用户空间 DTrace 提供了实验性支持。用户空间 DTrace 允许用户使用 pid 提供程序对用户空间程序执行函数边界跟踪,并在用户空间程序中插入静态探针以供以后跟踪。

Capsicum

Capsicum 允许沙盒化在“功能模式”下工作的多个程序,例如

  • tcpdump

  • dhclient

  • hast

  • rwhod

  • kdump。

网络虚拟化

VNET 虚拟化网络堆栈。基本思想是将全局资源(最显著的是变量)更改为每个网络堆栈资源,并使函数、sysctl、事件处理程序等在正确实例的上下文中访问和处理它们。每个(虚拟)网络堆栈都附加到一个监狱,其中 vnet0 是基本系统的无限制默认网络堆栈。VIMAGE 功能可以独立使用以创建完全虚拟化的网络拓扑,并且 jail(8) 可以直接受益于完全虚拟化的网络堆栈。


最后修改于:2024 年 8 月 14 日 由 Wolfram Schneider