PermLUG
|
Пермская группа пользователей Linux |
|
ОблакоВход для пользователейНавигация |
RAID1(mirror) and LVM2![]() Для обеспечения отказоустойчивости сети, в большинстве наших серверов стоят несколько жёстких дисков, объединённых в дисковый массив с избыточностью (RAID) первого уровня, т.е. зеркалирование. Как показала практика, при обслуживании таких дисков могут возникать сложности. В данной статье описывается перенос системы сервера gate.itc с обычного диска на два в составе software RAID1.
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 fd Linux raid autodetect
/dev/hda2 14 77 514080 82 Linux swap / Solaris
/dev/hda3 78 9729 77529690 fd Linux raid autodetect
После этого копируем содержимое главной загрузочной записи и таблицы разбиения (mrb+pt) на диск /dev/hdc: dd if=/dev/hda of=/dev/hdc bs=512 count=1 Подгружаем необходимые модули ядра: modprobe -v md-mod modprobe -v raid1 modprobe -v dm-mirror Создаём массивы RAID: mdadm --create /dev/md0 --auto=yes --raid-devices=2 --level=1 /dev/hda1 /dev/hdc1 mdadm --create /dev/md1 --auto=yes --raid-devices=2 --level=1 /dev/hda3 /dev/hdc3 В короткой записи:
mdadm -C /dev/md0 --a yes -n 2 -l 1 /dev/hd{a,c}1
mdadm -C /dev/md1 --a yes -n 2 -l 1 /dev/hd{a,c}3
Теперь устройство /dev/md0 будет использоваться для /boot, а /dev/md1 мы подготовим для логических дисков: pvcreate /dev/md1 vgcreate sysvg /dev/md1 lvcreate -n lvroot -L 20G sysvg lvcreate -n lvvar -L 30G sysvg lvcreate -n lvsrv -l 6128 sysvg Значение параметра -l 6128 взято из оставшегося незанятого пространства в sysvg командой vgdisplay sysvg Далее создаём файловые системы: mkfs.ext2 /dev/md0 mkfs.ext3 /dev/mapper/sysvg-lvroot mkfs.reiserfs /dev/mapper/sysvg-lvvar mkfs.reiserfs /dev/mapper/sysvg-lvsrv После этого монтируем фс для дальнейшего переноса:
mkdir /mnt/newgate
mount /dev/mapper/sysvg-lvroot /mnt/newgate
mkdir /mnt/newgate/{var,boot,srv}
mount /dev/md0 /mnt/newgate/boot
mount /dev/mapper/sysvg-lvvar /mnt/newgate/var
mount /dev/mapper/sysvg-lvsrv /mnt/newgate/srv
mount /dev/hdb1 /mnt/hdb1
Переносим систему: cp -au /mnt/hdb1/* /mnt/newgate chroot /mnt/newgate mount -t proc proc /proc mount -t sysfs sysfs /sys cat /proc/mounts > /etc/mtab Дело осталось за малым, но очень важным: сделать, чтобы это всё загружалось. Вносим необходимые изменения в файл /etc/fstab. Создаём образ initrd.
mkinitrd /myinitrd.gz
mkdir /myinitrd
cd /myinitrd
gunzip -c /myinitrd.gz | cpio -id
cp /sbin/{mdadm,lvm}.static bin
ln -sf mdadm.static bin/mdadm
ln -sf lvm.static bin/vgchange
Редатируем файл init. Перед строками echo Creating root device. mkrootdev -t ext3 -o defaults,ro /dev/mapper/sysvg-lvroot добавляем echo Activating RAID device mdadm -A /dev/md1 --auto=yes /dev/hda3 /dev/hdc3 echo Activating logical volumes vgchange -ay и сохраняем. Теперь запаковываем find . | cpio -H newc -o | gzip -9 -c > /boot/initrd-lvm.gz Последний штрих - настройка GRUB. Редактируем /boot/grub/menu.lst:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core LVM (hda)
root (hd0,0)
kernel /vmlinuz ro root=/dev/mapper/sysvg-lvroot rhgb quiet
initrd /boot/initrd-lvm.gz
title Fedora Core LVM (hdc)
root (hd1,0)
kernel /vmlinuz ro root=/dev/mapper/sysvg-lvroot rhgb quiet
initrd /boot/initrd-lvm.gz
устанавливаем GRUB в MBR: grub-install /dev/hda И на всякий случай: grub-install /dev/hdc Выключаем компьютер, снимаем старый диск. Загружаем с жёсткого диска. Всё готово!
|
Новые записи в блогахАктивные обсуждения форума
|
| Пермская группа пользователей Linux, 2003—2008 |
Комментарии
Все вставки типа:
и прошу считать глюком движка, их там не должно быть
Действительно глюки.