Горячее резервное копирование
Делать будем при помощи загрузочного CD с FreeBSD. Берем стандартный. В первую очередь, смотрим, как были смонтированы наши разделы на старом винте (фактически, это перенос системы на другой винт):
proxy.dtservice.ru:~#> df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad4s1a 989M 73M 837M 8% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad4s1d 2.9G 10K 2.7G 0% /tmp /dev/ad4s1f 24G 6.9G 15G 32% /usr /dev/ad4s1e 6.8G 4.1G 2.1G 66% /var devfs 1.0K 1.0K 0B 100% /var/named/dev
Подключаем новый винт в принципе к любой машине. Нарезаем на нем точно такие же слайсы (имеется ввиду буквы, размер делаем таким какой нам требуется), форматируем, делаем загрузочным. Все это делается при помощи загрузочного диска с FreeBSD.
Подключаем любое устройство на которое будем писать бэкапы. Делаем бэкапы на живой файловой системе. В данном случае для корневой FS. Повторяем для всех остальных.
dump -0uan -L -f - /dev/ad4s1a | bzip2 > /mnt/dump/dump_root_ad4s1a.bz2
Или сразу запишем на другой сервер:
dump -0uan -L -f - / | gzip | ssh alexey@192.168.2.253 dd of=/home/alexey/dump-proxy-root.gz
Дампы готовы. Можно записать на флешку или на CD. В случае сбоя легко восстановим.
Теперь грузимся с FreeBSD LiveCD. На этот момент у нас подключен винт, куда нужно развернуть систему. Я подготавливал винт просто Express-установкй системы. Чтобы не возникало сложностей, я делал разделы букв точно такими же как на исходной системе. Хотя в данном случае, наши архивы как раз нужны то для того, чтобы восстановить нашу, подпорченую систему.
Я записал все архивы на флешку. Монтирую флешку и основные FS в /mnt:
mount_msdosfs /dev/ad0s1 /mnt/flash mount /dev/ad4s1a /mnt/root mount /dev/ad4s1d /mnt/var mount /dev/ad4s1f /mnt/usr
Теперь развернем наши дампы в нужные каталоги:
cd /mnt/flash bunzip2 -c dump_root_ad4sa1.bz2 | (cd /; restore -vrf - )
Повторим для остальных FS.