LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> Automatické sledování disků a diskových polí

Monitorování disků a diskových polí - způsob jak odhalit většinu problémů s disky dříve, než vás na ně upozorní vaši uživatelé.

27.5.2012 14:00 | Petr Bravenec | Články autora | přečteno 7435×

Ve svém posledním článku zde na Linuxsoftu jsem se rozepsal o svých zkušenostech s opravami disků pomocí technologie smart. Možná vás při čtení onoho staršího článku napadlo, že pokud disk sám pozná, že je některá část media vadná, bylo by možné využít technologii smart i pro monitorování disků.

I když udělaly disky v loňském roce nepříjemný cenový skok směrem nahoru a ceny se dosud nedostaly na původní úroveň, je cena disků stále poměrně nízká ve srovnání s cenou dat vaší firmy. Zodpovědný správce serveru se proto asi bude snažit zabezpečit data ve svých serverech co nejlépe. Běžným a obvykle dostačujícím opatřením je umístění dat na diskové pole a samozřejmě každodenní, poctivé zálohování.

Data nestačí pouze uložit do diskového pole. Technika není ani všemocná, ani spolehlivá. Diskové pole i disky samotné je nutné neustále monitorovat a hlídat jejich fungování. Kterýkoliv disk může kdykoliv a zcela bez varování odejít do věčných lovišť. Ani diskové pole nemusí být zcela bezproblémové - i když je to celkem vyjímečná událost, může se vám stát, že disk vypadne z pole bez viditelných příčin (vibrace? špatně zasunutý kabel? disk se nestačí roztočit? kdo ví...) A v neposlední řadě jsou to chyby samotného správce serveru, které mohou vést k rozpadu diskového pole. Stačí, když zapomenete označit oblast na disku typem fd (raid autodetect) a zůstane vám tam defaultní 83 (linux). Z takto označené oblasti sice diskové pole poskládáte, ale pohromadě vydrží pouze do prvního restartu, který může přijít klidně až po několika měsících. A ruku na srdce, kontrolujete své servery po každém restartu opravdu tak pečlivě, abyste na podobnou závadu přišli, zvlášť pak v případě, že vše zdánlivě funguje zcela bez problémů? No a hádejte, který disk odejde, když přijde na lámání chleba - myslíte si, že to bude ten, který nebyl do diskového pole připojen a několik měsíců zahálel?

Diskové pole i disky je proto nutné neustále monitorovat a veškeré problémy co nejdříve hlásit.

Monitorování disků

Pro monitorování disků můžete v Linuxu využít program smartd z balíku smartmontools. Balík by měl být prakticky v libovolné distribuci, která připadá v úvahu na serveru. Program by se měl startovat automaticky při startu systému. Program smartd má velmi široké možnosti nastavení a umožňuje vám automaticky testovat a sledovat prakticky jakýkoliv parametr disku, problémy pak dokáže program nahlásit mailem (při napojení pošty na sms bránu se tak můžete o dozvědět o potenciálním problému v rámci několika minut).

I když disky dokáží o své činnosti reportovat poměrně široké množství parametrů, v praxi si pravděpodobně vystačíte s celkem jednoduchým nastavením. O discích vydal velmi rozsáhlou statistickou studii Google, v originále ji můžete najít zde:

http://research.google.com/archive/disk_failures.pdf

V češtině vyšlo na českém internetu množství různých rozborů této studie. Pokud si studii pročtete, pravděpodobně dospějete k názoru, že disk může umřít kdykoliv a bez varování. Stejně tak disk, který hlásí množství různých problémů, může vydržet běžet ještě dlouhá léta. Rozhodně je však ze studie patrné, že už první problém s diskem zvyšuje pravděpodobnost jeho kompletního selhání. Proto může být pro pečlivého správce serveru důležité vyměnit disk už při prvních projevech technických problémů, které by nechaly kohokoliv jiného chladným (pět realokovaných sektorů? to ještě vydrží...), a nečekat na celkové selhání disku.

Program smartd lze nastavit tak, že periodicky testuje disk a veškeré změny nahlásí. V článku se nehodlám zabývat podrobným popisem konfigurace, zájemci nechť si najdou detaily v manuálové stránce. Ukážu pouze na obvyklá, užitečná nastavení.

Konfigurační soubor najdete v /etc/smartd.conf.

Základní nastavení

Pokud chcete v serveru sledovat disky, musíte v prvé řadě programu smartd sdělit, jaké disky v systému máte. Každý konfigurační řádek v smartd.conf začíná označením disku, kterého se řádek týká. Pro každý disk v systému tedy musíte mít nejméně jeden řádek:

/dev/sdx -další-parametry

Místo konkrétního disku můžete napsat i slovo "DEVICESCAN". Potom se bude smartd starat o veškeré disky, které v systému objeví, a to včetně těch, které jsou připojené dodatečně. U serveru to nemusí být na závadu, protože disky se zde asi příliš často za provozu nemění, ale používáte-li například na zálohování disk připojený přes sběrnici ESATA, může docházet k nedorozuměním:

DEVICESCAN -další-parametry

Chyby si můžete nechat posílat mailem, slouží k tomu parametr -M

/dev/sdx -M komu@kam.cz 

Patametrů, které si můžete nechat posílat, je celá řada. Základní kontrolou by mohl být status disku: dobrý/špatný. Přijde-li vám mail s varováním, měli byste okamžitě disk vyměnit, protože smart předpovídá kompletní havárii disku do 24 hodin:

/dev/sdx -M komu@kam.cz -H 

Další kontrolou, kterou byste mohli prověřovat své disky, je zvýšení počtu chyb od poslední kontroly:

/dev/sdx -M komu@kam.cz -l error

Do této kontroly se však zahrnují veškeré parametry, takže disk by vám hlásil i zvýšení teploty o pouhý jeden stupeň. Proto je dobré teplotu ze sledování vyloučit:

/dev/sdx -M komu@kam.cz -l error -I 194

K parametrům můžeme přidat i sledování výsledků testování disku:

/dev/sdx -M komu@kam.cz -l error -l selftest -I 194

Různých testů existuje celá řada, zajemce mohu odkázat na manuálovou stránku smartd.conf. Chcete-li zapnout všechny vhodné kontroly, použijte přepínač -a. Vhodné je i doplnění kontroly realokovaných sektorů a jakoukoli změnu jejich počtu považovat za kritickou (parametr -R 5!):

/dev/sdx -a -R 5! -m komu@kam.cz

Sledování teploty u disků vyžaduje trochu složitější přístup. Studie Google překvapivě říká, že mírně vyšší teploty diskům neškodí, ba naopak se ukazuje, že škodlivé může být přílišné chlazení - setkal jsem se však na internetu s názorem, že vyšší chybovost disků při nižší teplotě je způsobená méně kvalitnější eletřinou (usilovně chladící klimatizace vytváří rušení), ale v originální studii jsem to nenašel. Takže i když jsme v předchozím příkladu teplotu ze sledování vyloučili, v každém případě je užitečné teplotu sledovat a hlásit, pokud vystoupá nad určitou mez, například 40 °C, případně hlásit i příliš rychlý vzestup teploty (může ukazovat na závadu klimatizace).

V následujícím příkladu se kromě ostatních hodnot kontroluje i teplota - hlášení se posílá při změně teploty o 5 °C, informační zpráva se posílá při teplotě 45 °C a za kritickou se považuje teplota 53 °C:

/dev/sdx -a -I 194 -W 5,45,53 -m komu@kam.cz

Disky se při běžné práci programu smartd kontrolují automaticky, bez spouštění rozsáhlejších testů. Pro podrobnější kontrolu můžete využít některý ze tří standardních testů, které technologie nabízí: short (zběžný test s trváním několika minut), long (podrobný test povrchu s trváním několika hodin) a conveyance test (určený pro vyhledávání škod způsobených transportem disku). Ručně můžete testy spustit z povelové řádky:

smartctl -t short       /dev/sdx
smartctl -t long        /dev/sdx
smartctl -t conveyance  /dev/sdx

Úspěšně provedený test vás samozřejmě nezajímá, ale můžete si nechat posílat hlášení o testu neúspěšném, ať už byl spuštěn ručně, nebo automaticky (kontrola je samozřejmě obsažena i v parametru -a):

/dev/sdx -l selftest -M komu@kam.cz

Testy nemusíte spouštět pouze ručně, v konfiguračním souboru smartd.conf si můžete jejich provádění naplánovat například takto:

/dev/sdx -s L/../../7/08 -m komu@kam.cz

Parametry vyžadují trochu bližší komentář, detaily si můžete opět vyhledat v manuálové stránce smartd.conf. Pro naplánování slouží parametr -s. Jeho argumentem je regulární výraz - argumenty tedy můžete řadit takto: (PARAM1|PARAM2|PARAM3). Každý argument má pak tento tvar: T/MM/DD/d/HH a význam zkratek je tento:

  • T - typ testu: S znamená short, L znamená long
  • MM - číslo měsíce uvozené nulou (na dvě místa)
  • DD - číslo dne v měsíci uvozené nulou (na dvě místa)
  • d - číslo dne v týdnu (1=Pondělí, 7=Neděle)
  • HH - hodiny uvozené nulou (na dvě místa)

V časových údajích lze uvést tečky (nahrazují jakoukoliv hodnotu).

Kompletní nastavení smartd

I když vypadají výše uvedené parametry složitě, ve svých serverech mám uvedené pro každý disk pouhé dva řádky:

/dev/sdx -a -I 194 -R 5! -W 5,45,53 -m komu@kam.cz
/dev/sdx -s (L/../../7/08|S/../.././07) -m komu@kam.cz

Pokud si chcete práci ještě více zjednodušit, uveďte místo výčtu konkrétních disků pouze slovo DEVICESCAN. Vystačíte si tak s pouhými dvěma řádky na celý server.

Monitorování diskového pole

Moje zkušenosti s hardwarovými raid řadiči v linuxu nejsou příliš aktuální, ani příliš příznivé. V článku se proto budu věnovat pouze softwarovému raidu spravovanému utilitou mdadm.

Ve srovnání se smartd je program mdadm při sledování disků na parametry nenáročný a stačí mu zadat pouze adresu, na kterou má odesílat chybová hlášení, případně program, který se při chybě spouští.

Program hlásí poštou několik různých událostí:

  • DeviceDisappeared - událost se hlásí, pokud zmizelo celé diskové pole.
  • Fail - událost se hlásí, pokud v diskovém poli havaroval, nebo byl označen jako špatný některý aktivní disk.
  • FailSpare - událost se hlásí, pokud v diskovém poli havaroval, nebo byl označen jako špatný některý náhradní disk.
  • DegradedArray - událost se hlásí, pokud při startu systému nebo diskového pole nebylo diskové pole kompletní, pokud chyběl některý aktivní disk.
  • SparesMissing - událost se hlásí, pokud při startu systému nebo diskového pole nebylo diskové pole kompletní, pokud chyběl některý náhradní disk.

Disková pole se často chovají jinak, než by nezkušený správce serveru očekával. Pokud se dostane některý disk v poli do problémů, zůstane v diskovém poli a snaží se před svým skonem vytvořit co nejvíce dalších problémů. Disk totiž obvykle neumře znenadání, v posledních chvílích se snaží číst nečitelné sektory a zapisovat na nezapisovatelná místa a celý server tak především neskutečně zdržuje. V tuto chvíli byste už ale měli obdržet zprávu od smartd. Na vás pak je, abyste disk označili jako špatný:

mdadm /dev/md1 --fail /dev/sdx1 

nebo jej rovnou odpojili od sběrnice, což už je stav, se kterým se mdadm dovede vypořádat mnohem lépe, než s neochotně umírající bestií.

Teprve po odpojení disku vám diskové pole nahlásí problém. Což už je sice pozdě, ale s předstihem vám zahlásí potenciální problémy obvykle smartd.

Velmi užitečná je však zpráva, že pole nebylo nastartované kompletní. Někdy se totiž stává, že disk, který doposud se zaťatými zuby pracoval, vypnutí už nerozchodí a z pole vypadne. Podobnou situaci si můžete vyrobit snadno i sami, pokud zapomenete označit oblast na disku jako automaticky rozpoznatelný oddíl diskového pole.

Aby vám mdadm hlásil nalezené problémy poštou, musíte jej nastavit. To můžete udělat v zásadě dvěma způsoby: v konfiguračním souboru /etc/mdadm.conf nebo parametry na povelové řádce v init skriptu.

V konfiguračním souboru nastavte parametr MAILADDR:

MAILADDR komu@kam.cz

Nebo v init skriptu nastavte tyto parametry:

mdadm --monitor --scan --mail=kudy@kam.cz

Nastavení parametrů v init skriptech i umístění mdadm.conf se může lišit napříč distribucemi. V Gentoo nastavují mdadm v konfiguračním souboru /etc/mdadm.conf, ale mohu doplnit i jeden parametr navíc do /etc/conf.d/mdadm.conf:

MDADM_OPTS="--syslog --mail=komu@kam.cz"

Ostatní potřebné parametry doplní samotný startovací skript. Aby mdadm disková pole kontroloval, samozřejmě musí být init skript spouštěný při startu systému.

Co říci nakonec? Máte-li svá data rádi, rozhodně používejte disková pole a především zálohujte. Diskové pole je pouze prostředkem, který dokáže zkrátit případné výpadky v činnosti serveru, ale ani při sebelepším monitorování nemusí diskové pole zachránit ani bajt dat. Pomocí monitorování disků však můžete většinu závad odhalit dříve, než vaši uživatelé.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze