Восстановление из dump-файла с помощью restore

Автор: | 27/12/2012
 

backupВ дополнение к предыдущей статье с описанием процесса создания резервной копии раздела с помощью утилиты 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