Browse Tag

Raid1

Перенос Linux на Raid1. Лично проверенно на CentOS 5.4

Установленная система на устройство /dev/hda.
Имеются следующие разделы:
/dev/hda1 — смонтирована на /boot
/dev/hda2 — раздел является корнем ФС /
/dev/hda3 — смонтирована как /tmp
swap — СВОП раздел

Есть второй диск /dev/hdb вот на него и надо сделать зеркало.
Запускаем fdisk /dev/hda, делаем все разделы как Linux Raid Autoformat опция t=fd, swap оставляем без изменения.
Далее делаем полностью аналгичные разделы на втором диске проще сделать командой:
sfdisk -d /dev/hda | sfdisk —force /dev/hdb (ключ -d делаем дамп первого диска, опция —force нужна для того если на дисках разное позиционирование головок.)
Смотрим fdisk -l если обра диска одинаковые, продолжаем.
Создаем raid1.
mdadm —create —level=1 raid-devices=2 /dev/md0 /dev/hdb1 missing
mdadm —create —level=1 raid-devices=2 /dev/md1 /dev/hdb2 missing
mdadm —create —level=1 raid-devices=2 /dev/md2 /dev/hdb3 missing

Проверяем командой:
mdadm —detail /dev/md0
mdadm —detail /dev/md1
mdadm —detail /dev/md2
Статистику по нашему raid1.
Далее создаем ФС на наших /dev/md0, /dev/md1, /dev/md2
mkfs.ext3 -j /dev/md0
mkfs.ext3 -j /dev/md1
mkfs.ext3 -j /dev/md2
Ну и про раздел swap не забываем:
mkswap -v1 /dev/hdb4 (v1 новый раздел СВОПА)
Заносим информацию о нашем raid1 в конфигурационный файл, предварительно его создав:
touch /etc/mdadm.conf
mdadm —examine —scan > /etc/mdadm.conf
Подготовка завершена.
Перезагружаемся, грузимся с LiveCD или же установочного диска в режиме F5 (Rescue Mode)
Смотрим mdadm -A —scan
Если разделы не найдены, монтируем /dev/hda2 в какой-нибудь каталог:
mkdir /mnt/oldsystem
mount /dev/hda2 /mnt/oldsystem
Копируем mdadm.conf в нашу виртуальную ФС:
cp /mnt/oldsystem/etc/mdadm.conf /etc
Опять проверяем mdadm -A —scan
Теперь все обнаружилось.
Смонтируем /dev/hda1 и /dev/hda3:
mkdir /mnt/oldsystem/boot
mount /dev/hda1 /mnt/oldsystem/boot
mkdir /mnt/oldsystem/tmp
mount /dev/hda3 /mnt/oldsystem/tmp
Смонтируем наши разделы /dev/md0, /dev/md1, /dev/md2
mkdir /mnt/newsystem
mount /dev/md1 /mnt/newsystem
mkdir /mnt/newsystem/boot
mount /dev/md0 /mnt/newsystem/boot
mkdir /mnt/newsystem/tmp
mount /dev/md2 /mnt/newsystem/tmp
Скопируем все с /dev/hda на /dev/hdb
cd /mnt/oldsystem
cp -a * /mnt/newsystem
Если все скопировалось на ура. Отмонтируем старую систему в обратном порядке.
Далее делаем chroot окружение:
mount -o bind /dev /mnt/newsystem/dev
mount -o bind /selinux /mnt/newsystem/selinux
mount -t proc none /mnt/newsystem/proc
mount -t sysfs none /mnt/newsystem/sys
chroot /mnt/newsystem
Правим fstab:
vi /etc/fstab
Меняем наши разделы на наш райд md* не ПЕРЕПУТАТЬ разделы смотреть выше.
Осталось только подправить загрузчик:
cd /boot/grub
vi grub.conf
Поменять раздел /dev/hda2 на /dev/md1 Не ПЕРЕПУТАТЬ!!!! Все проверить…
Пересоздать образ, сохранив старый!:
cd /boot
mv initrd-2.6.18-164.el5.img initrd-2.6.18-164.el5.img.bak
cd /
mkintrd /boot/initrd-2.6.18-164.el5.img 2.6.18-164.el5
Переписать загрузчик на /dev/hdb
grub
device (hd0) /dev/hdb
root (hd0,0)
setup (hd0)
quit
reboot
Загружаемся при отключенном главном диске… Или выставляем в биосе с чего грузиться, а грузиться надо со второго диска.
Если загрузились, добавляем в наш райд массив второй диск и ждем перестроения.
mdadm —add /dev/md0 /dev/hda1
mdadm —add /dev/md1 /dev/hda2
mdadm —add /dev/md2 /dev/hda3
Ждем перестроения массива:
watch cat /proc/mdstat
После перестроения повторить манипуляции с загрузчиком поменяв диск только:
grub
device (hd0) /dev/hda
root (hd0,0)
setup (hd0)
quit
reboot
И уже загружаемся с нашего Raid1!