GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mencerminkan Partisi Swap, Boot dan Root di CentOS/RHEL 7 Menggunakan Utilitas mdadm

Ini diperlukan ketika tidak ada kartu pengontrol RAID yang tersedia untuk server dan satu-satunya solusi adalah RAID perangkat lunak. Postingan ini membuat perubahan pada partisi, jadi jika ada data yang ada pada disk apa pun yang digunakan untuk tujuan ini, data tersebut harus dicadangkan sebelum membuat larik RAID sesuai dengan praktik terbaik standar.

1. Untuk mencerminkan disk, informasi tentang partisi harus diperoleh. Ini dapat dilakukan dengan salah satu perintah berikut:

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

2. Tabel partisi harus dikloning dengan menggunakan perintah berikut:

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

3. Setelah mengkloning partisi, drive baru membutuhkan GUID:

# sgdisk -G /dev/sdb

4. Semua partisi yang akan dicerminkan harus memiliki 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. Buat perangkat RAID baru pada partisi dari disk baru pada partisi boot yang setara pada disk baru (jadi jika /boot dipasang di /dev/sda1, pada perangkat RAID itu harus di /dev/sdb1)

# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1 --metadata=1.0
Catatan :Jika metadata bukan 1.0, grub tidak akan bisa membacanya.

6. Buat sistem file yang sama dengan yang digunakan oleh partisi /boot/efi. Biasanya, sistem vfat adalah sistem default:

# mkfs.vfat /dev/md1

7. Array raid baru harus di-mount dan juga file dari partisi /boot saat ini harus disalin:

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

8. Partisi /boot saat ini harus di-unmount dan yang baru harus menggantikannya:

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

9. Untuk menyelesaikan proses mirroring, disk lama harus ditambahkan ke array baru:

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

10. Status RAID dapat dipantau dengan perintah berikut:

# mdadm -D /dev/md1

11. Untuk boot dari disk RAID, file /etc/fstab harus diedit, tetapi untuk itu diperlukan UUID perangkat baru:

# blkid | grep md1

12. UUID yang diperoleh dari langkah sebelumnya harus menggantikan yang lama di /etc/fstab. File dapat diedit menggunakan vi dan lebih baik untuk mengomentari baris saat ini dan menambahkannya lagi tepat di bawah, tetapi tentu saja dengan UUID diubah:

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

Untuk partisi LVM (gunakan indeks yang berbeda untuk perangkat baru)

1. Perangkat RAID harus dibuat pada partisi yang memiliki indeks yang sama dengan yang sekarang:

# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2 --metadata=1.2
Catatan :metadata 1.2 membuat area metadata yang dicadangkan di awal disk. Ini mungkin mempengaruhi alokasi PV sehingga ada kemungkinan untuk menemukan kesalahan dengan perintah pvmove, yang akan digunakan pada langkah berikutnya. Jadi, untuk melewati kesalahan semacam ini, metadata 1.0 dapat digunakan.

2. Array baru ini perlu ditambahkan ke grup volume yang sama, di mana perangkat lvm saat ini berada:

# vgextend vgname /dev/md2

3. Luasan fisik perlu dipindahkan dari partisi lama ke array baru (ini akan memakan waktu untuk diselesaikan):

# pvmove /dev/sda2 /dev/md2

4. Setelah itu partisi lama harus dihapus dari grup volume dan dari LVM:

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

5. Agar tidak menemukan kesalahan yang terkait dengan LVM, nilai parameter use_lvmetad harus diubah dari 1 menjadi 0 dalam file /etc/lvm/lvm.conf:

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

Kemudian, lvm2-lvmetad layanan harus dihentikan, dinonaktifkan, dan disembunyikan:

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

6. Untuk menyelesaikan proses mirroring, partisi lama harus ditambahkan ke array:

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

7. Status RAID dapat dipantau dengan perintah berikut:

# mdadm -D /dev/md2

Untuk SWAP pada partisi terpisah dan tidak di bawah LVM

1. Untuk swap array RAID perlu dibuat sedikit berbeda dan perintah berikut dapat digunakan, dengan asumsi swap berada di bawah sda3:

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

2. Status RAID dapat dipantau dengan perintah berikut:

# mdadm -D /dev/md/swap

3. Setelah partisi boot, swap, dan root dicerminkan, metadata perlu dipindai dan ditempatkan di dalam /etc/mdadm.conf berkas

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

4. Kemudian, /etc/default/grub file perlu diperbarui dengan UUID baru di GRUB_CMDLINE_LINUX baris:

UUID dapat diperoleh dengan perintah berikut:

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

Edit file grub, dengan menambahkan entri baru:

# 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. Kemudian, perbarui grub2.cfg berkas:

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

6. Perbarui bootmgr EFI. Untuk itu, entri boot EFI yang lama harus dihapus:

# efibootmgr -v | grep Boot

output (contoh perintah efibootmgr dari Server virtual):

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

Berdasarkan output dari perintah ini, entri boot EFI harus dihapus dengan perintah berikut:

# efibootmgr -b 1 -B

Dalam hal ini hanya satu entri dan nomornya adalah 1. Setelah itu, kedua partisi EFI perlu ditambahkan ke 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. Gambar initramfs harus dibuat ulang menggunakan mdadmconf :

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

8. Nyalakan ulang mesin untuk memeriksa apakah semuanya berfungsi sebagaimana mestinya dan juga apakah perangkat RAID baru sedang digunakan.


Cent OS
  1. Cara Menginstal MariaDB di CentOS 7 / RHEL 7

  2. Cara membuat dan mengaktifkan Partisi Swap di Centos / RHEL 8

  3. CentOS / RHEL 7 :Cara mengekstrak gambar initramfs dan mengedit/melihatnya

  1. CentOS / RHEL 7 :Cara mengganti nama grup volume untuk root dan swap

  2. Cara mengkonfigurasi relai smtp postifx di CentOS/RHEL 5 dan 6

  3. Cara membuat wadah LXC menggunakan lxcbr0 dan virbr0 di CentOS/RHEL

  1. CentOS / RHEL 7 :Cara menghapus gambar penyelamatan menggunakan kotor

  2. Cara Membuat Antarmuka Jembatan Menggunakan nmcli di CentOS/RHEL 7 dan 8

  3. Cara men-debug proses boot systemd di CentOS/RHEL 7 dan 8