Зеркалирование системы на новый диск
Материал из База знаний проекта Russian Fedora
Изначально система установлена на диск /dev/sda. Цель: отзеркалировать её на второй пустой диск /dev/sdb.
Таблица разделов и загрузчик
Дублируем таблицу разделов вместе с загрузчиком:
# dd if=/dev/sda of=/dev/sdb count=1
Перечитываем таблицу разделов:
# sfdisk -R /dev/sdb
Раздел /boot
Допустим, что раздел с /boot находится на /dev/sda1 и имеет размер 500M. Для наших целей надо его немного уменьшить. Убедимся, что в конце раздела достаточно пустого места, в противном случае возможно надо было бы переустанавливать загрузчик:
# hexdump -C /dev/sda1 | tail -3 18800fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 1f400000
Итого, общий размер в 0x1f400000 байт (= 524288000 = 512000k). Данные заканчиваются на 0x18800fe0 байте (= 411045856). Таким образом, места более чем достаточно. Уменьшаем на раздел на 10M:
# e2fsck -f /dev/sda1 # resize2fs /dev/sda1 490M
Копируем исходный раздел на новый диск:
# dd if=/dev/sda1 of=/dev/sdb1
Создаём из них рейд (необходимо использовать метаданные либо версии 0.90, либо 1.0, так как они пишутся в конец раздела):
# mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1
Нас спросят:
mdadm: /dev/sda1 appears to contain an ext2fs file system
size=501760K mtime=Wed Feb 9 23:21:33 2011
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=501760K mtime=Wed Feb 9 23:21:33 2011
Continue creating array?
Нажимаем y.
Рейд запускается и начинает проверку. Наблюдать за процессом можно в файлике /proc/mdstat:
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
511936 blocks [2/2] [UU]
[==>..................] resync = 11.4% (58816/511936) finish=0.5min speed=14704K/sec
unused devices: <none>
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
511936 blocks [2/2] [UU]
unused devices: <none>
Увеличиваем размер файловой системы до максимально возможного (который на 64k меньше исходного засчёт метаданных):
# resize2fs /dev/md0
Остаётся внести полученный массив в /etc/mdadm.conf:
# mdadm --detail --scan >> /etc/mdadm.conf
Перезагружаемся, проверяем что всё работает :)
Зеркалирование разделов в LVM
# pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created # vgextend VolGroup00 /dev/sdb1 Volume group "VolGroup00" successfully extended # lvconvert -m1 /dev/VolGroup00/lv_root VolGroup00/lv_root: Converted: 0,2% ... VolGroup00/lv_root: Converted: 100,0%
Продолжение следует…
