[an error occurred while processing this directive]

Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса
Резервное копирование и восстановление системного раздела FreeBSD с применением
SMB-ресурса в качестве промежуточного хранилища дампа. В любой сети, как
правило, полно Windows ПК с достаточно большими винчестерами, что позволяет
рассматривать SMB-ресурс как удобное средство хранения резервных копий системы.

В данной статье описано как можно обеспечить возможность восстановления
работоспособной  системы "с нуля", все что нужно - это LiveFS CD и корректный
дамп работавшей некогда системы. Причем восстанавливать можно и на другое
железо, принципиально это не влияет на технологию. Я, в частности, перенес
систему с виртуальной машины на аппаратную (правда ОС была голая практически).

Первоисточники (авторам которых огромное спасибо за их труд):
   http://rm-rf.ucoz.ru/publ/11-1-0-14
   http://sysadmins.ru/post7706741.html#7706741

Создание дампа

Подключить сетевой диск:

   mkdir /mnt/smb/
   mkdir /mnt/smb/backup
   mount_smbfs //user@хост/backup /mnt/smb/backup

Выгрузить конфигурацию слайсов:

   fdisk -p /mnt/smb/backup/fdisk.cf

Выгрузить конфигурацию разделов:

   bsdlabel /dev/ad0s1 > /mnt/smb/backup/bsdlabel.ad0s1

Собственно, создаем дамп:

   dump -0aLuf /mnt/smb/backup/root.dump


Восстановление на внешний винчестер

Загрузиться с LiveFS CD (для виртуалки - убедиться что выставлена загрузка с CD в первую очередь)

Войти в режим Fixit (CD/DVD)

Для надежности (и только в том случае, если данные на имеющемся винчестере
никому не нужны) (я делал это чтобы убедиться что восстановление действительно
происходит по-честному) - затираем данные на имеющемся винчестере:

  dd if=/dev/zero of=/dev/ad0 bs=1M count=1000

Желательно убедиться что теперь при попытке загрузки с винчестера ничего хорошего не выйдет ;)

Поднять сеть:

   ifconfig le0 192.168.0.99 255.255.255.0 192.168.0.1

Для удобства вписываем NetBIOS-имя того ПК, на котором лежит образ, в файл hosts:

   echo "192.168.0.10  хост" >> /etc/hosts

(проверка : ping backup - должны ходить пакеты)

Нужно помочь mount_smbfs загрузиться (см. также PPS в конце статьи, п.2):

   mkdir /boot/kernel
   cp /dist/boot/kernel/smbfs.ko /boot/kernel
   cp /dist/boot/kernel/lib*.ko /boot/kernel

Создаем путь для точки монтирования:

   mkdir /mnt/smb
   mkdir /mnt/smb/backup

Монтируем:

   mount_smbfs //user@хост/backup /mnt/smb/backup
   cd /mnt/smb/backup/vmtest03

Восстанавливаем таблицу слайсов:

   fdisk -f fdisk.cf /dev/ad0

возникает предупреждение (Class not found), а также возможно ругательство на
геометрию раздела - игнорируем !

Восстанавливаем таблицу разделов и стандартный загрузочный код:
bsdlabel -R -B /dev/ad0s1 bsdlabel.ad0s1

Инициализируем UFS на разделе куда будем разворачивать root:

   newfs /dev/ad0s1a

Монтируем его:

   mkdir /mnt/root
   mount /dev/ad0s1a /mnt/root

Восстанавливаем содержимое:

   cd /mnt/root
   restore -rvf /mnt/smb/backup/root.dump
   rm /restoresymtable

Извлекаем CD, перезагружаемся.

Внимание ! Если код устройства тома, на который вы восстанавливаете, отличается
от кода устройства при создании (например был ad0, стал ad6), придется вручную
подключать root и править /etc/fstab

Запускаем редактор:
vi  /etc/fstab

По умолчанию мы оказываемся в "командном" режиме. Переводим курсор в то место,
где нам надо заменить символы, например в строку с текстом /ad0s1a под 0. Жмем
"x" - 0 удаляется. Теперь жмем "i". Перешли в режим вставки. Жмем 6. Получилось
/ad6s1a. Жмем Esc. Теперь мы снова в командном режиме. Жмем ":" - переходим в
командную строку vi. Жмем "wq" и Enter - команда "сохранить и выйти".

PS: После восстановления из дампа, если необходимо, можно поднять зеркало
"вживую" - как это сделать описано в статье
https://www.opennet.ru/base/sys/freebsd_gmirror_raid1.txt.html Винчестер 120 Гб
дублируется (без прочей нагрузки) примерно за час - полтора.

PPS: Если нужно восстановить на уже поднятый gmirror: принципиально все то же
самое, только есть два нюанса:
1) если дамп был создан с обычного adX раздела, то в конфигурации корневого
раздела не будет о GEOM-настройках ни слова, поэтому необходимо исправить
/etc/fstab (вместо /dev/adXsY пишем /dev/mirror/gmZsY), а также добавить строку
'geom_mirror_load="YES"' в /boot/loader.conf - без этого примонтировать корень
с зеркала не удастся.

2) чтобы загрузить gmirror и smbfs с LiveFS CD, можно в меню загрузки LiveFS
выбрать п. 6 "Escape to loader command prompt", ввести в командной строке load
smbfs, load geom_mirror, затем boot.
 
11.04.2011 , Автор: 62mkv
Ключи: smb, dump, restore, backup, freebsd / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Резервное копирование

[an error occurred while processing this directive]

[an error occurred while processing this directive]