В дополнение к предыдущей статье с описанием процесса создания резервной копии раздела с помощью утилиты dump тут>>> – пример восстановления из бекапа dump-файла.
Восстановление проводится на VPS. Диск разбит так же, как был разбит до этого. Разбивку можно произвести как с помощью bsdlabel или gpart, так и просто установив систему заново – что бы не напрягаться с количеством секторов на разделе.
Так же, в примере пропущен процесс переназначения дисков (в случае замены диска в физическом сервере, если он будет подключен к другому SATA-конроллеру). В случае с VPS всё происходит намного проще.
Сервер загружен с LiveCD Frenzy, все действия выполняются из-под неё. Задача усложняется тем, что на VPS только 1 жесткий диск. Подключить второй – нельзя, подключить флешку – тоже нельзя, т.к. отсутствует USB-контроллер. Поэтому restore будет выполнятся на локальной машине, а сам файл дампа – будет вытягиваться по FTP с удаленного сервера резервного копирования.
Проверим устройства:
# camcontrol devlist
<NECVMWar VMware IDE CDR10 1.00> at scbus1 target 0 lun 0 (cd0,pass0)
<VMware Virtual disk 1.0> at scbus2 target 0 lun 0 (da0,pass1)
Нас интересует жесткий диск – da0.
# ls /dev/da*
/dev/da0 /dev/da0p1 /dev/da0p2 /dev/da0p3
Нас интересует раздел /dev/da0p2 – на нём ранее была система, и он создан заново для восстанавливаемой системы:
# file -s /dev/da0p2
/dev/da0p2: Unix Fast File system [v2] (little-endian) last mounted on /, last written at Mon Dec 17 09:45:20 2012, clean flag 1, readonly flag 0, number of blocks 7340016, number of data blocks 7223927, number of cylinder groups 39, block size 32768, fragment size 4096, average file size 16384, average number of files in dir 64, pending blocks to free 0, pending inodes to free 0, system-wide uuid 0, minimum percentage of free blocks 8, TIME optimization
Пересоздаём файловую систему на разделе, что бы не было ничего лишнего:
# newfs /dev/da0p2
Reduced frags per cylinder group from 94088 to 94080 to enlarge last cyl group
/dev/da0p2: 28671.9MB (58720128 sectors) block size 16384, fragment size 2048
using 157 cylinder groups of 183.75MB, 11760 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
160, 376480, 752800, 1129120, 1505440, 1881760
…
57953440, 58329760, 58706080
Монтируем раздел к загруженной с LiveCD системе:
# mount /dev/da0p2 /mnt/
Переходим в смонтированный раздел:
# cd /mnt/
И запускаем сам процесс восстановления. С помощью fetch мы загрузим файл дампа с FTP и прочитаем его (отправим в stdout), после чего – передаём на обработку утилите restore (вывод fetch будет являтся stdin для restore, который мы передаём через pipe – |):
frenzy:/mnt@[9:17] # fetch -o – ftp://user:[email protected]/senya.kioko.dump | restore -rf –
– 1% of 5394 MB 6719 kBps 13m33swarning: ./.snap: Файл существует
– 100% of 5394 MB 1983 kBps 00m00s
frenzy:/mnt@[10:04] #
Всё – процесс завершён.
Проверим содержимое раздела:
frenzy:/mnt@[10:04] # ls -la
total 50968
drwxr-xr-x 18 root wheel 512 17 дек 09:45 ./
drwxr-xr-x 12 setevoy wheel 512 3 май 2012 ../
-rw-r–r– 2 root wheel 793 3 янв 2012 .cshrc
-rw-r–r– 2 root wheel 256 3 янв 2012 .profile
drwxrwxr-x 2 root operator 512 23 сен 14:59 .snap/
-r——– 1 root wheel 33554432 23 сен 14:59 .sujournal
-r–r–r– 1 root wheel 6199 3 янв 2012 COPYRIGHT
drwxr-xr-x 2 root wheel 1024 3 янв 2012 bin/
drwxr-xr-x 8 root wheel 1024 10 ноя 10:01 boot/
drwxr-xr-x 2 root wheel 512 23 сен 14:59 dev/
-rw——- 1 root wheel 4096 17 дек 09:45 entropy
drwxr-xr-x 20 root wheel 2048 10 ноя 13:48 etc/
lrwxr-xr-x 1 root wheel 8 23 сен 15:10 home@ -> usr/home
drwxr-xr-x 3 root wheel 1536 23 сен 14:30 lib/
drwxr-xr-x 3 root wheel 512 3 янв 2012 libexec/
drwxr-xr-x 2 root wheel 512 3 янв 2012 media/
drwxr-xr-x 2 root wheel 512 3 янв 2012 mnt/
dr-xr-xr-x 2 root wheel 512 3 янв 2012 proc/
drwxr-xr-x 2 root wheel 2560 23 сен 14:30 rescue/
-rw——- 1 root wheel 18542724 27 дек 10:04 restoresymtable
drwxr-xr-x 6 root wheel 512 18 окт 16:23 root/
drwxr-xr-x 2 root wheel 2560 23 сен 14:30 sbin/
lrwxr-xr-x 1 root wheel 11 3 янв 2012 sys@ -> usr/src/sys
drwxrwxrwt 12 root wheel 512 17 дек 01:19 tmp/
drwxr-xr-x 16 root wheel 512 23 сен 15:10 usr/
drwxr-xr-x 24 root wheel 512 10 ноя 10:56 var/
И – перезагружаемся в новую систему:
frenzy:/mnt@[10:05] # reboot