GNU/Linux >> Znalost Linux >  >> Cent OS

Jak používat mdadm k vytvoření softwarového zrcadla nad vícecestnými zařízeními

Problém

Nástroj mdadm byl použit k vytvoření softwarového zrcadla RAID pomocí dvou zařízení-mapovač-multipath zařízení:

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

Nastavení bylo poté potvrzeno:

# /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

Vzhledem k tomu, že jsou zobrazeny skutečné názvy vícecestných zařízení (/dev/dm-N), jsou také ověřena mapování přívětivějších názvů (/dev/mapped/ocrp1):

# /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

Protože se tyto pohodlné názvy mapují na stejná vícecestná zařízení, nastavení se ukázalo jako správné. Po restartu mdadm zobrazí následující:

# /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 je aktivní, ale nepoužívá vícecestná zařízení podle očekávání.

Řešení

To je ve skutečnosti problém s načasováním. Během spouštění systému se zobrazí soubor /etc/rcN.d skripty se spouštějí mdadm dříve, než jsou zařízení s více cestami detekována a připravena. Toto je v podstatě sporná podmínka, protože rozpoznání většího počtu vícecestných zařízení trvá déle a mdadm může být spuštěn před dokončením vícecestného zpracování.

Řešením je přidat potřebné ovladače a zařízení souborového systému do /initrd tak, aby byly dostupné jádru při bootování. To umožní jádru začít zpracovávat vícecestná zařízení dříve.

Poznámka :Soubor Linux kernel /vmlinuz je vytvořen s podporou pouze pro některá velmi základní zařízení. Obslužné nástroje souborového systému a běžné ovladače zařízení jsou kompilovány samostatně a zabaleny do souboru /initrd (počáteční ramdisk). Zavaděč GRUB nebo LILO musí nejprve umístit obsah souboru /initrd do paměti a poté načíst jádro. Jádro pak použije počáteční ramdisk k získání potřebných ovladačů zařízení pro přístup ke kořenovému systému souborů. Pak se jádro přepne na používání skutečného kořenového souborového systému a uvolní paměť používanou obrazem paměti /initrd.

Tento chytrý přístup umožňuje poskytnout jednomu obrazu jádra sadu ovladačů zařízení přizpůsobenou pro každý systém, aniž by se plýtvalo systémovou pamětí pro uložení ovladače zařízení a kódu obslužného programu souborového systému, který se nikdy nepoužívá.

Chcete-li vytvořit vlastní soubor /initrd včetně podpory více cest, použijte níže uvedenou techniku:

1. Vytvořte nový soubor initrd včetně ovladače multipath, device-mapper-multipath a ovladače HBA:

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

Chcete-li udělat totéž na CentOS/RHEL 6 a 7, podívejte se na níže uvedený příspěvek.

Jak znovu sestavit „initramfs“ pomocí Multipath v CentOS/RHEL 6 a 7

2. Ověřte soubor /etc/mdadm.conf je nakonfigurován pro zařízení 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. Zkopírujte nový obraz ramdisku do spouštěcího umístění očekávaného zavaděčem:

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

4. Chcete-li použít nový obraz ramdisku, přidejte do konfiguračního souboru zavaděče /boot/grub/grub.conf novou položku:

title MDADM-MP
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-mp.img
Poznámka :Podle potřeby změňte vzorovou stanzu GRUB. Vaše verze jádra a kořenové zařízení se budou jistě lišit od tohoto příkladu.

Při používání CentOS/RHEL 7 a grub2 si prosím přečtěte níže uvedený příspěvek pro přesné kroky.

CentOS / RHEL 7:Jak upravit argumenty GRUB2 pomocí grubby

5. Restartujte systém a vyberte položku MDADM-MP z nabídky GRUB.

Nápověda :Pokud stále nevidíte používaná zařízení s více cestami, budete muset přidat spouštěcí skript ke spuštění mdadm jako poslední krok spouštění. Jedním ze způsobů, jak toho dosáhnout, je přidat potřebný příkaz do /etc/rc.local, pokud nechcete psát úplný servisní skript /etc/init.d/.


Cent OS
  1. Jak vytvořit swap v Linuxu

  2. Jak vytvořit odkládací soubor v Linuxu

  3. Jak vytvořit vlastní rotaci souboru protokolu pomocí logrotate v Linuxu

  1. Jak používat auditd ke sledování mazání souborů v Linuxu

  2. Jak vytvořit oddíly a systémy souborů na zařízeních DM-Multipath

  3. Jak nakonfigurovat existující skupinu svazků Lvm pro použití DM-Multipath

  1. Jak vytvořit soubor v Ansible

  2. Jak nainstalovat a používat Fail2ban na RHEL 8 / CentOS 8

  3. Jak používat Správce souborů v cPanel