GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So spiegeln Sie Swap-, Boot- und Root-Partitionen in CentOS/RHEL 7 mit dem mdadm-Dienstprogramm

Dies ist erforderlich, wenn für den Server keine RAID-Controllerkarte verfügbar ist und die einzige Lösung Software-RAID ist. In diesem Beitrag werden Änderungen an Partitionen vorgenommen. Wenn also Daten auf Datenträgern vorhanden sind, die für diesen Zweck verwendet werden, sollten sie vor dem Erstellen des RAID-Arrays gemäß den bewährten Standardverfahren gesichert werden.

1. Um die Festplatte zu spiegeln, müssen Informationen über die Partition eingeholt werden. Dies kann mit einem der folgenden Befehle erfolgen:

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

2. Die Partitionstabelle muss mit dem folgenden Befehl geklont werden:

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

3. Nach dem Klonen der Partition benötigt das neue Laufwerk eine GUID:

# sgdisk -G /dev/sdb

4. Alle zu spiegelnden Partitionen müssen das RAID-Flag haben:

# 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. Erstellen Sie ein neues RAID-Gerät auf der Partition von der neuen Festplatte auf der entsprechenden Boot-Partition auf der neuen Festplatte (wenn also /boot auf /dev/sda1 gemountet ist, muss es auf dem RAID-Gerät auf /dev/sdb1 sein).

# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1 --metadata=1.0
Hinweis :Wenn die Metadaten nicht 1.0 sind, kann Grub sie nicht lesen.

6. Erstellen Sie das gleiche Dateisystem wie das, das von der /boot/efi-Partition verwendet wird. Normalerweise ist das vfat-System das Standardsystem:

# mkfs.vfat /dev/md1

7. Das neue Raid-Array muss gemountet werden und auch die Dateien von der aktuellen /boot-Partition müssen kopiert werden:

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

8. Die aktuelle /boot-Partition muss ausgehängt werden und die neue muss ihren Platz einnehmen:

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

9. Um den Spiegelungsprozess abzuschließen, muss die alte Festplatte zum neuen Array hinzugefügt werden:

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

10. Der RAID-Status kann mit dem folgenden Befehl überwacht werden:

# mdadm -D /dev/md1

11. Um von der RAID-Festplatte zu booten, muss die Datei /etc/fstab bearbeitet werden, aber dafür ist die UUID des neuen Geräts erforderlich:

# blkid | grep md1

12. Die aus dem vorherigen Schritt erhaltene UUID muss die alte in /etc/fstab ersetzen. Die Datei kann mit vi bearbeitet werden und es ist besser, die aktuelle Zeile zu kommentieren und direkt darunter wieder hinzuzufügen, aber natürlich mit geänderter UUID:

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

Für LVM-Partition (verwenden Sie einen anderen Index für ein neues Gerät)

1. Das RAID-Gerät muss auf der Partition erstellt werden, die denselben Index wie die aktuelle hat:

# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2 --metadata=1.2
Hinweis :Metadata 1.2 erstellt einen reservierten Metadatenbereich am Anfang der Festplatte. Dies kann sich auf die PV-Zuweisung auswirken, sodass möglicherweise Fehler mit dem Befehl pvmove auftreten, der im nächsten Schritt verwendet wird. Um diese Art von Fehlern zu umgehen, können Metadaten 1.0 verwendet werden.

2. Dieses neue Array muss zu derselben Volume-Gruppe hinzugefügt werden, in der sich das aktuelle lvm-Gerät befindet:

# vgextend vgname /dev/md2

3. Die physischen Extents müssen von der alten Partition auf das neue Array verschoben werden (dies wird einige Zeit in Anspruch nehmen):

# pvmove /dev/sda2 /dev/md2

4. Danach muss die alte Partition aus der Volume Group und aus LVM entfernt werden:

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

5. Damit keine Fehler im Zusammenhang mit LVM auftreten, muss der Parameterwert use_lvmetad in der Datei /etc/lvm/lvm.conf von 1 auf 0 geändert werden:

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

Dann die lvm2-lvmetad Der Dienst muss gestoppt, deaktiviert und maskiert werden:

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

6. Um den Spiegelungsprozess abzuschließen, muss die alte Partition dem Array hinzugefügt werden:

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

7. Der RAID-Status kann mit folgendem Befehl überwacht werden:

# mdadm -D /dev/md2

Für den SWAP auf einer separaten Partition und nicht unter LVM

1. Für den Austausch muss das RAID-Array etwas anders erstellt werden und die folgenden Befehle können verwendet werden, vorausgesetzt, der Austausch befindet sich unter sda3:

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

2. Der RAID-Status kann mit dem folgenden Befehl überwacht werden:

# mdadm -D /dev/md/swap

3. Nachdem Boot-, Swap- und Root-Partitionen gespiegelt wurden, müssen die Metadaten gescannt und in /etc/mdadm.conf platziert werden Datei

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

4. Dann die /etc/default/grub Datei muss mit den neuen UUIDs auf GRUB_CMDLINE_LINUX aktualisiert werden Zeile:

Die UUIDs können mit dem folgenden Befehl abgerufen werden:

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

Bearbeiten Sie die Grub-Datei, indem Sie die neuen Einträge hinzufügen:

# 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. Aktualisieren Sie dann die grub2.cfg Datei:

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

6. Aktualisieren Sie den EFI-Bootmgr. Dazu muss der alte EFI-Boot-Eintrag entfernt werden:

# efibootmgr -v | grep Boot

Ausgabe (Beispiel für den Befehl efibootmgr von einem virtuellen Server):

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

Basierend auf der Ausgabe dieses Befehls müssen die EFI-Boot-Einträge mit dem folgenden Befehl gelöscht werden:

# efibootmgr -b 1 -B

In diesem Fall gibt es nur einen Eintrag und seine Nummer ist 1. Danach müssen beide EFI-Partitionen zum Bootmgr hinzugefügt werden:

# 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. Das initramfs-Image muss mit mdadmconf neu erstellt werden :

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

8. Starten Sie die Maschine neu, um zu überprüfen, ob alles so funktioniert, wie es sollte, und auch, ob die neuen RAID-Geräte verwendet werden.


Cent OS
  1. So installieren Sie MariaDB unter CentOS 7 / RHEL 7

  2. So erstellen und aktivieren Sie eine Swap-Partition auf Centos / RHEL 8

  3. CentOS / RHEL 7 :So benennen Sie die Volume-Gruppe für Root und Swap um

  4. So erstellen Sie einen LXC-Container mit lxcbr0 und virbr0 in CentOS/RHEL

  5. So erstellen Sie eine Bridge-Schnittstelle mit nmcli in CentOS/RHEL 7 und 8

So erhöhen Sie die Swap-Größe unter RHEL 8 / CentOS 8

RHEL 8 / CentOS 8 stellt das Root-Passwort wieder her

So installieren Sie MariaDB unter CentOS 8 / RHEL 8

So installieren Sie MariaDB unter CentOS 6 / RHEL 6

CentOS / RHEL 7:So setzen Sie das Root-Passwort zurück

So booten Sie in CentOS/RHEL 7 und 8 über Systemd in den Rettungsmodus oder Notfallmodus