Freebsd

Перенос 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 значительно упрощает миграцию, но не отменяет проверку конфигурации и приложений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *