Zrdcadlo pouzitim /dev/ar

Dan Lukes dan at obluda.cz
Thu Sep 1 17:56:38 CEST 2011


On 09/01/11 16:20, Miroslav Lachman:
>> Ale ano - jako fyzicke zarizeni ano. Ale system musi vedet, ze ta
>> zarizeni jsou uz "otevrena" a data na nich jsou "typu RAID" a zadneho
>> jineho.
>>
>> Nemuze tedy na nich vyhledavat filesystemy. Nemuze na nich identifikovat
>> platnou MBR - protoze jakmile bylo jednou rozeznano, ze disk patri do
>> RAIDu, nemuze na nem proste MBR ani filesystem byt.

> Pokud se jedna o gmirror (ataraid nemohu posoudit), tak se to chova
> "spravne" a skutecne na ad4 / ad6 neni videt ani rozdeleni na slices /
> partitions:

> Problem je v okamziku, kdy je kvuli chybe vyrazen z gmirroru - pak je na
> nem videtelne rozdeleni, filesystem atd.

Ja jsem to nepopsal dostatecne dobre - ano, myslel jsem rpesen tohle na 
co narazis. Ten disk (respektive obsah) je obsahem "RAID" dokonce i v 
okamziku, kdy ho system aktualne nepouziva. Dokonce i kdybys ho prenesl 
do pocitace, kde zadny softwarovy RAID vubec neni.

Jestli aktualne je nebo neni "online" v ramci nejakeho konkretniho RAIDu 
proste neni rozhodujici.


> Coz je na jednu stranu fajn, ze
> se clovek muze dostat k datum na disku, ale problem je to v okamziku,
> kdy se pouzivaji treba labely pro mount a po rebootu se tam to zarizeni
> (label) vyskytuje dvakrat.

No prave. Mohlo by se ti snadno stat, ze v okamziku, kdy z RAID/mirror 
vypadne jeden fyzicky disk (kvuli nejake vade) tak pri pristim restartu 
pri trose smuly namountujes (budes-li mountovat via label nebo ufsid) 
nikoliv ten RAID ale ten vypadly disk.

To je samozrejme na hlavu.

Problem by nenastal, kdyby system respektoval, ze data na tom disku jsou 
RAIDova (bez ohledu na to, jestli je disk aktualne "online").

"Dostat se k datum" neni ve skutecnosti az takovy problem. Tak jako umi 
gmirror disk do RAIDu zaradit, jiste neni problem, aby z disku smazal 
svoji signaturu/datovou strukturu. Tim se z disku stane normalni 
(neraidovy disk) a dal uz si k nemu pristupuj jak chces. A protoze 
takovouhle operaci budes delat explicitne, budes o ni vedet - mas tim 
moznost vyresit problematick ekonsekvence jako duplicitni LABELy nebo 
UFSID ...

Vlastne cele je to o tom, aby se to nechovalo "automagicky" a navic blbe.

> Jenze on je to problem tak trochu na urovni "slepice a vejce", jelikoz
> gmirror umoznuje mirrorovat i slices / partitions, takze pri bootu
> vlastne musi byt pristupne "vse" a pak v zavislosti na poradi
> "ochutnavani" jednotlivych provideru a vrstveni nad sebe dochazi k tomu
> odebirani (zneviditelnovani) labelu.


Me to tak neresitelne nepripadalo. Ve skutecnosti se "spravne" poradi 
poznat da. Ano, za urcite situace se dva provideri mohou domnivat, ze 
urcita cast disku je "jejich" - jenze - v takovem pripade se da poznat, 
ktery ma byt uprednostnen (alespon me pripadalo, ze se mi to v kazdem 
pripade, ktery dokazu vymyslet, dari).

Bohuzel, takhle to implementovane neni. Soucasna logika "dostane to 
prvni, ktery si rekne" je pak skutecne zavisla na poradi, tudiz 
potencialne nestabilni a spatne odolna vuci zmenam konfigurace (protoze 
ty mohou prave zmenit poradi).

No a to je ta hlavni chyba celeho GEOMu, podle me.

> Jednou jsem nad tim premyslel pri cteni jedne diskuze v mailinglistu a
> tak nejak mi to pri zachovani soucasne flexibility prislo docela jako
> neresitelny problem. Musel by se zkratka upravit celkovy navrh fungovani
> GEOMu / metadat / vrstveni.

Do nekterych metadat se zasahnout neda - format, treba, MBR nebo 
bsdlabel je historicky dany a jakakoliv zmena je totalne nemozna.

Ale s tim, ze by bylo upravit logiku fungovani GEOMu souhlasim. 
Neodpustim si ovsem zahudrani, ze zadna zmena by nebyla nutna, kdyby 
nekdo premyslel uz pri jeho navrhu - GEOM neni nic, co by vznikalo v 
nejake davne minulosti, je to relativne nova vec. A nejde o nejake 
spatne odhadnutelne problemy u kterych se dalo rict "bohuzel si nikdo 
nevsimnul". Podle me ma GEOm nektere zasadni problemy uz v zakladnim 
navrhu toho, jak to cele ma fungovat.

Nevim, jestli to docela obycejne nesouviselo s:

  --------------------------------
This software was developed for the FreeBSD Project by Poul-Henning Kamp
and NAI Labs, the Security Research Division of Network Associates, Inc.
under DARPA/SPAWAR contract N66001-01-C-8035 (``CBOSS''), as part of the
DARPA CHATS research program.
  --------------------------------

Granty (i komercni ucastnik projektu) maji nejake svoje terminy, kdyby 
se nesplnily, nemusely by z toho prislusne grantove penize byt nebo by 
sef NAI labs mozna nedostal/nedal nekomu nejake odmeny za splneni 
projektu - mozna se to proste muselo naprogramovat az to nebylo dobre 
rozmysleno v navrhu, mozna se to muselo proste nasadit ac to nebylo az 
tak moc doladene a ozkousene - kdo vi. Samozrejme, ze jen spekuluju.

Vem jen, ze dodneska neni mozne jednoduse provadet nektere relativne 
trivialni operace s diskem "normalne" - musi se vypnout nektere ochrany 
(sysctl kern.geom.debugflags) a nasledne restartovat system. To mi 
pripada prijatelne u MS DOSu, ale ponekud nedustojne systemu z tohoto 
stoleti.

Jenze, jak nejsou chyby jen v implementaci, ale uz v samotnem zakladnim 
navrhu, tak je naprava velmi slozita vec - coz je videt na tom, ze po 
nekoliak letech od nasazeni se stale nedari.

To jsem se zas nejak rozcilil ...

Dan


More information about the Users-l mailing list