mirror of
https://git.FreeBSD.org/doc.git
synced 2026-06-02 19:35:07 +00:00
8d40edecc4
Reported by: maxim Differential Revision: https://reviews.freebsd.org/D56636
121 lines
10 KiB
Plaintext
121 lines
10 KiB
Plaintext
---
|
||
title: "О технологических преимуществах FreeBSD"
|
||
sidenav: about
|
||
---
|
||
|
||
= О технологических преимуществах FreeBSD
|
||
|
||
== FreeBSD предоставляет множество уникальных возможностей.
|
||
|
||
Вне зависимости от типа вашего приложения вы хотите, чтобы ресурсы системы использовались максимально эффективно.
|
||
Средоточие FreeBSD на производительности, сетевом взаимодействии и хранении данных вкупе с простым системным администрированием и прекрасной документацией позволяет достичь этого.
|
||
|
||
=== Полноценная операционная система, основанная на 4.4BSD.
|
||
|
||
link:https://freebsdfoundation.org/freebsd/timeline/[История FreeBSD] берет начало из дистрибутивов *BSD*, выпущенных Группой Исследования Вычислительных Систем (Computer Systems Research Group) Калифорнийского Университета (Беркли).
|
||
Десятки лет работы было вложено в улучшение масштабируемости, сетевой производительности, а также в новые инструменты управления, файловые системы, безопасность и другие функции.
|
||
В итоге FreeBSD можно обнаружить по всему Интернету, в операционных системах опорных маршрутизаторов, на корневых серверах имен, в работе хостинга крупных веб-сайтов и как основу для широко используемых десктопных операционных систем.
|
||
|
||
[[features]]
|
||
== Возможности
|
||
|
||
[[openzfs]]
|
||
=== OpenZFS
|
||
|
||
ZFS — это не просто файловая система, она принципиально отличается от традиционных файловых систем.
|
||
Объединение традиционно раздельных ролей программного RAID, менеджера томов и файловой системы предоставляет ZFS уникальные преимущества.
|
||
|
||
Три основные цели ZFS:
|
||
|
||
* Целостность данных
|
||
|
||
* Объединенное хранилище
|
||
|
||
* Производительность.
|
||
|
||
[[zfs-boot-environments]]
|
||
=== Загрузочные окружения ZFS
|
||
Загрузочное окружение ZFS — это загружаемый клон/снимок специально выбранных частей системы.
|
||
|
||
Области применения включают:
|
||
|
||
* Надежные обновления/изменения системы
|
||
* Создание безопасного резервного загрузочного окружения ZFS перед обновлением или изменениями системы
|
||
* Обновление нового (неактивного) окружения без изменения активного
|
||
* Выполнение обновления и тестирование результатов внутри клетки (jail)
|
||
* Копирование/перемещение загрузочного окружения ZFS на другую машину
|
||
* Значительная переконфигурация (Bareos/Postfix/...)
|
||
* Массовое развертывание большого количества серверов с одним настроенным загрузочным окружением
|
||
* Резервное копирование на уровне оборудования.
|
||
|
||
[[jails]]
|
||
=== Клетки (jail)
|
||
|
||
Клетки появились в FreeBSD 4.X.
|
||
|
||
Они построены на основе man:chroot[8], который изменяет корневой каталог.
|
||
Это создает безопасную среду, отделенную от остальной системы.
|
||
Процессы, созданные в окружении клетки, не могут получить доступ к файлам или ресурсам за его пределами.
|
||
|
||
Клетки улучшают chroot несколькими способами.
|
||
В традиционной chroot-среде процессы ограничены частью файловой системы.
|
||
Остальные системные ресурсы, системные пользователи, запущенные процессы и сетевая подсистема являются общими для chroot-процессов и процессов хост-системы.
|
||
Клетки дополнительно ограничивают доступ к файловой системе, набору пользователей и сетевой подсистеме.
|
||
Доступны более детализированные средства контроля доступа.
|
||
|
||
[[ports-collection]]
|
||
=== Коллекция портов
|
||
|
||
Более 35 000 приложений и библиотек link:https://ports.freebsd.org[портировано] в FreeBSD.
|
||
Эта архитектура позволяет легко настраивать параметры компиляции для многих портов.
|
||
|
||
[[virtualization]]
|
||
=== Виртуализация
|
||
|
||
link:https://bhyve.org/[bhyve]: гипервизор с лицензией BSD, не требующий поддержки устаревших технологий, который запускает все поддерживаемые версии FreeBSD, а также другие операционные системы с поддержкой UEFI, включая, но не ограничиваясь link:https://www.openbsd.org/[OpenBSD], link:https://www.microsoft.com/en-us/windows/[Windows(R)] и link:https://kernel.org/[Linux(R)], с использованием bhyve-firmware.
|
||
|
||
[[linuxulator]]
|
||
=== Совместимость с исполняемыми файлами Linux (Linuxulator)
|
||
|
||
Совместимость с исполняемыми файлами Linux, часто называемая link:https://wiki.freebsd.org/Linuxulator[Linuxulator], позволяет FreeBSD запускать многие неизмененные исполняемыми файлами Linux.
|
||
Это не связано с виртуальными машинами или эмуляцией;
|
||
вместо этого она предоставляет исполняемым файлам интерфейсы ядра, идентичные тем, которые предоставляет настоящее ядро Linux.
|
||
Linuxulator сравним с запуском 32-битных FreeBSD-бинарников на 64-битном ядре FreeBSD.
|
||
|
||
[[dtrace]]
|
||
=== DTrace
|
||
|
||
DTrace, также известный как Dynamic Tracing, был разработан Sun Microsystems(TM) для поиска узких мест производительности в рабочих и предпроизводственных системах.
|
||
Кроме того, DTrace может помочь в исследовании и отладке неожиданного поведения в ядре и в пользовательском пространстве.
|
||
|
||
DTrace обладает впечатляющим набором функций.
|
||
Он поддерживает сценарии.
|
||
Разработчики могут использовать язык DTrace D для создания утилит для пользовательского профилирования.
|
||
|
||
Реализация FreeBSD предоставляет полную поддержку DTrace для ядра и экспериментальную поддержку для пользовательского пространства.
|
||
DTrace для пользовательского пространства позволяет пользователям выполнять трассировку границ функций для пользовательских программ с использованием поставщика трассировки по идентификатору процесса (pid) и вставлять статические пробы в пользовательские программы для последующей трассировки.
|
||
|
||
[[capsicum]]
|
||
=== Capsicum
|
||
Capsicum позволяет запускать в песочнице несколько программ, которые работают в «режиме возможностей» (capabilities mode), таких как:
|
||
|
||
* tcpdump
|
||
* dhclient
|
||
* hast
|
||
* rwhod
|
||
* kdump.
|
||
|
||
[[vnet]]
|
||
=== Сетевая виртуализация (VNET)
|
||
|
||
VNET виртуализирует сетевой стек.
|
||
Основная идея заключается в преобразовании глобальных ресурсов (в первую очередь переменных) в ресурсы для каждого сетевого стека и обеспечении доступа к ним и управления ими функциями, sysctl, обработчиками событий и т.д. в контексте правильного экземпляра.
|
||
Каждый (виртуальный) сетевой стек прикреплен к prison (тюрьме), при этом vnet0 является неограниченным сетевым стеком по умолчанию базовой системы.
|
||
Возможности `VIMAGE` могут использоваться независимо для создания полностью виртуализированных сетевых топологий, а man:jail[8] может напрямую использовать преимущества полностью виртуализированного сетевого стека.
|
||
|
||
//
|
||
// The FreeBSD Russian Documentation Project
|
||
//
|
||
// Original EN revision (30.12.2024): a63b1f71e2d14a43f8c8885db65dd52e078d68cd
|
||
//
|