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 setraid 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.0Catatan :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.2Catatan :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.