GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come eseguire il mirroring di partizioni di scambio, avvio e root in CentOS/RHEL 7 utilizzando l'utilità mdadm

Ciò è necessario quando non è disponibile una scheda controller RAID per il server e l'unica soluzione è il RAID software. Questo post apporta modifiche alle partizioni, quindi se sono presenti dati esistenti su qualsiasi disco utilizzato per questo scopo, è necessario eseguirne il backup prima di creare l'array RAID secondo le migliori pratiche standard.

1. Per eseguire il mirroring del disco, è necessario ottenere informazioni sulla partizione. Questo può essere fatto con uno dei seguenti comandi:

# parted /dev/sda u s p
# fdisk -l /dev/sda

2. La tabella delle partizioni deve essere clonata utilizzando il seguente comando:

# sgdisk -R /dev/sdb /dev/sda

3. Dopo aver clonato la partizione, la nuova unità necessita di un GUID:

# sgdisk -G /dev/sdb

4. Tutte le partizioni di cui verrà eseguito il mirroring devono avere il flag 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. Crea un nuovo dispositivo RAID sulla partizione dal nuovo disco sulla partizione di avvio equivalente sul nuovo disco (quindi se /boot è montato su /dev/sda1, sul dispositivo RAID deve essere su /dev/sdb1)

# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1 --metadata=1.0
Nota :se i metadati non sono 1.0, grub non sarà in grado di leggerli.

6. Creare lo stesso filesystem utilizzato dalla partizione /boot/efi. Di solito, il sistema vfat è quello predefinito:

# mkfs.vfat /dev/md1

7. Il nuovo array raid deve essere montato e anche i file dalla partizione /boot corrente devono essere copiati:

# mkdir /mnt/md1/efi
# mount /dev/md1 /mnt/md1/efi
# rsync -a /boot/ /mnt/md1/
# sync
# umount /mnt/md1/efi
# rmdir /mnt/md1

8. La partizione /boot corrente deve essere smontata e quella nuova deve prendere il suo posto:

# umount /boot/efi
# mount /dev/md1 /boot/efi

9. Per completare il processo di mirroring, il vecchio disco deve essere aggiunto al nuovo array:

#mdadm /dev/md1 -a /dev/sda1

10. Lo stato RAID può essere monitorato con il seguente comando:

# mdadm -D /dev/md1

11. Per eseguire l'avvio dal disco RAID, è necessario modificare il file /etc/fstab, ma per questo è necessario l'UUID del nuovo dispositivo:

# blkid | grep md1

12. L'UUID ottenuto dal passaggio precedente deve sostituire quello vecchio in /etc/fstab. Il file può essere modificato usando vi ed è meglio commentare la riga corrente e aggiungerla di nuovo appena sotto, ma ovviamente con UUID modificato:

# cat /etc/fstab
#UUID=6d36b3b0-0238-4c86-9368-f60b571fbab9 /boot xfs defaults 0 0
UUID="new UUID"                           /boot xfs defaults 0 0

Per la partizione LVM (usa un indice diverso per il nuovo dispositivo)

1. Il dispositivo RAID deve essere creato sulla partizione che ha lo stesso indice di quella corrente:

# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2 --metadata=1.2
Nota :metadata 1.2 crea un'area riservata ai metadati all'inizio del disco. Ciò potrebbe influire sull'allocazione del PV, quindi è possibile che si verifichino errori con il comando pvmove, che verrà utilizzato nel passaggio successivo. Quindi, per aggirare questo tipo di errori, è possibile utilizzare i metadati 1.0.

2. Questo nuovo array deve essere aggiunto allo stesso gruppo di volumi, in cui si trova il dispositivo lvm corrente:

# vgextend vgname /dev/md2

3. Le estensioni fisiche devono essere spostate dalla vecchia partizione al nuovo array (il completamento dell'operazione richiederà del tempo):

# pvmove /dev/sda2 /dev/md2

4. Dopodiché la vecchia partizione deve essere rimossa dal gruppo di volumi e da LVM:

# vgreduce vgname /dev/sda2
# pvremove /dev/sda2

5. Per non riscontrare errori relativi a LVM, il valore del parametro use_lvmetad deve essere modificato da 1 a 0 all'interno del file /etc/lvm/lvm.conf:

# vi /etc/lvm/lvm.conf
...............
use_lvmetad = 0
...............

Quindi, il lvm2-lvmetad il servizio deve essere interrotto, disabilitato e mascherato:

# systemctl stop lvm2-lvmetad.service
# systemctl disable lvm2-lvmetad.service --now
# systemctl disable lvm2-lvmetad.socket --now
# systemctl mask lvm2-lvmetad.socket

6. Per completare il processo di mirroring, la vecchia partizione deve essere aggiunta all'array:

# mdadm /dev/md2 -a /dev/sda2

7. Lo stato RAID può essere monitorato con il seguente comando:

# mdadm -D /dev/md2

Per lo SWAP su una partizione separata e non sotto LVM

1. Per lo scambio, l'array RAID deve essere creato in modo leggermente diverso e possono essere utilizzati i seguenti comandi, supponendo che lo scambio sia in sda3:

# mdadm --create swap --level=1 --raid-devices=2 missing /dev/sdb3
# mkswap /dev/md/swap
# mdadm /dev/md/swap -a /dev/sda3

2. Lo stato RAID può essere monitorato con il seguente comando:

# mdadm -D /dev/md/swap

3. Dopo aver eseguito il mirroring delle partizioni di avvio, di scambio e di root, i metadati devono essere scansionati e inseriti in /etc/mdadm.conf file

# mdadm --examine --scan >/etc/mdadm.conf

4. Quindi, /etc/default/grub il file deve essere aggiornato con i nuovi UUID su GRUB_CMDLINE_LINUX riga:

Gli UUID possono essere ottenuti con il seguente comando:

# mdadm -D /dev/md* | grep UUID

Modifica il file grub, aggiungendo le nuove voci:

# 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. Quindi, aggiorna grub2.cfg file:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

6. Aggiorna EFI bootmgr. Per questo, la vecchia voce di avvio EFI deve essere rimossa:

# efibootmgr -v | grep Boot

output(esempio di comando efibootmgr da un Server virtuale):

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

Sulla base dell'output di questo comando, le voci di avvio EFI devono essere eliminate con il seguente comando:

# efibootmgr -b 1 -B

In questo caso è solo una voce e il suo numero è 1. Successivamente, entrambe le partizioni EFI dovranno essere aggiunte a bootmgr:

# 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. L'immagine initramfs deve essere ricostruita usando mdadmconf :

# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak
# dracut -f --mdadmconf

8. Riavvia la macchina per verificare se tutto funziona come dovrebbe e se vengono utilizzati i nuovi dispositivi RAID.


Cent OS
  1. Come creare e abilitare la partizione di scambio su Centos / RHEL 8

  2. CentOS / RHEL 7:come rinominare il gruppo di volumi per root e swap

  3. Come configurare l'inoltro SMTP di Postifx in CentOS/RHEL 5 e 6

  4. Come disabilitare NUMA sui caricatori di avvio EFI utilizzando GRUB2 (CentOS/RHEL 6)

  5. Come creare un'interfaccia bridge utilizzando nmcli in CentOS/RHEL 7 e 8

Come aumentare le dimensioni dello scambio su RHEL 8 / CentOS 8

RHEL 8 / CentOS 8 recupera la password di root

Come installare MariaDB su CentOS 8 / RHEL 8

Come installare MariaDB su CentOS 6 / RHEL 6

CentOS / RHEL 7:come reimpostare la password di root

Come avviare la modalità di soccorso o la modalità di emergenza tramite Systemd in CentOS/RHEL 7 e 8