Vyhledávání na webu

Jak obnovit data a znovu vytvořit neúspěšné softwarové pole RAID – část 8


V předchozích článcích této série RAID jste přešli z nuly na RAID hrdinu. Prozkoumali jsme několik softwarových konfigurací RAID a vysvětlili jsme základy každé z nich spolu s důvody, proč byste se měli přiklonit k jedné nebo druhé v závislosti na vašem konkrétním scénáři.

V této příručce probereme, jak v případě selhání disku přestavět softwarové pole RAID bez ztráty dat. Pro stručnost budeme zvažovat pouze nastavení RAID 1 – ale koncepty a příkazy platí pro všechny případy stejně.

Scénář testování RAID

Než budete pokračovat, ujistěte se, že jste nastavili pole RAID 1 podle pokynů uvedených v části 3 této série: Jak nastavit pole RAID 1 (Mirror) v systému Linux.

Jediné variace v našem současném případě budou:

1) jinou verzi CentOS (v7), než která je použita v tomto článku (v6.5), a
2) různé velikosti disku pro /dev/sdb a /dev/sdc (8 GB každý).

Kromě toho, pokud je SELinux povolen v režimu vynucení, budete muset přidat odpovídající štítky do adresáře, kam budete připojovat zařízení RAID. V opačném případě se při pokusu o připojení setkáte s touto varovnou zprávou:

Můžete to opravit spuštěním:


restorecon -R /mnt/raid1

Nastavení monitorování RAID

Existuje celá řada důvodů, proč může úložné zařízení selhat (SSD však výrazně snížily pravděpodobnost, že k tomu dojde), ale bez ohledu na příčinu si můžete být jisti, že problémy mohou nastat kdykoli a musíte být připraveni vyměnit vadné zařízení. a zajistit dostupnost a integritu vašich dat.

Nejprve jedna rada. I když můžete zkontrolovat /proc/mdstat a zkontrolovat stav svých RAID, existuje lepší a časově úspornější metoda, která spočívá ve spuštění mdadm v monitoru + skenování. režim, který bude odesílat upozornění e-mailem předem definovanému příjemci.

Chcete-li to nastavit, přidejte následující řádek do /etc/mdadm.conf:


MAILADDR user@<domain or localhost>

V mém případě:


MAILADDR gacanepa@localhost

Chcete-li spustit mdadm v režimu sledování + skenování, přidejte jako root následující položku crontab:


@reboot /sbin/mdadm --monitor --scan --oneshot

Ve výchozím nastavení mdadm zkontroluje pole RAID každých 60 sekund a v případě zjištění problému odešle upozornění. Toto chování můžete upravit přidáním volby --delay do položky crontab výše spolu s množstvím sekund (například --delay 1800 znamená 30 minut).

Nakonec se ujistěte, že máte nainstalovaný Mail User Agent (MUA), jako je mutt nebo mailx. V opačném případě neobdržíte žádná upozornění.

Za minutu uvidíme, jak vypadá upozornění zaslané mdadm.

Simulace a výměna neúspěšného úložného zařízení RAID

K simulaci problému s jedním z úložných zařízení v poli RAID použijeme možnosti --manage a --set-faulty takto:


mdadm --manage --set-faulty /dev/md0 /dev/sdc1  

Výsledkem bude, že /dev/sdc1 bude označen jako vadný, jak můžeme vidět v /proc/mdstat:

Ještě důležitější je, podívejme se, zda jsme obdrželi e-mailové upozornění se stejným upozorněním:

V tomto případě budete muset odebrat zařízení ze softwarového pole RAID:


mdadm /dev/md0 --remove /dev/sdc1

Poté jej můžete fyzicky odebrat z počítače a nahradit jej náhradním dílem (/dev/sdd, kde byl dříve vytvořen oddíl typu fd):


mdadm --manage /dev/md0 --add /dev/sdd1

Naštěstí pro nás systém automaticky začne znovu sestavovat pole s částí, kterou jsme právě přidali. Můžeme to otestovat tak, že označíme /dev/sdb1 jako vadné, odstraníme jej z pole a ujistíme se, že soubor tecmint.txt je stále přístupný na / mnt/raid1:


mdadm --detail /dev/md0
mount | grep raid1
ls -l /mnt/raid1 | grep tecmint
cat /mnt/raid1/tecmint.txt

Obrázek výše jasně ukazuje, že po přidání /dev/sdd1 do pole jako náhrady za /dev/sdc1 systém provedl automatické sestavení dat bez zásahu z naší strany.

I když to není striktně vyžadováno, je skvělý nápad mít po ruce náhradní zařízení, aby bylo možné proces výměny vadného zařízení za dobrý disk provést během okamžiku. Chcete-li to provést, znovu přidejte /dev/sdb1 a /dev/sdc1:


mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md0 --add /dev/sdc1

Zotavení ze ztráty redundance

Jak bylo vysvětleno dříve, mdadm automaticky obnoví data, když jeden disk selže. Co se ale stane, když selžou 2 disky v poli? Pojďme simulovat takový scénář označením /dev/sdb1 a /dev/sdd1 jako chybné:


umount /mnt/raid1
mdadm --manage --set-faulty /dev/md0 /dev/sdb1
mdadm --stop /dev/md0
mdadm --manage --set-faulty /dev/md0 /dev/sdd1

Pokusy o opětovné vytvoření pole stejným způsobem, jakým bylo v tuto chvíli vytvořeno (nebo pomocí volby --assume-clean), mohou vést ke ztrátě dat, takže by to mělo být ponecháno jako poslední možnost.

Zkusme obnovit data z /dev/sdb1, například do podobného diskového oddílu (/dev/sde1 – všimněte si, že to vyžaduje vytvoření oddílu zadejte fd do /dev/sde, než budete pokračovat) pomocí ddrescue:


ddrescue -r 2 /dev/sdb1 /dev/sde1

Upozorňujeme, že až do tohoto okamžiku jsme se nedotkli /dev/sdb nebo /dev/sdd, oddílů, které byly součástí pole RAID.

Nyní znovu sestavíme pole pomocí /dev/sde1 a /dev/sdf1:


mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[e-f]1

Upozorňujeme, že v reálné situaci obvykle použijete stejné názvy zařízení jako u původního pole, tedy /dev/sdb1 a /dev/sdc1 za vadné disky byly nahrazeny novými.

V tomto článku jsem se rozhodl použít další zařízení k opětovnému vytvoření pole se zcela novými disky a vyhnout se záměně s původními neúspěšnými disky.

Až budete dotázáni, zda chcete pokračovat v psaní pole, zadejte Y a stiskněte Enter. Pole by mělo být spuštěno a měli byste být schopni sledovat jeho průběh pomocí:


watch -n 1 cat /proc/mdstat

Po dokončení procesu byste měli mít přístup k obsahu vašeho RAID:

souhrn

V tomto článku jsme se zabývali tím, jak se zotavit po selháních RAID a ztrátách redundance. Je však třeba si uvědomit, že tato technologie je řešením úložiště a NENAHRAzuje zálohy.

Principy vysvětlené v této příručce platí pro všechna nastavení RAID stejně, stejně jako koncepty, kterými se budeme zabývat v další a poslední příručce této řady (správa RAID).

Máte-li jakékoli dotazy k tomuto článku, neváhejte nám napsat poznámku pomocí formuláře níže. Těšíme se na setkání s Vámi!