Главная | Контакты



Главная > Операционные системы > UNIX > BSD > FreeBSD

Перенос и бекап FreeBSD с помощью dump/restore

С большой долей вероятности может возникнуть ситуация, когда нужно систему перенести на другой жесткий диск или другой раздел больший по объему. Например в случае, когда текущий диск "сыпется" или раздел (в Windows-понимании) для FreeBSD является недостаточным по месту, а систему переустанавливать не хочется. Наилучшим и самым простым решением для этого будет воспользоваться утилитами dump/restore и sysinstall.

Я надеюсь, что вам уже приходилось создавать разделы на Freebsd, поэтому ограничусь только перечислением опций которые необходимо указать и последовательностью действий.Для начала нужно создать слайс FreeBSD. Загружаемся с образа, идем в "Configure", потом "Fdisk", а далее выбираем либо новый жесткий диск либо текущий, где нужно создать слайс на одном из разделов. На доступном пространстве диска или отдельном разделе нужно сделать "Create Slice", получив в полях Desc и Subtype значения freebsd и 165. Далее выставляем флаг "Set Bootable" и записываем все что было проделанно на диск с помощью "Write Changes". После выхода спросит про установку Boot Manager в MBR на данном диске. Выбираем "Standard" если производится перенос системы на новый диск, либо "BootMgr", что будет полезно, если установлено несколько ОС на диске. Создаем FreeBSD-разделы (партиции) новой системы. Заходим в редактор разделов "Label" и с помощью "Create" последовательно назначаем нужный объем новому корневому разделу, swap, var, usr. При указании размера можно указывать число и символ "G", который позволяет указать размер в гигабайтах. Командой "Write" будет произведено форматирование и создание файловой системы (утилитой newfs).

Далее загружаемся в старую систему и монтируем новые разделы во временные директории для переноса данных. Желательно миграцию производить в однопользовательском режиме, но не обязательно. Смотрим какие новые файлы устройств появились для диска с которым работаем и монтируем в соответствующие директории.

# mkdir /new.root /new.var /new.usr
# ls -lh /dev/ad4*
# mount /dev/ad4s1a /new.root
# mount /dev/ad4s1e /new.var
# mount /dev/ad4s1d /new.usr

Обычное копирование нельзя использовать и с помощью tar также не удастся перенести систему. Для данных целей подходит только встроенная утилита dump, которая делает снимок (snapshot) смонтированной файловой системы для последующей работы с ним (копирования). Теперь можно сделать dump для каждого старого раздела, направив вывод в соответствующий новый, следующим образом:

# ( dump -0f - / ) | ( cd /new.root ; restore -rf - )
# ( dump -0f - /var ) | ( cd /new.var ; restore -rf - )
# ( dump -0f - /usr ) | ( cd /new.usr ; restore -rf - )

После вышеописанных действий правим /new.root/etc/fstab, перепроверив утилитами df, mount, что ошибок допущено не было, и загружаемся с нового места.

Следует заметить, что утилита dump является надежным и безопасным средством для использования также в целях создания резервных копий разделов системы. dump и restore - это традиционные программы в UNIX-системах для резервного копирования. dump делает бекап всей файловой системы, располагающейся на устройстве (целого диска или любого, отдельно взятого раздела). Обладает возможностью создания полной резервной копии (флаг "-0") или инкрементальных дампов (только изменённые файлы). Для создания инкрементного архива в опциях команды указывается уровень дампа от 1 до 9 (0 - это полный архив). Restore предназначена для восстановление данных. После полной копии восстанавливаются инкрементные архивы, в порядке их создания.

Например, для создания и восстановления корневого раздела можно воспользоваться следующими командами (скомпоновав работу с утилитой сжатия gzip):

# dump -L -0 -f - / | gzip >  /backup/root.img.gz
# gzip -cd  /backup/root.img.gz  | ( cd / ; restore -rf - )

Применяемые опции:
-L - дамп снимается с "живой" файловой системы, т.е. она смонтирована в режиме запись/чтение (при ее использовании создается снимок в директории .snap, корневого раздела, который будет удален по завершению работы dump);
-f - писать в файл (по умолчанию вывод направлен на стример).

Материал взят с сайта: http://funix.ru/freebsd/perenos-i-bekap-freebsd-s-pomoshhyu-dumprestore.html

Главная > Операционные системы > UNIX > BSD > FreeBSD