| XENsource RAID |
|
Сергей Любшин, мой коллега, недавно проделал установку XENSource на RAID. Заметки о процессе - ниже. Любшин Сергей Александрович пишет:
* Может содержать небольшие неточности
Установка XenServer для бедных или программное зеркало в действии.
Почти все было взято с http://www.firstserved.net/blog/2007/06/07/booting-xenserver-or-xenenterprise-from-software-raid/
Предполагается знание ОС Линукс в объеме базового администрирования (у меня такого нет J)
У нас в серваке – 4ре SATA диска. Видятся в Xen как /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd
Устанавливаем XenServer на /dev/sda Виртуальное хранилище пока можно не создавать вообще.
Логинимся, смотрим разделы на /dev/sda fdisk –l /dev/sda
В 4.1 их три: /dev/sda1 (корень), /dev/sda2 (резервный?), /dev/sda3 (пустой)
Создаем на /dev/sdb точно такие же, но тип меняем на fd (Linux raid autodetect)
Создаем ноды для md: mknod /dev/md0 b 9 0
Создаем «битые» зеркала на /dev/sdb mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdb1 missing
Самое интересное – игры с ядром
Разбираем текущее ядро mkdir /root/initrd-raid mkinitrd --fstab=/etc/fstab /root/initrd-raid/initrd-`uname -r`-raid.img `uname -r` cd /root/initrd-raid
Копируем в него драйвера md-raid cp /lib/modules/`uname -r`/kernel/drivers/md/raid*.ko ./lib
Правим init nano init 1. После строки (инит последнего терминала) mknod /dev/ttyS3 c 4 67 Добавляем echo Setting up md slots mknod /dev/md0 b 9 0 mknod /dev/md1 b 9 1 mknod /dev/md2 b 9 2 mknod /dev/md3 b 9 3 (последняя – на будущее) 2. После строк echo Setting up hotplug. hotplug echo Creating block device nodes. mkblkdevs Добавляем загрузку драйвера md-raid echo "Loading raid1.ko module" insmod /lib/raid1.ko 3. После строк stabilized --hash --interval 250 /proc/scsi/scsi mkblkdevs Добавляем echo Starting md supported devices raidautorun /dev/md0 raidautorun /dev/md1 raidautorun /dev/md2 raidautorun /dev/md3 Собираем новое загрузочное ядро (плохо от него точно не станет, поэтому пишем просто поверх старого – хотите, можете сохранить). Напоминаю, мы находимся в каталоге /boot/initrd-raid/ find . -print | cpio -o -Hnewc | gzip -c > /boot/initrd-`uname -r`.img
Перегружаемся, видим сообщения о том, что автоинициализация md прошла и зеркала завелись. Если нет – то где-то ошиблись, нужно проверить что загружается именно новое ядро.
Переезжаем на новый корень: Правим /etc/fstab и /boot/grup/menu.lst Заменяем в них LABEL=xxxxx на /dev/md0
Копируем корень mkfs.ext3 /dev/md0
Глубоко вздыхаем и перегружаемся еще раз. Если загрузились успешно – выдыхаем.
Доделываем зеркала Меняем тип всех разделов на /dev/sda на fd Создаем разделы /dev/sdc1 и /dev/sdd1 на весь размер с типом fd «Чиним» зеркала mdadm -a /dev/md0 /dev/sda1 mdadm –create /dev/md3 –level=1 –raid-devices=2 /dev/sdс1 /dev/sdd1 Создаем файловые системы на свободных разделах mkfs.ext3 /dev/md2 mkfs.ext3 /dev/md3
Имеем: /dev/md0 – Корень /dev/md1 – резерв /dev/md2 – свободно /dev/md3 – свободно
Виртуальных групп у нас нет, потому создаем pvcreate /dev/md2 pvcreate /dev/md3 xe sr-create name-label="LVM-1" shared=false type=lvm device-config-device=/dev/md2 vgscan Запоминаем название виртуальной группы Расширяем эту группу на /dev/md3 vgextend VG_XenStorage-длиннющий_ууид /dev/md3 !По какой-то причине новый размер группы показывается не сразу. Я вечером это проделал, посокрушался что не вышло, а утром размер LVM стал правильным (соответствующим сумме двух разделов)
… В следующей главе – дружим Xen и apcupsd …
-- Любшин Сергей
|