Jan Dušátko wrote:
Zdravim,
Mam (doufam) na systemu zrdcadlo pouzivajici SATA interface /dev/ad4 a
/dev/ad6.
Zrdcadlo je namountovane jako /dev/ar0. Z duvodu kolize AHCI a RAID
jepouzivam AHCI interface.

Kdybys pouzival skutecne ahci ovladace nejmenoval by se device /dev/ad4 ale /dev/ada0

Takze - mozna mas BIOS prepnuty do AHCI modu, ale ovladace pouzivas IDE. Coz neprekvapi, protoze nad AHCI ovladaci AR neni.

Pokud si vypisu glabel status, ukazuje mi to dva rozdilne ufsid na
jednotlivych UFS partiích.
To mi pripada jako problem pri synchronizaci.

                   Name  Status  Components
ufsid/4dea43017116cdff     N/A  ad4s1a
ufsid/4dea4302f8c1c8a8     N/A  ad4s1d
ufsid/4dea4302adb8c1bd     N/A  ad4s1e
ufsid/4dea5c939edc8088     N/A  ad4s2a
ufsid/4dea5c93b93eb0ad     N/A  ad4s2d
ufsid/4dea5c9425f8f68a     N/A  ad4s2e

ufsid/4e4e8ed26a8f42a1     N/A  ad6s2a
ufsid/4e4e8ed3ec9093b7     N/A  ad6s2d
ufsid/4e4e8ed3132471ce     N/A  ad6s2e

Uz ten samotny dotaz je v podstate ilegalni. Pokud to spravne chapu, tak tys vytvoril ze dvou disku mirror, ktery se jmenuje "ar". A na me jsi nasledne vytvoril nejake datove struktury - jako treba BSD label a nasledne naformatovanou UFS partition.

Pak je ale onen label i ta partition na disku /dev/ar0.

Samozrejme, ze se ten sektor asi vyskytne i nekde na discich ad4 a ad6 - a dost mozna na miste, kde je utilita, kterou poklads svuj dotaz, nespravne vyhodnoti jako platna data, to ale nic nemeni na tom, ze takovy dotaz je vlastne nekorektni - ptas se na obsah datovych struktur (BSD label) na discich (ad4 a ad6), na kterych jsi ty datove struktury nevytvarel. Vytvarel jsi je az na tom mirroru (ar0).

Ledaze jsi mirror delal "na praseci zpusob" - to jest - mel jsi hotovy disk /ad4 a nad nim jsi teprve nadefinoval mirror. I tak jsi ale UFS delal jen nad ad4 a ne nad ad6.

Kdovy jaky zapomenuty sektor z nejake predchozi inkarnace UFS ta utilita nasla ...

Pak sis jiste vedom nasledujici vety z "man gmirror":
 Create a mirror on disk with valid data (note that the last sector of the
     disk will be overwritten).

a ujistil jsi se, ze UFS do toho posledniho sektoru nesaha, protoze jinak si ta data oba subsystemy budou prepisovat.

Pokud jsi to udelal takhle, ale neujistil se, a mel trochu smulu, pak muzes mit zadelano na problem.

Protoze se jedna o zivy system, kde je na prvnim disku funkcni GRUB, co mi
doporucite? Staci jenom rebuild, nebo trosku rozsahlejsi akce pro
znovuzprovozneni RAID1 ? Samozrejme tak, aby to bylo I nadale bootovatelne
;o))

No, bud' budes muset zanalyzovat jak jsou ty disky skutecne vytvorene, spocitat konce jednotlivych objektu (partition, slice, UFS filesystem, mirror), zjistit, jestli se ti ve tvem konkretnim pripade objekty neprekryvaji a pokud ano, tak zkusit kolize vyresit.

Nebo disk ad6 z mirroru odebrat, vycistit (dd in=/dev/zero) a vratit a doufat, ze tentokrat vsechno probehne spravne.

Dalsi (a mozna nejlepsi) moznost je dump&X&restore. Kde X je smazani (dd if=/dev/zero ...) obou fyzickych disku (alespon jejich zacatku a koncu) a korektni vytvoreni mirroru nad kterym teprve budes korektne vytvaret dalsi struktury (bsdlabel, UFS).

Pozor, pokud je to bootovaci disk a neeliminoval jsi moznost, ze by se na takovy disk nekdy mohl ukladat coredump jadra (po nejakem abendu) tak je nutna specialni arange. See "NOTES" in man gmirror.

Pravda je takova, ze presne kvuli tomu gmirror (a nasledne cely GEOM) nemam rad - neni to dotazene do bezpecneho a stabilniho konce. Jakmile je jednou disk aktualne zivym diskem v ramci mirroru, tak preci nemuzu dovolit soucasne s nim pracovat jako se samostatnym diskem. Zadne ad4s1a ani ad6s2e, ktere je momentale v tvem /dev videt ve skutecnosti neexistuje. To jen GEOM nespravne interpretuje datove struktury na disku, ktere si tam ulozil nekdo jiny (ovladac mirroru).

Ale to odbocuju - ve zkratce je to jednoduche - jakmile je disk soucasti mirroru, zapomen, ze existuje a na nic se na nem neptej (o zapisech uz nemluvim vubec).

Dan
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem