[[ Установка Gentoo на software Raid ]]

Gentoo

Установка 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

Тест hdparm

Форматирование

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




Обсуждение

Сергей Шляхтенко, 2015/08/29 11:25

очень добротно!

Сергей Колесник, 2016/07/12 12:38

Спасибо, очень помогли!

Ваш комментарий. Вики-синтаксис разрешён:
180 +2 = 
 
howto/gentoo/gentooinstallraid.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki