Podivne chovani gmirror/gpart
Miroslav Lachman
000.fbsd at quip.cz
Tue Mar 8 00:55:30 CET 2022
On 07/03/2022 12:55, pm-conf at kostax.cz wrote:
> Zdravim konferenci,
> mam stroj, kde je gmirror ze dvou disku (ada0, ada1). V gmirroru nejsou
> jednotlive partition, ale cely disk. Drive to tak slo udelat a
> postupnymi upgrady jsem to dostal az sem. Disky jsou delene pomoci GPT,
> mam tam bezne rozdeleni disku na /, /var, /tmp, /usr. Nize popsane
> postupy jsem pouzil mnohokrat a narazil az ted.
Tohle mi prijde trochu podezrele, protoze GPT i gmirror se snazi zapsat
do posledniho sektoru. Pokud si tedy dobre vpzominam, tak mirrorovat
cely disk slo s pouzitim MBR/BSD schema, ale s pouzitim GPT se miroruji
az jednotlive oddily.
# gmirror status
Name Status Components
mirror/gm0root COMPLETE ada0p2 (ACTIVE)
ada1p2 (ACTIVE)
mirror/gm0swap COMPLETE ada0p3 (ACTIVE)
ada1p3 (ACTIVE)
mirror/gm0var COMPLETE ada0p4 (ACTIVE)
ada1p4 (ACTIVE)
mirror/gm0usr COMPLETE ada0p5 (ACTIVE)
ada1p5 (ACTIVE)
mirror/gm0tmp COMPLETE ada0p6 (ACTIVE)
ada1p6 (ACTIVE)
mirror/gm0vol0 COMPLETE ada0p7 (ACTIVE)
ada1p7 (ACTIVE)
> Jeden z disku (ada1) odesel, ani pri jeho vyndani to nenabihalo ani v
> single user modu.
Co znamena, ze to nenabihalo? Napsalo to nejakou chybu? Byla to chyba z
BIOSu (ze nevidi zadny disk), nebo chyba az ve FreeBSD bootloaderu?
Zazil jsem totiz servery, kde BIOS dokazal bootovat jen z prnviho disku,
takze kdyz odesel prvni, byl vyjmut a nahrazen prazdnym, server
nedokazal nabootovat. Musel se druhy disk dat na pozici prvniho a pak to
bootovalo.
Druha vec, co me napada, kdyz je to rozdelene s GPT, tak jak jsem ukazal
vyse, tak se na oba dva disky musi zapsat boot code pomoci gpart. Pokud
byl zapsany z nejakeho duvodu jen na jednom a ten byl vyjmut, tak to
zase nemuze nabootovat.
Tady by to proste chtelo vedet konkretni chybu toho "nenabihalo".
> Tam jsem samozrejme nevidel samostatne disky, protoze
> je nahrany geom_mirror a ten to nedovi, vi totiz, ze je tam nejaky
> mirror. Tak jsem zvolil nasledujici (a osvedceny)postup:
> v boot loaderu jsem odehral geom_mirror a zaroven ho nastavil jako
> disabled. Pak uz je mozne primontovat samostatny disk, prepsat fstab (z
> /dev/mirror/gm0a na /dev/ada0a) rebootnout a mam system zase funkcni.
Tohle mi tak trochu pripomina situaci, kdy odchazi jeden disk, ale
fyzicky jsi odebral ten "zdravy" a tak ti tam zustal disk, ktery je
gmirrorem oznaceny jako "failed". Gmirror by jinak mel uplne normalne
nabootovat z jednoho funkcniho disku (a mel vzdycky nabootoval).
Maximalne bych u toho vyzkousel jeste gmirror forget, aby se ani
nesnazil hledat nejaky jiny disk.
Kdyz mas disky / oddily primountovane, tak uz asi nemuzes nacits gmirror
a ocekavat, ze to zacne fungovat. To bys musel spis jen povolit v
loader.conf (a zpatky v fstab) a rebootovat.
> Jenze jsem se zasekl u druhe casti meho bezneho postupu - nahrat
> geom_mirror, znovu vytvorit gm0, upravit fstab a reboot.
A ty jsi necim ten mirror gm0 pred tim zrusil? Z toho popisu to tak
nevypada, to bys musel jeste pouzit gmirror clear o kterem nepises.
Pokud na tom disku porad jsou metadata gmirroru, tak se ho zkratka
system snazi okamzite vyuzit, kdyz nactes modul geom_mirror rucne.
> Nejprve jsem myslel, ze je problem s nahranim geom_mirror, ze proste pri
> nahrani si na ten disk sahne, zjisti, ze tam nejaky mirror byl a na tom
> selhava. Prikaz kldload geom_mirror totiz nikdy neskonci, nejde ani ctrl+c.
>
> Rikal jsem si, ze tedy smazu metadata rucne, jenze jsem zjistil, ze se
> mi gpart chova stejne. I kdyz zkusim gpart /dev/ada1 (takze druhy disk),
> tak opet se z prikazu nedostanu ven, ctrl+c taky nic.
>
> Muzu udelat cistou instalaci a data tam presunout, ale zajimalo by me,
> kde je problem nebo zda neni nejaka jednoducha rada, jak z toho.
Me to prijde cele nejak chaoticke.
Jestli mas moznost to nabootovat z nejakeho jineho media (USB flash
disk) s vypnutym gmirrorem, tak to udelej.
Zkontroluj si pomoci smratmontools, ze je ten disk opravdu OK.
Pokud chces mirror udelat znovu, tak na tom puvodnim spust gmirror clear
a pak vytvor novy mirror stejnych parametru, do ktereho pak pridas i ten
druhy (novy) disk.
Pokud chces laborovat s tim soucasnym diskem s existujicimi metadaty o
gmirroru, tak opet, zkus nabootovat z USB flashdisku, na tom disku
upravit zpatky fstab, aby obsahoval zaznamy s gm0 a ne ada0, zkus
gmirror forget a pak natahni modul geom_mirror, abys videl, jestli se ti
spravne objevi gm0. Pokud ano, zkus to rebootovat baz USB flashdisku.
Melo by to nabehnout z puvodniho jedineho disku.
Pokud nabehne, pridej druhy disk, gmirror insert a nech to synchronizovat.
Mirek
More information about the Users-l
mailing list