Byta ut trasig disk @ OSOL med ZFS

Permalänk
Medlem

Byta ut trasig disk @ OSOL med ZFS

Tjabba!

Ska byta ut en trasig disk i min pool men jag har fastnat... Har kollat en del guider på nätet och det är ett steg jag fastnar på. Det jag har gjort är att ta disken offline, så nu ser det ut såhär;

NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 c7d0 OFFLINE 0 0 0 c10d0 ONLINE 0 0 0 c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c11d1 ONLINE 0 0 0

Det man ska göra härnäst som jag fattat det för är att köra en cfgadm -c unconfigure på disken, bara det att jag får det inte att funka...

cfgadm ger mig bara massa USB-output?

Ap_Id Type Receptacle Occupant Condition pcieb0.pcie0 unknown empty unconfigured unknown usb5/1 unknown empty unconfigured ok usb5/2 unknown empty unconfigured ok usb6/1 unknown empty unconfigured ok usb6/2 unknown empty unconfigured ok usb7/1 unknown empty unconfigured ok usb7/2 unknown empty unconfigured ok usb8/1 unknown empty unconfigured ok usb8/2 unknown empty unconfigured ok usb9/1 unknown empty unconfigured ok usb9/2 unknown empty unconfigured ok usb9/3 unknown empty unconfigured ok usb9/4 unknown empty unconfigured ok usb9/5 unknown empty unconfigured ok usb9/6 unknown empty unconfigured ok usb9/7 unknown empty unconfigured ok usb9/8 unknown empty unconfigured ok

Här ska om jag fattat det rätt också alla SATA-diskar finnas? Hur ska jag komma vidare? Eller kan jag hoppa över detta steget och sätta in den nya disken och köra en replace direkt?

Tacksam för svar!

Permalänk
Avstängd

Jag har för mig att cfgadm ska man använda om man vill ändra hårdvara dynamiskt, dvs under drift? Utan att boota om. Typ, tala om för OSol att scanna efter ny hårdvara. Om du bootar om så scannas automatiskt efter ny hårdvara tror jag. Annars kan du skapa en fil så skannas efter ny hårdvara - se "touch /configure" eller "touch /reconfigure"

Läs även inlägget längst ned
unconfigure using cfgadm - The UNIX and Linux Forums
Jag menar, inlägget ovanför längst ned

Permalänk
Medlem
Skrivet av saddam:

Jag har för mig att cfgadm ska man använda om man vill ändra hårdvara dynamiskt, dvs under drift? Utan att boota om. Typ, tala om för OSol att scanna efter ny hårdvara. Om du bootar om så scannas automatiskt efter ny hårdvara tror jag. Annars kan du skapa en fil så skannas efter ny hårdvara - se "touch /configure" eller "touch /reconfigure"

Läs även inlägget längst ned
unconfigure using cfgadm - The UNIX and Linux Forums
Jag menar, inlägget ovanför längst ned

Det verkar väldigt vettigt nu när du säger det Dock har ett annat problem uppstått, sigh... Ska se om jag kan förklara detta på ett lätt sätt.

Jag har 6 Samsung 750GB's diskar. 2st av dem är från 2008, 3st är från 2009 och nu den senaste är från 2010.

Jag ska ta den disken som är från 2010 och ersätta en av dem som gått sönder, som är från 2009.

Jag har 4 SATA-portar på moderkortet och 4st på ett SATA-pci. Nu är det så att diskarna inte är kompatibla med SATA-kortet egentligen utan man måste tvinga dem till SATA-1 om jag kommer ihåg rätt, vilket jag gjort med de två diskarna från 2008.

Fram tills idag så har en av diskarna från 2008 har suttit på en av moderkortet's SATA-kontakter.

Nu till problemet; Nu när jag har köpt en 6:e disk så måste jag flytta den andra gamla disken till SATA-kortet för den nya hittas inte där, och då ändras alla ID'n på diskarna i OSOL vilket gör det aningen krångligare, kan inte säga att jag fattar namnstandarden direkt...

Hoppas ni fattar något av allt detta, svårt att förklara...

Permalänk
Medlem

Nu har jag fastnat igen... Har identifierat den trasiga och den nya disken. Men när jag ska köra en replace så får jag;

mian@fileserver01:/# zpool replace storage c10d0 c10d1 invalid vdev specification use '-f' to override the following errors: /dev/dsk/c10d1s0 is part of active ZFS pool storage. Please see zpool(1M).

c10d0 är offline. Har även testat att köra en export på storage men får då;

mian@fileserver01:/# zpool export storage cannot export 'storage': pool is busy

Har även testat av avmontera alla ZFS-filsystem innan jag kör en export men icke.

Permalänk
Medlem

Problemet är väl att c10d1 redan används i din pool så du kan ju inte ersätta en annan disk med en som redan ingår i poolen. Normalt sett ska man bara kunna byta den trasiga disken så brukar det bli resilver automatisk. Men det är väl bäst att öva sig lite i först i virtualbox så man får kläm på hur man ska göra.

pool is busy kan man få om man "befinner sig" i poolen. cd / så man kommer upp till rooten. Eller så används poolen av något program som har diskåtkomst.

Om man ska flytta runt diskarna så ska det funka att exportera poolen, flytta runt diskarna och sedan importera poolen igen så läser den av metadata på hårddiskarna så att den hittar alla åtkomliga diskar som ingår. Eller bara stänga av datorn, flytta runt diskarna och starta upp datorn igen.

Permalänk
Medlem
Skrivet av ronnylov:

Problemet är väl att c10d1 redan används i din pool så du kan ju inte ersätta en annan disk med en som redan ingår i poolen. Normalt sett ska man bara kunna byta den trasiga disken så brukar det bli resilver automatisk. Men det är väl bäst att öva sig lite i först i virtualbox så man får kläm på hur man ska göra.

pool is busy kan man få om man "befinner sig" i poolen. cd / så man kommer upp till rooten. Eller så används poolen av något program som har diskåtkomst.

Om man ska flytta runt diskarna så ska det funka att exportera poolen, flytta runt diskarna och sedan importera poolen igen så läser den av metadata på hårddiskarna så att den hittar alla åtkomliga diskar som ingår. Eller bara stänga av datorn, flytta runt diskarna och starta upp datorn igen.

Ello, nej, c10d1 ingår inte i poolen. De namnen som står i första posten stämmer inte efter att jag flyttat om och satt i den nya disken. Den nya disken har fått c10d1 och de som igått i zpoolen sen tidigare har fått nya namn, en del iaf. Så du menar att jag bara kan byta den gamla disken rakt av och sätta in den nya, och sen köra en scrub?

Permalänk
Medlem

Är den offline så kan du koppla ur den fysiskt och sätta i en ny och sedan sätta den online så tror jag den gör resilver automatiskt (förutsatt att du kopplar in den på samma SATA-kontakt).

Permalänk
Medlem
Skrivet av ronnylov:

Är den offline så kan du koppla ur den fysiskt och sätta i en ny och sedan sätta den online så tror jag den gör resilver automatiskt (förutsatt att du kopplar in den på samma SATA-kontakt).

Jag testar! Kan väl inte vara så farligt om jag ändå inte gör något med den gamla disken, all data finns ju kvar på den.

Permalänk
Medlem

Nu har jag bytt disken och körde en zpool replace, verkar funka! Den kör resilver just nu! Ska köra en scrub efter det också. Så får vi hoppas att all data är intakt sen då...

Permalänk
Medlem
Permalänk
Medlem

Nu ser det ut såhär;

pool: storage state: ONLINE scrub: resilver completed after 5h0m with 0 errors on Tue Oct 5 05:59:21 2010 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 c0d0 ONLINE 0 0 0 c10d0 ONLINE 0 0 0 572G resilvered c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c11d1 ONLINE 0 0 0 errors: No known data errors

Verkar ha funkat! TACK alla för hjälpen!

Permalänk
Avstängd

Kan du sammanfatta det du gjorde, så även vi vet när vi måste göra samma sak? Kanske kan du även klistra in sammanfattningen i OpenSolaris tråden så all info finns samlad där?

Vore shysst.

Permalänk
Medlem

Detta gjorde jag för att byta ut en trasig disk.

1) Identifierade den trasiga disken med zpool status <pool> - (i mitt fall zpool status storage)

NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 c0d0 ONLINE 0 0 0 c10d0 UNAVAIL 0 0 0 cannot open c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0

2) Satte disken offline med zpool offline <zpool> <device> - (i mitt fall zpool offline storage c10d0)

NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 c0d0 ONLINE 0 0 0 c10d0 OFFLINE 0 0 0 c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0

3) Stängde av servern, bytte ut den gamla disken mot den nya, monterade den på SAMMA SATA-port så att den skulle få samma namn. Efter uppstart så kör jag en zpool status storage

NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 c0d0 ONLINE 0 0 0 c10d0 OFFLINE 0 0 0 c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0

Den nya disken är fortfarande offline, och testar jag att sätta den online med zpool online storage c10d0 så säger den att disken är c10d0 UNAVAIL 0 0 0 cannot open

4) Skriver då istället zpool replace storage c10d0 och då börjar det hända grejer

state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress for 0h0m, 1,1% done, 3h12m to go NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 c0d0 ONLINE 0 0 0 c10d0/o UNAVAIL 0 0 0 cannot open c10d0 ONLINE 0 0 0 1,12GB resilvered c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0

Resilverprocessen påbörjas och 5 timmar senare så är följade status

pool: storage state: ONLINE scrub: resilver completed after 5h0m with 0 errors on Tue Oct 5 05:59:21 2010 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 c0d0 ONLINE 0 0 0 c10d0 ONLINE 0 0 0 572G resilvered c10d1 ONLINE 0 0 0 c11d0 ONLINE 0 0 0 c11d1 ONLINE 0 0 0 errors: No known data errors

Har tagit lite stickprov på datan och det ser bra ut, men det är ju omöjligt att säga om allt är intakt, time will tell...

Permalänk

Riktigt bra guide Jilted82 ! hoppas att din pool kommer att funka bra ett bra tag framöver.