Disk mirroring

Disk mirroring
« kdy: 07. 09. 2021, 20:06:43 »
Mám dvě otázky k raidu, kde s raidem jsem nikdy nedělal.

1) Když by chtěl k existujícímu disku přidat další, který by měl ten existující zrcadlit, půjde to bez ztráty dat?

2) Když mám dva disky v raidu se zrcadlením, které z raidu odeberu, budou na každém zvlášť data čitelná?


RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #1 kdy: 07. 09. 2021, 20:28:54 »
1) v pripade MD (linux sw raid) je mozne specifikovat stary metadata format, ktery se pouziva pro boot partisny ktere maji byt citelne biosem, ktery o MD nic nevi. Pak potrebujete jen o trocha zmensit partisnu a raid pole vytvorit trikem s disk+missing, a pak pridat druhej disk az pozdeji

Alternativne lze pouzivat DM a raid vytvaret runtime, bez autokonfigurace. Ale to je drbani praveho ucha levou rukou.


2) ano, to je prece smysl toho mirroru. Ale nepocitej s tim, ze to lze bez ztraty dat pridat zpet do mirroru a sesynchronizovat korektne, pokud se nebudes chovat velice specialne k tomu odpojenemu disku (loop/ro a az pak mount)

Re:Disk mirroring
« Odpověď #2 kdy: 09. 09. 2021, 23:13:01 »
Díky.

Když základní deska raid nepodporuje, tak ho nevytvořím ani softwarově?

k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #3 kdy: 10. 09. 2021, 02:57:37 »
Když základní deska raid nepodporuje, tak ho nevytvořím ani softwarově?
nevim co chtel rict RDa tim "biosem, ktery o MD nic nevi", protoze to je vec bootloaderu(a Grub2 umi /boot na raidu,lvm,luks, atd..), kterej v pripade Legacy je v MBR (ktere neni mirrorovane), v pripade UEFI je v EFI oddilu(ktery nemuzes mirrorovat), kazdopadne samozrejme muzes udelat sw raid i kdyby radic raid nepodporoval, NAOPAK i kdyby ho radic podporoval, udelej sw raid ;-)

ad 1) mozna jsou i nejake "magicke" postupy, ale obecne "pridat" non-raid disk do raidu s novym diskem se dela tak, ze:
- na novem disku vytvoris raid1 v degradovanem rezimu
- z puvodniho disku na novej raid zkopirujes data (tim se ulozi zatim jen v tom novem disku)
- puvodni disk pridas do raidu (pret tim je vhodne zalohovat, protoze pri tom pridani se smaze a data v raidu kdyby si spatne zkopiroval, tak uz je nemas :)
- raid provede sync dat na puvodni disk kterej uz ma v raidu

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #4 kdy: 10. 09. 2021, 03:27:52 »
nevim co chtel rict RDa tim "biosem, ktery o MD nic nevi", protoze to je vec bootloaderu(a Grub2 umi /boot na raidu,lvm,luks, atd..), kterej v pripade Legacy je v MBR (ktere neni mirrorovane), v pripade UEFI je v EFI oddilu(ktery nemuzes mirrorovat)

Proc bys ho nemohl mirrorovat? To mi chces rict, ze U/EFI boot je single point of failure?

Smyslem mirroru je prece mit dva (ci vic) zcela identickych disku, abych mohl bootovat z kterehokoliv. Pokud ten mirror nevytvari HW raid, coz je nejspis jednodussi pro EFI a cely bootovaci proces, tak je snad zadouci, abys mel na obou discich stejny obsah. A nez drzet dve EFI partisny ve stejnem stavu rucni synchronizaci, tak bych prave na to pouzil legacy metadat format, s MD superblokem na konci partisny.


k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #5 kdy: 10. 09. 2021, 15:12:30 »
@RDa ok, nikdy sem to nezkoumal, ale asi mas pravdu :) resp. z ArchWiki odkaz na in-depth guide s tim ze to zakoncuje zminkou ze novej Grub (resp. pise v *buntu 20.04) lze nastavit instalaci na vice disku (uz i v UEFI rezimu), takze ESP neni na RAIDu potreba :)

Re:Disk mirroring
« Odpověď #6 kdy: 10. 09. 2021, 16:15:59 »
2) Když mám dva disky v raidu se zrcadlením, které z raidu odeberu, budou na každém zvlášť data čitelná?
Tohle obecně rozhodně neplatí. Pokud budete mít disky z RAIDu, nějaké disky disky z RAIDu odeberete (tolik, kolik daný RAID umožňuje), bude RAID v degradovaném stavu, ale data z toho RAIDu stále přečtete. Ale nepočítejte s tím, že vytáhnete disk z RAIDu, šoupnete ho do jiného počítače jako obyčejný disk a normálně budou data čitelná.

Stačí si uvědomit, že např. RAID 5 ukládá v třídiskové variantě tak, že na jeden disk uloží blok dat, na druhý disk druhý blok dat a na třetí disk XOR těchto dvou bloků. U dalších disků je to prohozené. Ve vícediskových variantách je to podobné, pokaždé tam někde bude XOR dat. Takže pokud z tohohle RAIDu vytáhnete disk, budete v některých blocích mít XOR dvou bloků dat, a z něj data bez jednoho z těch původních bloků nedostanete.

I když nebudu brát tenhle případ a omezím se na RAID 1, pořád je potřeba na tom disku mít uložená nějaká metadata RAIDu navíc oproti běžnému disku. U hardwarového RAIDu navíc těm metadatům typicky rozumí jenom ten hardwarový RAID, takže obnovovat data z disků vytažených z RAIDu je „lahůdka“.

Nic z toho nevylučuje, že půjde jednoduchý disk povýšit na RAID (samozřejmě s přidáním dalších disků) bez nutnosti ručního kopírování všech dat, ale to záleží na možnostech konkrétního RAIDu. A stejně to bude fungovat tak, že si tam ten RAID udělá prostor na svoje metadata a „přepne“ disk do RAIDu.

by_cx

  • ****
  • 290
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #7 kdy: 10. 09. 2021, 17:08:26 »
Pokud vytáhnu disk ze soft RAIDu a dám ho do jiného PC a zároveň na tom disku bude vše potřebné k bootování (EFI oddíl, MBR), tak to normálně naběhne v degradovaném stavu. Bavíme se samozřejmě o Linuxu.

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #8 kdy: 10. 09. 2021, 17:31:28 »
2) Když mám dva disky v raidu se zrcadlením, které z raidu odeberu, budou na každém zvlášť data čitelná?
Tohle obecně rozhodně neplatí. Pokud budete mít disky z RAIDu, nějaké disky disky z RAIDu odeberete (tolik, kolik daný RAID umožňuje), bude RAID v degradovaném stavu, ale data z toho RAIDu stále přečtete. Ale nepočítejte s tím, že vytáhnete disk z RAIDu, šoupnete ho do jiného počítače jako obyčejný disk a normálně budou data čitelná.

Stačí si uvědomit, že např. RAID 5 ukládá v třídiskové variantě tak, že na jeden disk uloží blok dat, na druhý disk druhý blok dat a na třetí disk XOR těchto dvou bloků. U dalších disků je to prohozené. Ve vícediskových variantách je to podobné, pokaždé tam někde bude XOR dat. Takže pokud z tohohle RAIDu vytáhnete disk, budete v některých blocích mít XOR dvou bloků dat, a z něj data bez jednoho z těch původních bloků nedostanete.

Tohle je klasicka Jirsakovina ... vlakno se jmenuje mirroring, tazatel se pta na dva disky v zrcadleni, ale tady se musi rozepisovat o R5 a xorovani.

Pokud by pouzival explicitni DM (device mapper) na tvorbu mirroru (metadata mimo disk), pripadne MD (linux sw raid) se superblokem na konci partisny, tak opravdu lze vzit disk a normalneho precist. Je to nestandardni uziti, ale jde to. Ale pak nepocitejte s tim, ze takovy disk lze zapojit zpet do puvodniho raidu, protoze tam muzete mit jine data - napr. zmenene last access time a pod.

Re:Disk mirroring
« Odpověď #9 kdy: 10. 09. 2021, 17:40:40 »
Pokud vytáhnu disk ze soft RAIDu a dám ho do jiného PC a zároveň na tom disku bude vše potřebné k bootování (EFI oddíl, MBR), tak to normálně naběhne v degradovaném stavu. Bavíme se samozřejmě o Linuxu.
Vy si představujete jeden konkrétní případ, kdy máte vše na dvou discích v RAID 1, ale píšete o tom, jako kdyby to platilo obecně. Jenže to obecné tvrzení neplatí.

Za prvé, RAID nemá nic společného s nějakým nabíháním – nabíhá vám asi systém. Když budete mít samostatný RAID na data, nebude na něm žádný OS a po přendání jednoho disku do jiného PC vám nic nenaběhne, i kdyby tam byl EFI oddíl a MBR (ale co by na RAIDu pro data dělal, že).

Za druhé, když vytáhnete disk z RAID 0, i kdybyste tam měl původně celý systém, nenaběhne vám, protože bude chybět půlka dat. Když vytáhnete jeden disk z RAID 1E, kde byly více než dva disky, nejspíš vám také budou chybět data.

Za třetí, když vytáhnete disk z RAID 5 nebo 6, zase vám tam bude spoustu bloků chybět.

Pokud si představujete svůj domácí počítač, ve kterém máte jen dva disky v softwarovém RAID 1 a máte na obou discích správně udělanou i tu ne-RAID část, naběhne vám opravdu systém jenom s jedním z těch disků a RAID pak bude v degradovaném režimu.

Re:Disk mirroring
« Odpověď #10 kdy: 10. 09. 2021, 17:48:36 »
Tohle je klasicka Jirsakovina ... vlakno se jmenuje mirroring, tazatel se pta na dva disky v zrcadleni, ale tady se musi rozepisovat o R5 a xorovani.
Když tazatel napíše, že o RAIDu vůbec nic neví, je trochu podivné předpokládat, že používá absolutně správnou terminologii. Stejně tak je podivné předpokládat, že pochopí, že odpovědi se týkají právě jen této situace a přidáním třetího disku se může situace diametrálně změnit. A předpokládat, že je automaticky řeč o linuxovém RAIDu, je vyloženě datům nebezpečné.

Až si tazatel koupí dvoudiskový NAS, do kterého dá dva disky v RAIDu v domnění, že kdyby se cokoli stalo, vytáhne disk z NASu, strčí ho do linuxového počítače a data bez problémů přečte, budete mu bezplatně obnovovat data, až zjistí, že to takhle jednoduché není?

by_cx

  • ****
  • 290
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #11 kdy: 10. 09. 2021, 17:58:36 »
Citace
Vy si představujete jeden konkrétní případ, kdy máte vše na dvou discích v RAID 1, ale píšete o tom, jako kdyby to platilo obecně. Jenže to obecné tvrzení neplatí.

Já si nic nepředstavuju, jen vycházím z původní otázky.

Citace
2) Když mám dva disky v raidu se zrcadlením, které z raidu odeberu, budou na každém zvlášť data čitelná?

Nemusel jsem mluvit o bootu, to už jsem si tam domyslel sám na základě toho messu co tu vzniknul, takže to ještě zjednoduším. Oba disky, pokud byly v SW RAIDu 1 v Linuxu, budou obsahovat stejná data a půjdou přečíst každý zvlášť. HW RAID bych tu úplně vynechal, protože ten, původní tazatel, téměř jistě nemá.

Re:Disk mirroring
« Odpověď #12 kdy: 10. 09. 2021, 18:07:51 »
Já si nic nepředstavuju, jen vycházím z původní otázky.
Ke které jste si leccos domyslel, například že jde o Linux a že tam bude celý systém.

Oba disky, pokud byly v SW RAIDu 1 v Linuxu, budou obsahovat stejná data a půjdou přečíst každý zvlášť. HW RAID bych tu úplně vynechal, protože ten, původní tazatel, téměř jistě nemá.
V softwarovém RAIDu v Linuxu budou spíš oddíly než disky. Vedle softwarového RAIDu v Linuxu neexistuje jen hardwarový RAID, ale také jinak řešený softwarový RAID – třeba takový, který je součástí řadiče disků (dnes už to mají snad všechny „konzumní“ základní desky), nebo RAID v komerčním NASu (který je sice postaven na linuxovém RAIDu, ale často má něco navíc). Mimochodem, jsme v sekci hardware, takže já bych za ten váš předpoklad linuxového softwarového RAIDu na PC rozhodně ruku do ohně nedal.

by_cx

  • ****
  • 290
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #13 kdy: 10. 09. 2021, 22:14:27 »
Myslím, že obě otázky už byly zodpovězeny a není potřeba to tu komplikovat tím samým pořád dokola :-)

k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Disk mirroring
« Odpověď #14 kdy: 11. 09. 2021, 07:58:46 »
@Filip Jirsák

neni potreba si moc domejslet, tazatel pise k JEDNOMU disku pridat DRUHEJ a MIRROROVAT, takze je opravdu offtopic tu rozebirat chovani vsech ostatnich raidu krome RAID1 tedy MIRROR a ohrazovat se proti prohlaseni o RAID1 ze neplati u ostatnich RAIDu ;-)

tazatel by ale mohl doplnit, zda pokud NEuvedl ze jde o Windows plati ze jde o Linux... a treba take to zda jde jen o datovy disk, nebo zaroven systemovy...