Главная > Операционные системы > 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 - ) Применяемые опции: Главная > Операционные системы > UNIX > BSD > FreeBSD |