Установка Gentoo на software Raid
Рассмотрим основные моменты, связанные с подготовкой и установкой Gentoo на softraid.
Опорная статья по установке Gentoo
Загрузка модулей
livecd ~ # modprobe raid0 livecd ~ # modprobe raid1 livecd ~ # modprobe dm-mod
Подготовка дисков
В наличии два диска /dev/sda/ и /dev/sda/
- sda1 - загрузочный раздел (raid1)
- sda2 - swap (no raid)
- sda3 - пусть будет корневой раздел (raid1)
- sda5 - это будет 'быстрый' раздел (raid0)
Диски до 2TB
cfdisk /dev/sda
Name Flags Part Type FS Type [Label] Size (MB) -------------------------------------------------------------------------------------------------------------------- sda1 Boot Primary Linux raid autodetect 509.97 sda2 Primary Linux swap / Solaris 1003.49 sda3 Logical Linux raid autodetect 208000.89 sda5 Logical Linux raid autodetect 40542.41
Поставить тип разделов 0xFD - Linux raid autodetect
Копирование структуры диска
sfdisk -d /dev/sda | sfdisk /dev/sdb
Диски более 2TB
parted /dev/sda
(parted) mklabel gpt (parted) mkpart primary 2048s 256mb (parted) mkpart primary 256mb 4608mb (parted) mkpart primary 4608mb 84608mb (parted) mkpart primary 84608mb 84608.001mb (parted) mkpart primary 84608mb -0mb (parted) print free
(parted) set 1 "raid" on (parted) set 2 "raid" on (parted) set 3 "raid" on (parted) set 5 "raid" on (parted) print free
Копирование структуры диска
sgdisk -R=/dev/sdb /dev/sda sgdisk -G /dev/sdb parted /dev/sdb print free
sys-block/parted
sys-apps/gptfdisk
Создание raid
mdadm --create /dev/md1 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1 mdadm --create /dev/md3 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda3 /dev/sdb3 mdadm --create /dev/md5 --level=0 --raid-devices=2 --metadata=0.90 /dev/sda5 /dev/sdb5
Metadata 0.90 поддерживает максимум 28 устройств в массиве, при этом максимальный размер одного устройства 2TB.
Metadata 0.90 нужно использовать, если необходимо, чтобы массив собирался встроенными средствами ядра (например, при размещении корня на RAID, если не поддерживается вызов mdadm в initramfs при загрузке).
Metadata 1.x эти ограничения существенно повышены (чуть менее 2^16 устройств и 2^64 секторов на устройстве).
При использовании metadata 1.x не нужно ставить тип раздела 0xFD.
Нужно подождать пока закончится синхронизация
cat /proc/mdstat
md3 : active raid1 sdb3[1] sda3[0] 203125760 blocks [2/2] [UU] [=================>...] resync = 85.1% (172914688/203125760) finish=7.0min speed=71312K/sec
Форматирование
mke2fs /dev/md1 mkswap /dev/sda2 && mkswap /dev/sdb2 mke2fs -j /dev/md3 mke2fs -j /dev/md5
Монтирование
mount /dev/md3 /mnt/gentoo mkdir /mnt/gentoo/boot mount /dev/md1 /mnt/gentoo/boot/
Установка ядра
Настройки ядра в будущей системе
make menuconfig
Device drivers ---> [*] Multi-device support (RAID and LVM) ---> <*> RAID support [*] Autodetect RAID arrays during kernel boot < > Linear (append) mode <*> RAID-0 (striping) mode <*> RAID-1 (mirroring) mode < > RAID-10 (mirrored striping) mode (EXPERIMENTAL) < > RAID-4/RAID-5/RAID-6 mode < > Multipath I/O support < > Faulty test module for MD <*> Device mapper support [ ] Device mapper debugging support < > Crypt target support < > Snapshot target <*> Mirror target <*> Zero target < > Multipath target < > I/O delaying target (EXPERIMENTAL) [ ] DM uevents (EXPERIMENTAL) < > Bad Block Relocation Device Target (EXPERIMENTAL) (NEW)
Настройка fstab
Настройки fstab в будущей системе
/etc/fstab
... /dev/md1 /boot ext2 noauto,noatime 1 2 /dev/md3 / ext3 noatime 0 1 /dev/sda2 none swap sw 0 0 /dev/sdb2 none swap sw 0 0 ...
Установка софта
Установка mdadm в будущей системе
emerge mdadm
Так как в нашей новой системе имена разделов должны соответствовать желаемым, необходимо добавить записи в конфигурационный файл
mdadm --detail --scan >> /etc/mdadm.conf
(verbose?)
/etc/mdadm.conf
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=08b3edc9:397a6496:6ad4196c:f68a683c devices=/dev/sda1,/dev/sdb1 ARRAY /dev/md3 level=raid1 num-devices=2 metadata=0.90 UUID=8e7dc20a:d3cb8b2e:e7d2a0d0:295dc588 devices=/dev/sda3,/dev/sdb3 ARRAY /dev/md5 level=raid0 num-devices=2 metadata=0.90 UUID=46444395:8b2ec5a4:28f67b4d:daf55811 devices=/dev/sda5,/dev/sdb5
GRUB
Установка GRUB на два диска
grub
grub> root (hd0,0) grub> setup (hd0) grub> root (hd1,0) grub> setup (hd1) grub> quit
/boot/grub/grub.conf
# Ядро собрано make title Gentoo 2.6.27 root (hd0,0) kernel /boot/vmlinuz-2.6.27-openvz-chistyakov.1 root=/dev/md3 panic=30 vga=794 # Ядро собрано genkernel title Gentoo Linux 3.10.1-hardened-r1 root (hd0,0) kernel /boot/kernel-genkernel-x86_64-3.10.1-hardened-r1 root=/dev/ram0 real_root=UUID="d5372347-3333-4f43-b875-ad1f7141d6e2" domdadm panic=20 initrd /boot/initramfs-genkernel-x86_64-3.10.1-hardened-r1
Перезагрузка
Перезагрузка
reboot
И остается только надеется на лучшее
Если с первого раза система не загрузилась, то при очередной загрузке с liveCD уже не надо снова создавать raid, что бы создалось устройство /dev/md*/. Восстановить созданный массив командой:
mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1
Хотя есть вариант что они могут автоматически определиться при загрузке, что аналогично команде
mdadm --auto-detect
Обсуждение
очень добротно!
Спасибо, очень помогли!