GNU/Linux >> Znalost Linux >  >> Cent OS

Jak zrcadlit odkládací, spouštěcí a kořenové oddíly v CentOS/RHEL 7 pomocí nástroje mdadm

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 set  raid 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.0
Pozná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.2
Pozná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.


Cent OS
  1. Jak nainstalovat MariaDB na CentOS 7 / RHEL 7

  2. Jak vytvořit a povolit Swap Partition na Centos / RHEL 8

  3. CentOS / RHEL 7 :Jak přejmenovat skupinu svazků pro root a swap

  1. CentOS / RHEL 7 :Jak extrahovat obrázek initramfs a upravit/zobrazit jej

  2. Jak vytvořit kontejner LXC pomocí lxcbr0 a virbr0 v CentOS/RHEL

  3. Jak ladit proces spouštění systemd v CentOS/RHEL 7 a 8

  1. CentOS / RHEL 7 :Jak odstranit záchranný obraz pomocí grubby

  2. CentOS / RHEL 7 :Jak nastavit datum, čas / NTP a časové pásmo pomocí timedatectl

  3. Jak nakonfigurovat postifx smtp relay v CentOS/RHEL 5 a 6