GNU/Linux >> Znalost Linux >  >> Linux

Proč musí být zařízení raid 10 inicializováno?

Řešení 1:

Raid 1, protože je zrcadlem, závisí na tom, že všechny disky v zrcadle jsou navzájem přesné kopie. Vezměte si svůj náhodný pevný disk a jiný náhodný pevný disk a možná tam máte jiná data, čímž porušujete tento předpoklad. Proto je nutná inicializace. Jednoduše zkopíruje obsah prvního disku na ostatní. Všimněte si, že za určitých podmínek se můžete obejít bez inicializace disků - obvykle nová zařízení již mají všude nuly, takže to můžete jednoduše ignorovat. mdadm možnost --assume-clean dělá to, ale varuje vás:

   --assume-clean

Řekněte mdadm, že pole již existovalo a je známo, že je čisté. Může to být užitečné při pokusu o obnovu po velkém selhání, protože si můžete být jisti, že nebudou ovlivněna žádná data, pokud do pole skutečně nezapíšete. Lze jej také použít při vytváření RAID1 nebo RAID10, pokud se chcete vyhnout počáteční resynchronizaci, avšak tento postup – i když je normálně bezpečný – se nedoporučuje. Toto používejte, pouze pokud opravdu víte, co děláte.

Pokud to neuděláte, existuje nesrovnalost mezi jednotkami a načte se, není známo, co bude jednotka číst. Se souborovým systémem byste měli být docela v bezpečí (ale poznámka níže), protože s největší pravděpodobností napíšete, než si z toho zařízení něco přečtete, a pak máte jasno.

Všimněte si, že alespoň mdadm pro Linux inicializuje pole na pozadí. První vteřinu nad tím můžete vesele vytvořit FS. Výkon bude trpět, dokud nebude dokončena inicializace, ale to je vše.

Ale:

a) Když děláte mkfs některé utility zkontrolují, jestli už na tom disku něco není. I když se to týká pouze několika dobře známých oblastí disku, čte se, než něco napíšete, a tím jste v nebezpečí.

b) Pokud provádíte periodickou resynchronizaci vašeho pole, zařízení RAID neví nic o vašem FS. Jednoduše čte každý blok z každého zařízení a porovnává je. A pokud nepoužíváte copy-on-write FS (např. ZFS nebo BTRFS) a nikdy svůj FS nenaplníte, je naprosto pravděpodobné, že blok zůstane z pohledu FS roky neinicializovaný.

Proč opětovná synchronizace se zařízeními RAID1?

Ze stejného důvodu provádíte opětovnou synchronizaci se zařízeními RAID5 nebo jakoukoli jinou úrovní (kromě RAID0). Čte všechna data a porovnává/ověřuje kontrolní součty RAID (v RAID 5 nebo 6). Pokud došlo k překlopení bitu jakýmkoli způsobem (protože HD paměť se překlopila spontánně, protože mobilní telefony vás a vašich 5 sousedů právě náhodně rušily tuto konkrétní oblast talíře, cokoliv), zjistí nekonzistenci, ale nebude moci pomoci ti. Pokud, OTOH, jeden z pevných disků bude jednoduše hlásit „Nemohu přečíst ten blok“, což je pravděpodobnější u vadného disku, právě jste včas detekovali poruchu a zkrátili jste dobu, po kterou běžíte ve zhoršeném režimu (počítáno od selhání disku, nikoli od okamžiku, kdy si toho všimnete). Raid vám nepomůže, pokud selže jeden disk ao měsíc později selže druhý, pokud si nevšimnete prvního selhání v daném měsíci.

RAID10

Nyní pro RAID10 platí vše výše uvedené. Koneckonců, RAID10 je jen chytrý způsob, jak sdělit 'Dávám svá dvě zařízení RAID1 do páru RAID0'.

Upozornění:

To vše je nedefinované chování. Proč jsem zkontroloval Linux pomocí mdadm , jiné softwarové implementace RAID se mohou chovat odlišně. Jiné verze linuxového jádra a/nebo mdadm nástroje, než které používám, se také mohou chovat jinak.

Řešení 2:

Pamatujte, že RAID 1 je zrcadlo a že RAID 10 je pruh zrcadel.

Otázkou je, na kterém disku v každém zrcadle jsou data platná? V čerstvě vytvořeném poli to nelze poznat, protože disky mohou mít různá data.

Pamatujte také, že RAID pracuje na velmi nízké úrovni; neví nic o souborových systémech nebo jakýchkoli datech, která mohou být uložena na disku. Možná ani neexistuje používaný souborový systém.

Inicializace v těchto polích tedy spočívá v tom, že data z jednoho disku v každém zrcadle jsou zkopírována tak, jak jsou, na druhý disk.

To také znamená, že pole lze bezpečně používat od okamžiku vytvoření a lze jej inicializovat na pozadí; většina řadičů RAID (a linuxový mdraid) tuto možnost má, nebo to dělá automaticky.

Řešení 3:

Počáteční synchronizace je nutná, protože jakékoli rozdíly mezi zrcadly by se během pravidelné kontroly projevily jako chyby.

A měli byste provádět pravidelné kontroly.


Linux
  1. Proč potřebujete vypustit ifconfig pro ip

  2. Co je to linuxový server a proč jej vaše firma potřebuje?

  3. Proč Unixový čas začíná na 1970-01-01?

  1. Proč „ukončit &“ nefunguje?

  2. Proč Ubuntu potřebuje dvě jádra?

  3. Proč Linux potřebuje mít `/dev/cdrom` i `/media/cdrom`?

  1. Proč mě moje potřeba kontroly přiměla přejít na Linux

  2. Hašování hesel a proč to potřebujeme

  3. Proč potřebuje uživatel root oprávnění sudo?