Установка FreeBSD 12.0 на ZFS

FreeBSD — это свободная Unix-подобная операционная система, родственная Berkeley Software Distribution (BSD). Первая версия FreeBSD появилась в 1993 году; в этом руководстве используется FreeBSD 12.0. ZFS — современная файловая система, разработанная в Sun Microsystems: масштабируемая, с проверкой целостности данных, сжатия, поддержкой RAID-Z и автокоррекцией. Порт ZFS в FreeBSD доступен с 2008 года.
Это руководство показывает установку FreeBSD 12.0 на ZFS с помощью штатного установщика bsdinstall, который может автоматически использовать весь диск.
1. Требования
Рекомендуемые минимальные параметры для тестовой виртуальной машины: 2 ГБ ОЗУ, 2 ядра CPU, 25 ГБ диска. Для продакшна планируйте больше ОЗУ, нескольких дисков под RAID и отдельный бэкап. Убедитесь, что у вас есть загрузочный образ FreeBSD 12.0 и способ записать его на USB/CD или подключить ISO в виртуальной среде.
Скачать образы можно здесь:
https://download.freebsd.org/ftp/releases/
Важно: перед установкой сделайте резервные копии данных с выбранного диска — установка форматирует носитель.
2. Подготовка и запуск установщика
- Подключите загрузочную флешку или ISO и загрузитесь с неё.
- На первом экране нажмите Enter, чтобы продолжить установку.

Выберите Install.

Выберите раскладку клавиатуры. Если оставляете по умолчанию, можно продолжить с US.

Задайте hostname системы.

Выберите компоненты базовой системы (src, ports, тесты и т.д.) по необходимости.

3. Конфигурация ZFS и разметка диска
Для автоматической разметки выберите Auto (ZFS). Установщик создаст GPT-разметку, пул zroot и секцию swap по умолчанию (2 ГБ в автоматическом режиме).

Если вы хотите тонко настраивать ZFS (кэш, лог-диски, зеркала, RAID-Z), используйте Shell или Manual и создавайте пул вручную командой zpool.

Для продакшна выберите RAID-массивы (mirror, raidz1/2/3) вместо stripe. Для теста и для одного диска оставьте stripe (без избыточности).

Выберите диск для установки и подтвердите форматирование. Это действие удалит все данные на устройстве.


Советы:
- Для сервера используйте по крайней мере два диска и создайте mirror или raidz1/2.
- Если планируете большие пул нагрузки, выделите отдельные устройства для L2ARC и ZIL (лог) — для уменьшения влияния на производительность.
4. Установка базовой системы и пароль root
Установщик извлечёт и установит выбранные компоненты.

После установки вас попросят задать пароль root. Выберите сложный пароль.

Хорошая практика: включить SSH и запретить аутентификацию по паролю в продакшне, используя ключи.
5. Сетевые настройки
Выберите сетевой интерфейс для конфигурации.

Разрешите конфигурацию IPv4, если требуется.

Если вы используете DHCP, выберите YES — адрес выдаст DHCP-сервер.

IPv6 можно отключить (NO) или настроить по необходимости.

Укажите DNS-резолверы (например, провайдерские или публичные 1.1.1.1 / 8.8.8.8).

После установки сеть можно детально настроить в /etc/rc.conf и /etc/resolv.conf.
6. Часовой пояс и службы
Выберите регион и страну, чтобы установить часовой пояс.


Далее выберите системные службы, которые нужно активировать (SSH, ntpd, acme-client и т.п.). Включайте только нужные сервисы.

7. Дополнительное усиление безопасности
Installer предложит опции безопасности: включение антивременных ограничений, политики PAM, ограничение root и т.д. Выберите настройки в соответствии с вашей политикой безопасности.

Рекомендации:
- Отключите вход root по SSH и используйте sudo для администрирования.
- Включите firewall (pf) и настройте базовые правила.
- Ограничьте доступ к административным интерфейсам по IP.
- Регулярно обновляйте систему командой freebsd-update и pkg.
8. Создание нового пользователя
Добавьте непривилегированного пользователя для ежедневной работы и дайте ему права sudo при необходимости.

Заполните данные пользователя и задайте пароль.

Примените конфигурацию и выйдите из установщика.

9. Завершение и перезагрузка
После завершения установки выберите завершение и перезагрузку системы.


После перезагрузки войдите под root или созданным пользователем и проверьте версию и состояние файловой системы ZFS:
uname -msr
df -h
Проверки и базовая верификация
- Проверить пул ZFS и его статус:
zpool status -v
zfs list- Проверить точки монтирования и доступность разделов:
mount
ls -la /- Убедиться, что сеть работает:
ifconfig -a
ping -c 3 8.8.8.8- Убедиться, что служба SSH запущена (если включена):
service sshd statusКонтрпримеры — когда этот метод не подходит
- Если у вас требуются продвинутые настройки ZFS (отдельные vdev для log/L2ARC/metadata), лучше создавать пул вручную из Shell, а не использовать Auto (ZFS).
- Для однодисковых продакшн-систем Auto (ZFS) оставляет пул без избыточности — это риск для данных.
- Если нужна совместимость с устаревшими инструментами или установщиками, можно выбрать UFS.
Альтернативные подходы
- Ручная разметка и создание ZFS-пула через zpool(8) в Shell — даёт максимальный контроль.
- Использовать предварительно настроенный образ (template) в виртуальных средах с уже сконфигурированным ZFS.
- Рассмотреть более новые релизы FreeBSD (13.x, 14.x) для улучшенной поддержки оборудования и ZFS.
Мини-методология подготовки к установке
- Оценить ресурсы: ОЗУ, CPU, число дисков и сеть.
- Создать план размещения данных: где будут корень, логи, бэкапы.
- Сделать резервную копию важных данных с дисков, которые будут перезаписаны.
- Подготовить загрузочный носитель и проверить контрольную сумму образа.
- Выполнить установку на тестовой VM перед развертыванием в продакшн.
Ролевые чек-листы
Администратор:
- Подготовить репозиторий образов и проверить контрольные суммы.
- Спланировать стратегию RAID/ZFS.
- Настроить мониторинг и бэкап.
Оператор установки:
- Подключить ISO/флешку и запустить установщик.
- Выбрать Auto (ZFS) или Manual по инструкции.
- Проверить сетевые настройки после перезагрузки.
Аудитор безопасности:
- Проверить, отключён ли вход root по SSH.
- Убедиться в наличии актуальных патчей.
- Проверить конфигурацию pf/iptables и журналов.
Критерии приёмки
- Система загружается и отображает корректную версию FreeBSD.
- zpool status — состояние пула ONLINE, без ошибок.
- Сетевой интерфейс получает IP по DHCP (если использовался DHCP).
- Пользователь с ограниченными правами может войти и выполнить sudo при необходимости.
- Регулярные обновления пакетов и базовая политика безопасности настроены.
Безопасность и рекомендации по жёсткой конфигурации
- Запретите вход по паролю для SSH: настройте /etc/ssh/sshd_config (PasswordAuthentication no) и используйте ключи.
- Включите и настройте pf как первичный брандмауэр; добавьте базовые правила deny all, allow from management network.
- Включите periodic security audit и логирование (syslog/rsyslog).
- Настройте автоматические обновления безопасности для пакетов и ядра там, где это возможно.
Однострочный глоссарий
- ZFS — файловая система с проверкой целостности, поддержкой RAID-Z и сжатия.
- zpool — команда управления пулом устройств ZFS.
- bsdinstall — стандартный установщик FreeBSD.
Тестовые случаи и приёмочный тест
- Попытка загрузки после установки — система должна загружаться без ошибок.
- Проверка целостности пула: zpool scrub не должен выявлять повреждений на чистой установке.
- Проверка отказоустойчивости: при симуляции отказа одного диска в mirror пул остаётся доступным (если используется mirror).
Ссылки и источники
- Официальная документация FreeBSD: https://www.freebsd.org/doc/
Сводка: установка FreeBSD 12.0 на ZFS через Auto (ZFS) в bsdinstall удобна для тестовых и быстрых развёртываний. Для продакшна планируйте RAID, резервные копии и ручную конфигурацию ZFS для контроля над vdev и производительностью.
Похожие материалы
Как ускорить iOS 9 и продлить время работы батареи
Appsmith с Docker — развёртывание и руководство
Albert — быстрый лаунчер для Ubuntu
Архивирование твитов в Google Таблицы
CupCloud — синхронизация открытых файлов между ПК