To je vyžadováno, když pro server není k dispozici žádná karta řadiče RAID a jediným řešením je softwarový RAID. Tento příspěvek provádí změny v oddílech, takže pokud existují nějaká existující data na jakémkoli disku používaném pro tento účel, měla by být před vytvořením pole RAID zálohována podle standardních doporučených postupů.
1. Pro zrcadlení disku je třeba získat informace o oddílu. To lze provést jedním z následujících příkazů:
# parted /dev/sda u s p # fdisk -l /dev/sda
2. Tabulku oddílů je třeba naklonovat pomocí následujícího příkazu:
# sgdisk -R /dev/sdb /dev/sda
3. Po naklonování oddílu potřebuje nový disk GUID:
# sgdisk -G /dev/sdb
4. Všechny diskové oddíly, které budou zrcadleny, musí mít příznak RAID:
# parted /dev/sda setraid on # parted /dev/sdb set raid on # parted /dev/sdb set raid on # parted /dev/sdb set raid on
5. Vytvořte nové zařízení RAID na oddílu z nového disku na ekvivalentním spouštěcím oddílu na novém disku (takže pokud je /boot připojen na /dev/sda1, na zařízení RAID musí být na /dev/sdb1)
# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1 --metadata=1.0Poznámka :Pokud metadata nejsou 1.0, grub je nebude moci číst.
6. Vytvořte stejný souborový systém jako ten, který používá oddíl /boot/efi. Obvykle je výchozím systémem vfat:
# mkfs.vfat /dev/md1
7. Nové pole raid musí být připojeno a také musí být zkopírovány soubory z aktuálního oddílu /boot:
# mkdir /mnt/md1/efi # mount /dev/md1 /mnt/md1/efi # rsync -a /boot/ /mnt/md1/ # sync # umount /mnt/md1/efi # rmdir /mnt/md1
8. Aktuální oddíl /boot musí být odpojen a nový musí nahradit jeho místo:
# umount /boot/efi # mount /dev/md1 /boot/efi
9. K dokončení procesu zrcadlení je třeba přidat starý disk do nového pole:
#mdadm /dev/md1 -a /dev/sda1
10. Stav pole RAID lze sledovat pomocí následujícího příkazu:
# mdadm -D /dev/md1
11. Aby bylo možné zavést systém z disku RAID, je třeba upravit soubor /etc/fstab, ale k tomu je vyžadováno UUID nového zařízení:
# blkid | grep md1
12. UUID získané v předchozím kroku musí nahradit staré v /etc/fstab. Soubor lze upravovat pomocí vi a je lepší okomentovat aktuální řádek a přidat jej znovu hned pod, ale samozřejmě se změněným UUID:
# cat /etc/fstab #UUID=6d36b3b0-0238-4c86-9368-f60b571fbab9 /boot xfs defaults 0 0 UUID="new UUID" /boot xfs defaults 0 0
Pro oddíl LVM (pro nové zařízení použijte jiný index)
1. Zařízení RAID musí být vytvořeno na oddílu, který má stejný index jako aktuální:
# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2 --metadata=1.2Poznámka :metadata 1.2 vytváří vyhrazenou oblast metadat na začátku disku. To může ovlivnit alokaci PV, takže existuje šance, že u příkazu pvmove dojde k chybám, který bude použit v dalším kroku. Aby se tento druh chyb vyhnul, lze použít metadata 1.0.
2. Toto nové pole je třeba přidat do stejné skupiny svazků, ve které leží aktuální zařízení lvm:
# vgextend vgname /dev/md2
3. Fyzické oblasti je třeba přesunout ze starého oddílu do nového pole (dokončení bude nějakou dobu trvat):
# pvmove /dev/sda2 /dev/md2
4. Poté musí být starý oddíl odstraněn ze skupiny svazků az LVM:
# vgreduce vgname /dev/sda2 # pvremove /dev/sda2
5. Aby nedošlo k žádným chybám souvisejícím s LVM, musí být hodnota parametru use_lvmetad změněna z 1 na 0 v souboru /etc/lvm/lvm.conf:
# vi /etc/lvm/lvm.conf ............... use_lvmetad = 0 ...............
Poté lvm2-lvmetad službu je třeba zastavit, deaktivovat a zamaskovat:
# systemctl stop lvm2-lvmetad.service # systemctl disable lvm2-lvmetad.service --now # systemctl disable lvm2-lvmetad.socket --now # systemctl mask lvm2-lvmetad.socket
6. K dokončení procesu zrcadlení je třeba přidat starý oddíl do pole:
# mdadm /dev/md2 -a /dev/sda2
7. Stav pole RAID lze sledovat pomocí následujícího příkazu:
# mdadm -D /dev/md2
Pro SWAP na samostatném oddílu a ne pod LVM
1. Pro swap je potřeba vytvořit pole RAID trochu jinak a lze použít následující příkazy za předpokladu, že swap je pod sda3:
# mdadm --create swap --level=1 --raid-devices=2 missing /dev/sdb3 # mkswap /dev/md/swap # mdadm /dev/md/swap -a /dev/sda3
2. Stav pole RAID lze sledovat pomocí následujícího příkazu:
# mdadm -D /dev/md/swap
3. Po zrcadlení bootovacího, odkládacího a kořenového oddílu je třeba naskenovat metadata a umístit je do /etc/mdadm.conf soubor
# mdadm --examine --scan >/etc/mdadm.conf
4. Poté /etc/default/grub soubor je třeba aktualizovat pomocí nových UUID na GRUB_CMDLINE_LINUX řádek:
Identifikátory UUID lze získat pomocí následujícího příkazu:
# mdadm -D /dev/md* | grep UUID
Upravte soubor grub přidáním nových položek:
# vi /etc/default/grub #GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet" GRUB_CMDLINE_LINUX="crashkernel=auto rd.md.uuid=first uuid rd.md.uuid=second uuid rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet"
5. Poté aktualizujte soubor grub2.cfg soubor:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
6. Aktualizujte EFI bootmgr. K tomu je třeba odstranit starou spouštěcí položku EFI:
# efibootmgr -v | grep Boot
output (příklad příkazu efibootmgr z virtuálního serveru):
BootCurrent: 0001 BootOrder: 0001,0006,0008,0004,0000,0005 Boot0000* Windows Boot Manager Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...N............... Boot0001* Oracle VM Server HD(1,800,3f800,91dfa48e-aad0-4a31-9ffe-e4356d8a36c6)File(\EFI\REDHAT\SHIM.EFI) Boot0004* Generic Usb Device Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,) Boot0005* CD/DVD Device Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,) Boot0006* WDC WD10EZEX-08WN4A0 BIOS(2,0,00)..BO Boot0008* IBA CL Slot 00FE v0113 BIOS(6,0,00)..BO
Na základě výstupu tohoto příkazu je třeba spouštěcí položky EFI odstranit pomocí následujícího příkazu:
# efibootmgr -b 1 -B
V tomto případě se jedná pouze o jednu položku a její číslo je 1. Poté bude třeba do bootmgr přidat oba oddíly EFI:
# efibootmgr -c -d /dev/sda -p1 -l \\EFI\\redhat\\shimx64.efi -L "Oracle Linux RAID SDA" # efibootmgr -c -d /dev/sdb -p1 -l \\EFI\\redhat\\shimx64.efi -L "Oracle Linux RAID SDB"
7. Obraz initramfs je nutné znovu sestavit pomocí mdadmconf :
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak # dracut -f --mdadmconf
8. Restartujte počítač, abyste zkontrolovali, zda vše funguje, jak má, a také, zda se používají nová zařízení RAID.