Перенос FreeBSD на новый сервер: ZFS, rsync, backup и проверка после миграции
Перенос FreeBSD лучше воспринимать не как копирование диска, а как контролируемую миграцию системы. Главная задача — перенести данные и конфигурацию так, чтобы новый сервер загрузился, получил правильную сеть и запустил сервисы без потери прав и служебных данных.
1. Инвентаризация до переноса
- версия FreeBSD и архитектура;
- список пакетов и сервисов;
/etc/rc.conf,/etc/loader.conf, cron и локальные конфиги;- сетевые интерфейсы, VLAN, маршруты и firewall;
- пулы ZFS или файловые системы UFS;
- сертификаты, SSH-ключи и данные приложений.
2. Для ZFS удобнее репликация
Если данные находятся на отдельных ZFS datasets, используйте snapshot и zfs send/zfs receive. Это сохраняет свойства datasets и хорошо подходит для полной или инкрементальной передачи.
zfs snapshot -r zroot/data@migrate
zfs send -R zroot/data@migrate | ssh newhost zfs receive -u backup/dataДля production сначала сделайте начальную передачу заранее, а перед переключением остановите изменяющие данные сервисы и отправьте финальную дельту.
3. Для UFS и обычных каталогов
Можно использовать rsync с сохранением прав, владельцев и времён. Особое внимание уделяйте ACL, extended attributes и файловым флагам — простое cp -r для системного переноса недостаточно.
4. Не копируйте сетевую конфигурацию вслепую
На новом сервере имена интерфейсов могут отличаться. До первого удалённого запуска подготовьте консольный доступ и проверьте rc.conf, default gateway, DNS, VLAN и правила PF/IPFW.
5. Проверка после переключения
- загрузка без ошибок;
- состояние ZFS и дисков;
- сеть и DNS;
- список слушающих портов;
- логи сервисов;
- права на данные;
- backup и мониторинг;
- работа приложений с реального клиента.
Итог: хороший перенос FreeBSD — это заранее протестированный план с резервной копией и возможностью вернуть старый сервер. ZFS значительно упрощает миграцию, но не отменяет проверку конфигурации и приложений.