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

Cara menggunakan mdadm untuk membuat cermin perangkat lunak di atas perangkat multipath

Masalahnya

Alat mdadm digunakan untuk membuat mirror RAID perangkat lunak menggunakan dua perangkat device-mapper-multipath:

# /sbin/mdadm /dev/md0 --create --verbose --level=1 --raid-devices=2 /dev/mapper/ocrp1 /dev/mapper/ocrmirrorp1

Penyiapan kemudian dikonfirmasi:

# /sbin/mdadm --detail /dev/md0
...
  Number   Major   Minor   RaidDevice State
    0     253        2        0      active sync   /dev/dm-2
    1     253        3        1      active sync   /dev/dm-3

Karena nama perangkat multipath yang sebenarnya (/dev/dm-N) ditampilkan, pemetaan nama yang lebih ramah (/dev/mapped/ocrp1) juga diverifikasi:

# /bin/ls -l /dev/mpath/
lrwxrwxrwx 1 root root 7 Apr 23 11:15 ocrp1 -> ../dm-2
lrwxrwxrwx 1 root root 7 Apr 23 11:15 ocrmirrorp1 -> ../dm-3
# /bin/ls -l /dev/mapper/
brw-rw---- 1 root disk 253,   2 Apr 23 11:15 ocrp1
brw-rw---- 1 root disk 253,   3 Apr 23 11:15 ocrmirrorp1

Karena nama-nama yang mudah digunakan ini dipetakan ke perangkat multipath yang sama, pengaturannya telah terbukti benar. Setelah reboot, mdadm menampilkan yang berikut:

# /sbin/mdadm --detail /dev/md0
...
Number   Major   Minor   RaidDevice State
  0       8       97        0      active sync   /dev/sdg1
  1       8      113        1      active sync   /dev/sdh1

RAID aktif tetapi tidak menggunakan perangkat multipath seperti yang diharapkan.

Solusinya

Ini sebenarnya masalah waktu. Selama boot sistem, /etc/rcN.d skrip memulai mdadm sebelum perangkat multipath terdeteksi dan siap. Ini pada dasarnya adalah kondisi balapan karena sejumlah besar perangkat multipath membutuhkan waktu lebih lama untuk dikenali dan mdadm dapat dijalankan sebelum pemrosesan multipath selesai.

Solusinya adalah dengan menambahkan penangan dan perangkat sistem file yang diperlukan ke dalam /initrd file sehingga ini akan tersedia untuk kernel pada saat boot. Ini akan memungkinkan kernel untuk mulai memproses perangkat multipath lebih awal.

Catatan :File /vmlinuz kernel Linux dibuat dengan dukungan hanya untuk beberapa perangkat yang sangat mendasar. Handler sistem file dan driver perangkat umum dikompilasi secara terpisah dan dikemas dalam file /initrd (ramdisk awal). Bootloader GRUB atau LILO harus terlebih dahulu menempatkan konten file /initrd ke dalam memori dan kemudian memuat kernel. Kernel kemudian menggunakan ramdisk awal untuk mendapatkan driver perangkat yang diperlukan untuk mengakses sistem file root. Kemudian kernel beralih menggunakan sistem file root yang sebenarnya dan membebaskan memori yang digunakan oleh image memori /initrd.

Pendekatan cerdas ini memungkinkan satu imej kernel disediakan dengan set driver perangkat yang disesuaikan untuk setiap sistem, tanpa membuang memori sistem untuk menyimpan driver perangkat dan kode pengendali sistem file yang tidak pernah digunakan.

Untuk membuat file /initrd kustom termasuk dukungan multipath, gunakan teknik di bawah ini:

1. Buat file initrd baru termasuk multipath, device-mapper-multipath, dan driver HBA:

# /sbin/mkinitrd -v /root/initrd-mp.img 2.6.18-prep --with=multipath --with=dm-multipath --with=lpfc --omit-raid-modules

Untuk melakukan hal yang sama pada CentOS/RHEL 6 dan 7, silakan lihat postingan di bawah ini.

Cara Membangun Kembali "initramfs" dengan Multipath di CentOS/RHEL 6 dan 7

2. Verifikasi file /etc/mdadm.conf dikonfigurasi untuk perangkat RAID:

# /bin/cat /etc/mdadm.conf
DEVICE /dev/mapper/*
ARRAY /dev/md0 uuid=ccfe8a98:ea584ff2:2fad9d51:305ea2da
devices=/dev/mapper/ocrp1,/dev/mapper/ocrmirrorp1 level=raid1

3. Salin image ramdisk baru ke lokasi boot yang diharapkan oleh bootloader:

# /bin/cp /root/initrd-mp.img /boot/

4. Tambahkan entri baru ke file konfigurasi bootloader /boot/grub/grub.conf untuk menggunakan image ramdisk baru:

title MDADM-MP
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-mp.img
Catatan :Ubah contoh bait GRUB sebagaimana mestinya. Versi kernel dan perangkat root Anda pasti akan berbeda dari contoh ini.

Saat menggunakan CentOS/RHEL 7 dan grub2, silakan lihat posting di bawah ini untuk langkah-langkah yang tepat.

CentOS / RHEL 7 :Cara Memodifikasi Argumen GRUB2 dengan grubby

5. Reboot sistem Anda dan pilih entri MDADM-MP dari menu GRUB.

Petunjuk :Jika Anda masih tidak melihat perangkat multipath yang digunakan, Anda perlu menambahkan skrip start-up untuk menjalankan mdadm sebagai langkah boot terakhir. Salah satu cara untuk melakukannya adalah dengan menambahkan perintah yang diperlukan ke /etc/rc.local jika Anda tidak ingin menulis skrip layanan /etc/init.d/ lengkap.


Cent OS
  1. Cara Membuat Swap di Linux

  2. Cara menggunakan auditd untuk memantau penghapusan file di Linux

  3. Cara membuat partisi dan sistem file pada perangkat DM-Multipath

  1. Cara membuat file swap di Linux

  2. Cara Membuat Rotasi File Log Kustom dengan logrotate di Linux

  3. Cara Mengonfigurasi Grup Volume Lvm yang Ada untuk Menggunakan DM-Multipath

  1. Cara Membuat File di Ansible

  2. Cara Memasang dan Menggunakan Fail2ban di RHEL 8 / CentOS 8

  3. Cara menggunakan Manajer File di cPanel