Копирование (клонирование) диска FreeBSD
Опубликовано вт, 10/18/2011 - 17:23 пользователем alex1812
В одно прекрасное солнечное утро раздался гневный звонок с жалобой на "тормоза интернета", за ним еще и еще один. Чтож, ничего больше не оставалось делать, как открыть глаза, скинуть ноги со стола и сонно смотреть что творится на шлюзе.
Консоль -
tail -n30 /var/log/messages
сразу выдал -
Sep 18 03:08:20 testvpn kernel: ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=122406015
Sep 18 03:11:11 testvpn kernel: ad0: FAILURE - READ_DMA status=51<READY,DSC,ERROR>
error=40<UNCORRECTABLE> LBA=115634239
Sep 18 03:11:11 testvpn kernel: g_vfs_done():ad0s1f[READ(offset=47981985792, length=16384)]
error = 5
Sep 18 03:27:39 testvpn kernel: ad0: FAILURE - READ_DMA status=51<READY,DSC,ERROR>
error=40<UNCORRECTABLE> LBA=121652927
О чем это говорит? Правильно, о том что винт посыпался .....
Машинка старая, винт IDE на 120 гигов. Порывшись в своих запасах, винта не нашел, пришлось заказывать, а пока загрузился в однопользовательском режиме, fsck вроде исправил ошибки. На всякий случай (на случай перезагрузки сервера) добавил в rc.conf провреку диска при загрузке -
#FSCK
background_fsck="NO"
fsck_y_enable="YES"
На момент прихода нового винта, сервер уже еле дышал, хотя всего неделя прошла.
Итак ставим новый винт параллельно старому.
Винт несколько больше (на 160 Гб), но это нам только лучше.
Просматриваем разделы старого диска и создаем такие же (подобные) на новом -
df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1.9G 207M 1.6G 11% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1d 989M 24K 910M 0% /tmp
/dev/ad0s1f 98G 14G 76G 15% /usr
/dev/ad0s1e 3.9G 1.9G 1.7G 54% /var
Для создания новых разделов и разметки диска можно использовать fdisk и disklabel, но проще sysinstall.
Итак запускаем sysinstall - Configure - Fdisk
Выбираем новый винт -
Создаем раздел - Нажимаем А, т.к. мы будем использовать весь диск, Нажимаем S - делаем загрузочным, W - сохраняем изменения и Q - выход
Выбираем Standart в окне выбора boot-менеджера
Далее переходим в раздел Label и создаем разделы, подобные разделам на старом винте (С - создать) -
Убираем точки монтирования M и сохраняем W
Q - Выход.
После чего создаем файловые системы на созданных разделах
#newfs /dev/ad1s1a
/dev/ad1s1a: 4000.0MB (8192000 sectors) block size 16384, fragment size 2048
using 22 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328, 3763680,
4140032, 4516384, 4892736, 5269088, 5645440, 6021792, 6398144, 6774496,
7150848, 7527200, 7903552
#newfs /dev/ad1s1d
#newfs /dev/ad1s1e
и т.д.
Монтируем вновь созданный раздел
>mount /dev/ad1s1e /mnt
И делаем "копию" -
/mnt/>dump -f- /var | restore -rf-
DUMP: WARNING: should use -L when dumping live read-write filesystems!
DUMP: Date of this level 0 dump: Tue Oct 18 11:42:14 2011
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/ad0s1d (/tmp) to standard output
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 120 tape blocks.
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
warning: ./.snap: File exists
DUMP: DUMP: 102 tape blocks
DUMP: finished in less than a second
DUMP: DUMP IS DONE
Так проделываем для каждого раздела (кроме swap и tmp).
После копирования всех разделов, выключаем сервер, отключаем старый винчестер и грузимся с нового. Ура, все работает!
Интересное на сайте:
Голосов пока нет
Комментарии
Так-так-так, теперь понятно,
Так-так-так, теперь понятно, почему сеть тормозит. У спящего-то админа! :-Р
У спящего админа ничего не
У спящего админа ничего не тормозит, т.к он спит ;)
Пра-а-а-авильно, и все
Пра-а-а-авильно, и все процессы у него запущены в режиме ожидания и только подкорка головного мозга потихоньку стрекочет, записывая бэк-апы. Правда некоторые несознательные гражданочки утверждают, что это храп, но мы-то знаем!... )))
оО ещё фдиск кто то юзает?
оО
ещё фдиск кто то юзает?
в общем тут весь процесс установки
h_ttp://www.dtulyakov.org.ua/content/freebsd-9-gpt-ufs
/bin/dd if=/dev/zero of=/dev/ada1 bs=1024k count=10
/sbin/gpart create -s gpt ada1
/sbin/gpart add -b 34 -s 64k -t freebsd-boot ada1
/sbin/gpart add -s 2G -t freebsd-swap -l swap0 ada1
/sbin/gpart add -t freebsd-ufs -l root0 ada1
/sbin/gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1
/sbin/newfs -U /dev/gpt/root0
и всё можно в фстабе привязаться к /dev/gpt/root0 а не к /dev/ada1s1 и тд (не паримся при смене места в иде)