Dump / Restore – перенос системы на диск большего размера 

Система – FreeBSD 12.2. Старый диск 1Т (ada0), новый 2Т (ada1).

Выключаем сервер, подключаем диск.

Загружаемся и смотрим

# geom disk list
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 1000204886016 (932G)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r6w6e11
   descr: TOSHIBA DT01ACA100
   lunid: 5000039feff42490
   ident: 671PPX9MS
   rotationrate: 7200
   fwsectors: 63
   fwheads: 16

Geom name: ada1
Providers:
1. Name: ada1
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Mode: r0w0e0
   descr: HGST HUS722T2TALA604
   lunid: 50014ee26929ff50
   ident: WCC6N4ZFKK8H
   rotationrate: 7200
   fwsectors: 63
   fwheads: 16
# gpart show
=>       40  1953525088  ada0  GPT (932G)
         40        1024     1  freebsd-boot (512K)
       1064     2096120     2  freebsd-ufs (1.0G)
    2097184    16777216     3  freebsd-swap (8.0G)
   18874400     4194304     4  freebsd-ufs (2.0G)
   23068704   209715200     5  freebsd-ufs (100G)
  232783904    44040192     6  freebsd-ufs (21G)
  276824096  1676701031     7  freebsd-ufs (800G)
 1953525127           1        - free - (512B)
# df -h
Filesystem    Size   Used   Avail   Capacity   Mounted on
/dev/ada0p2   992M   256M   656M    28%        /
devfs         1.0K   1.0K   0B      100%       /dev
/dev/ada0p4   1.9G   517M   1.3G    28%        /tmp
/dev/ada0p5   97G    8.7G   80G     10%        /usr
/dev/ada0p6   20G    5.3G   13G     28%        /home/svm
/dev/ada0p7   774G   148G   626G    19%        /var

Будем создавать, точно такую схему разделов, за исключением раздела var, он получиться на новом диске намного больше.

Удаляем разметку на всякий случай

# gpart destroy -F ada1
ada1 destroyed

Создаем разметку GPT

# gpart create -s gpt ada1
ada1 created

Пишем загрузчик

# gpart add -b 40 -s 512k -t freebsd-boot ada1
ada1p1 added
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1
partcode written to ada1p1
bootcode written to ada1

Создаем корневой раздел

# gpart add -t freebsd-ufs -s 1g ada1
ada1p2 added

Создаем swap

# gpart add -s 8g -t freebsd-swap ada1
ada1p3 added

Создаем последовательно другие разделы. Разделу ada1p7 (var) отдаем все оставшееся место

# gpart add -t freebsd-ufs -s 100g ada1
ada1p5 added
# gpart add -t freebsd-ufs -s 21g ada1
ada1p6 added
# gpart add -t freebsd-ufs ada1
ada1p7 added

Проверяем

# gpart show
=>      40  1953525088  ada0   GPT (932G)
        40        1024     1   freebsd-boot (512K)
      1064     2096120     2   freebsd-ufs (1.0G)
   2097184    16777216     3   freebsd-swap (8.0G)
  18874400     4194304     4   freebsd-ufs (2.0G)
  23068704   209715200     5   freebsd-ufs (100G)
 232783904    44040192     6   freebsd-ufs (21G)
 276824096  1676701031     7   freebsd-ufs (800G)
1953525127           1         - free - (512B)

=>     40  3907029088   ada1   GPT (1.8T)
       40        1024      1   freebsd-boot (512K)
     1064     2097152      2   freebsd-ufs (1.0G)
  2098216    16777216      3   freebsd-swap (8.0G)
 18875432     4194304      4   freebsd-ufs (2.0G)
 23069736   209715200      5   freebsd-ufs (100G)
232784936    44040192      6   freebsd-ufs (21G)
276825128  3630204000      7   freebsd-ufs (1.7T)

Форматируем

# newfs -U /dev/ada1p2
# newfs -U /dev/ada1p4
# newfs -U /dev/ada1p5
# newfs -U /dev/ada1p6
# newfs -U /dev/ada1p7

Так как это почтовый сервер, остановим сервисы во избежание коллизий.

# service postfix stop
# service dovecot stop
# service apache24 stop

Приступаем к dump/restore

# mount /dev/ada1p2 /mnt 
# cd /mnt 
# dump -0 -f - /dev/ada0p2 | restore -r -f -
# umount /mnt
# mount /dev/ada1p4 /mnt
# cd /mnt
# dump -0 -f - /dev/ada0p4 | restore -r -f -
# umount /mnt
# mount /dev/ada1p5 /mnt
# cd /mnt
# dump -0 -f - /dev/ada0p5 | restore -r -f -
# umount /mnt
# mount /dev/ada1p6 /mnt
# cd /mnt
# dump -0 -f - /dev/ada0p6 | restore -r -f -
# umount /mnt
# mount /dev/ada1p7 /mnt
# cd /mnt
# dump -0 -f - /dev/ada0p7 | restore -r -f -
# umount /mnt

Так как делаю удаленно, то правлю fstab, старый диск отключу потом, как ни будь. Сперва на новом диске правим

# mount /dev/ada1p2 /mnt && cd /mnt
# ee /etc/fstab
# Device        Mountpoint   FStype Options Dump    Pass#
/dev/ada0p2     /            ufs    rw      1       1
/dev/ada0p3     none         swap   sw      0       0
/dev/ada0p4     /tmp         ufs    rw      2       2
/dev/ada0p5     /usr         ufs    rw      2       2
/dev/ada0p6     /home/svm    ufs    rw      2       2
/dev/ada0p7     /var         ufs    rw      2       2

меняем ada0 на ada1

# umount /mnt

И на старом, должно получиться везде примерно так

# cat /etc/fstab
# Device        Mountpoint   FStype Options Dump   Pass#
/dev/ada1p2     /            ufs    rw      1      1
/dev/ada1p3     none         swap   sw      0      0
/dev/ada1p4     /tmp         ufs    rw      2      2
/dev/ada1p5     /usr         ufs    rw      2      2
/dev/ada1p6     /home/svm    ufs    rw      2      2
/dev/ada1p7     /var         ufs    rw      2      2
# reboot

Все заняло по времени – 5,5 часов.

image_pdfimage_print

Leave a Reply

Your email address will not be published. Required fields are marked *