Клонирование жесткого диска в ОС Linux

raver (raver AT smtp DOT ru)

[Эта статья посвящена клонированию информации с одного жесткого диска на другой.]

1) У Вас в сервере есть 2 жестких диска IDE допустим /dev/hda и /dev/hdb или SCSI или SATA - тогда /dev/sda и /dev/sdb - неважно вообщем - применимо для любых жестких дисков и даже RAID массивов, если они видны для системы.

2) Если жесткие диски одной МОДЕЛИ, МАРКИ и ОБЪЕМА - тогда:

Жесткий диск на который будет производится клонирование, не должен быть примонтирован партициями к каталогу(ам).

	dd if=/dev/hda of=/dev/hdb bs=1M 
	(Клонирование будет производиться порциями по 1-му мегабайту)
3) Если жесткие диски неодинаковые и возможно разного объема - тогда:

Допустим у Вас есть на 1-м жестком диске 3 партиции ext2fs, ext3fs, reiserfs - без разницы, и swap.

    /dev/hda1 - / (root партиция) объемом 12,066 GB - файловая система reiserfs
    /dev/hda5 - swap (swap партиция) объемом 1,024 GB - файловая система swap
    /dev/hda6 - /home (home партиция) объемом 50,043 GB - файловая система ext3fs
На втором жестком диске нет ничего, тогда:

Есть утилита cfdisk - запускаем - по умолчанию она покажет /dev/hda с выше перечисленными партициями. Тогда запускаем так - cfdisk /dev/hdb - теперь она покажет /dev/hdb голый.

С ее помощью создаем точно такие же партиции (тип Linux и тип Linux swap для /dev/hdb5) такого же объема как и на /dev/hda .

Примечание: /dev/hda1 а потом сразу /dev/hda5 - все просто потому что /dev/hda1 - это Primary раздел, а /dev/hda5 и /dev/hda6 - Logical разделы, поэтому создается такая нумерация.

Создали, записали таблицу (Write функция в cfdisk).

Далее создаем файловые системы на /dev/hdb1 и /dev/hdb6 (на swap партиции ничего создавать не надо)

	mkfs.reiserfs /dev/hdb1
	mkfs.ext3 /dev/hdb6
Создали.

А теперь все просто (Монтировать к каталогам НЕ НАДО только созданные партиции) :

	dd if=/dev/hda1 of=/dev/hdb1 bs=1M
	dd if=/dev/hda6 of=/dev/hdb6 bs=1M
Дождались? - все клонирование завершено. Но Вам же еще нужен загрузчик системы для второго жесткого диска - верно? Тогда рассмотрю пример с lilo загрузчиком.
	lilo -M /dev/hdb (lilo возьмет конфиг с 1-ого жесткого диска)
либо
	mount -t reiserfs /dev/hdb1 /mnt/123
	lilo -C /mnt/123/etc/lilo.conf -M /dev/hdb (уже c 2-ого жесткого диска)
Вот и все - lilo взял ваш конфиг на /dev/hda1 из файла /etc/lilo.conf или же со 2-го жесткого диска и основываясь на нем проинсталлировал себя в MBR на 2-ой жесткий диск. Все - система полностью сдублирована и готова к старту со 2-го жесткого диска.

Примечание: в /mnt/123/etc/lilo.conf и /mnt/123/etc/fstab указан жесткий диск и партиции /dev/hda (/dev/hda1) - поэтому, чтобы система все-таки стартовала при отказе 1-го жесткого диска - надо его сделать Primary Master, потому как во время клонирования он был Primary Slave (я надеюсь перемычки Вы менять на жестком диске умеете). Хотя можно перед установкой lilo просто отредактировать конфиг /mnt/123/etc/lilo.conf и конфиг /mnt/123/etc/fstab - заменив в них /dev/hda на /dev/hdb ,Естественно уже на втором жестком диске примонтировав его root партицию командой mount -t reiserfs /dev/hdb1 /mnt/123 к примеру ;)

Статья взята с сайта OpneNet.

[ опубликовано 27/12/2005 ]

Эта статья посвящена клонированию информации с одного жесткого диска на другой. - Клонирование жесткого диска в ОС Linux   Версия для печати