sonnenblen.de - Das unabhängige Sun User Forum
Software => Speichermanagement => Thema gestartet von: linuxdomination am 19. Februar 2009, 15:22:19
-
hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....
# zpool status
pool: datasink
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
datasink ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c2t10d0 ONLINE 0 0 0
c2t11d0 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
c1t7d0 ONLINE 0 0 0
errors: No known data errors
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c0t0d0s0 ONLINE 0 0 0
c1t4d0s0 ONLINE 0 0 0
errors: No known data errors
# zpool attach -f rpool c0t0d0s0 c0t2d0
cannot attach c0t2d0 to c0t0d0s0: device is too small
???
format> disk
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370d8f69,0
1. c0t1d0 <SEAGATE-ST19171FCSUN9.0G-147E-8.43GB>
/sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370e2dd7,0
2. c0t2d0 <SEAGATE-ST19171FCSUN9.0G-147E-8.43GB>
/sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370e381a,0
3. c0t3d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@2,0/SUNW,socal@d,10000/sf@0,0/ssd@w21000020370e36fc,0
4. c1t4d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e360d,0
5. c1t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e338a,0
6. c1t6d0 <SEAGATE-ST19171FCSUN9.0G-117E-8.43GB>
/sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e36e9,0
7. c1t7d0 <SEAGATE-ST19171FCSUN9.0G-117E-8.43GB>
/sbus@2,0/SUNW,socal@d,10000/sf@1,0/ssd@w21000020370e32d7,0
8. c2t10d0 <SEAGATE-ST336605LSUN36G-0238-33.92GB>
/sbus@3,0/SUNW,fas@3,8800000/sd@a,0
9. c2t11d0 <SEAGATE-ST336605LSUN36G-0238-33.92GB>
danke im voraus...
-
Hallo,
hast Du es schon mit zpool add rpool c0t2d0 versucht?
Ich bin mir allerdings nicht sicher, ob man ein RAIDZ überhaupt erweitern kann...
Gruß
Andreas
-
hmmm...der rpool ist ein mirror und nicht raidz
-
Wenn ich nicht irre kann man einem Mirror nur einen weiteren Mirror hinzufügen. Na gut, gehen wir es einfach mal durch...
Demopool aus zwei Pseudo Platten im Mirror erstellen.
locadm@inas001:/# mkfile 64m disk0
locadm@inas001:/# mkfile 64m disk1
locadm@inas001:/# mkfile 64m disk2
locadm@inas001:/# mkfile 64m disk3
locadm@inas001:/# zpool create demopool mirror /disk0 /disk1
locadm@inas001:/# zpool status -v
pool: demopool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
demopool ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0
errors: No known data errors
locadm@inas001:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
demopool 69K 27.4M 18K /demopool
Versuchen eine weitere Platte dem Demopool hinzuzufügen.
locadm@inas001:/# zpool add demopool /disk2
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses mirror and new vdev is file
Klare Ansage wie ich finde, also füge ich einfach mal einen weiteren Mirror hinzu, das sollte doch tun? ;)
locadm@inas001:/# zpool add demopool mirror /disk2 /disk3
locadm@inas001:/# zpool status -v
pool: demopool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
demopool ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk2 ONLINE 0 0 0
/disk3 ONLINE 0 0 0
locadm@inas001:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
demopool 72K 86.9M 18K /demopool
Freier speicherplatz is auch dramatisch gestiegen... ;)
Was auch möglich sein dürfte, dem Mirror einfach die Platten unterm Arsch wegziehen und gegen größere zu Tauschen. Also let's go, testen wir es mal...
locadm@inas001:/# mkfile 64m disk0
locadm@inas001:/# mkfile 64m disk1
locadm@inas001:/# mkfile 128m disk2
locadm@inas001:/# mkfile 128m disk3
locadm@inas001:/# zpool create demopool mirror /disk0 /disk1
locadm@inas001:/# zpool status -v
pool: demopool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
demopool ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0
locadm@inas001:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
demopool 69K 27.4M 18K /demopool
Man beachte disk0 und disk1 sind 64 MB groß und diese zwei Platten möchte ich durch disk2 und disk3 ersetzen, die jeweils 128 MB groß sind. Danach sollte der Demopool mehr als nur 27.4 MB verfügbaren Speicher aufweisen.
Auf gehts...
locadm@inas001:/# zpool replace demopool /disk1 /disk3
locadm@inas001:/# zpool status -v
pool: demopool
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Fri Feb 20 09:38:34 2009
config:
NAME STATE READ WRITE CKSUM
demopool ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk0 ONLINE 0 0 0 44K resilvered
/disk3 ONLINE 0 0 0 70.5K resilvered
locadm@inas001:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
demopool 79.5K 27.4M 18K /demopool
Anmerkung, bitte warten bis tatsächlich alles "resilvered" ist... ein anschließender zpool scrub schadet natürlich auch nicht, um weitere Fehler auszuschließen.
Nach dem nur eine Platte gegen eine größere im Mirror getauscht wurde, hat sich natürlich nichts an der Größe getan. Schauen wir mal was passiert wenn ich nun die zweite Platte gegen die Größere tausche.
locadm@inas001:/# zpool replace demopool /disk0 /disk2
locadm@inas001:/# zpool status -v
pool: demopool
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Fri Feb 20 09:41:51 2009
config:
NAME STATE READ WRITE CKSUM
demopool ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk2 ONLINE 0 0 0 81K resilvered
/disk3 ONLINE 0 0 0 51K resilvered
locadm@inas001:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
demopool 87K 27.4M 18K /demopool
Doof, nix passiert... Hmmm... und nu? ;) Jetzt ist nämlich ein Export / Import notwendig. D.h. bei einem Laufenden System muss jetzt wohl in den Single User Mode gewechselt werden. Aber rein exemplarisch zeig ich die Ergebnisse mit dem Demopool:
locadm@inas001:/# zpool export demopool
locadm@inas001:/# zpool import -d / demopool
locadm@inas001:/# zpool status -v
pool: demopool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
demopool ONLINE 0 0 0
mirror ONLINE 0 0 0
//disk2 ONLINE 0 0 0
//disk3 ONLINE 0 0 0
locadm@inas001:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
demopool 90K 91.4M 18K /demopool
locadm@inas001:/# cd /demopool/
locadm@inas001:/demopool# df -h .
Filesystem size used avail capacity Mounted on
demopool 92M 18K 91M 1% /demopool
In diesem Sinne viel Spaß noch mit ZFS. ;)
Gruß
Tschokko
-
hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....
Mit "attach" richtest du einen Mirror (für ein Device) ein, mit "add" fügst du weitere Devices/Mirrors dem ZPool hinzu.
Ich hab zwar gerade nicht die passende Spielumgebung, aber so was wie
# zfs add rpool disk c0t2d0
# zfs attach rpool c0t2d0 cXtXdX
oder direkt
# zfs add rpool mirror c0t2d0 cXtXdX
müßte den Pool erweitern.
Das steht aber eigentlich auch in der Manpage. ;D
-
Doof, nix passiert... Hmmm... und nu? ;) Jetzt ist nämlich ein Export / Import notwendig. D.h. bei einem Laufenden System muss jetzt wohl in den Single User Mode gewechselt werden.
Single User sollte nicht notwendig sein, unmount vor dem Export müsste reichen. Dazu muss natürlich das I/O auf das Filesystem weg.
wolfgang
-
danke, werde das dann mal nachbauen, denke aber das ist der richtige weg.
-
Hi,
den rootpool kann man leider nur auf einer einzelnen Disk oder als Spiegel auf 2 Disks betreiben. Sobald man 2 Disks in den rpool aufnimmt, wird automatisch ein Spiegel erzeugt. Ein Concat oder andere RAID-Varianten sind aktuell nicht implementiert (evtl. ist bei Opensolaris etwas geplant).
hier ein kurzer link dazu im Sun Forum:
http://forums.sun.com/thread.jspa?threadID=5345302
Gruß
Björn
-
Ein Concat oder andere RAID-Varianten sind aktuell nicht implementiert (evtl. ist bei Opensolaris etwas geplant).
Steck' deinen Finger nur ruhig ein wenig tiefer in meine Wunde. ;)
-
so habs mal getestet --->
# zpool add rpool mirror c0t2d0 c1t6d0
cannot add to 'rpool': root pool can not have multiple vdevs or separate logs
totaler fehlschlag *g*
# zpool add rpool disk c0t2d0
cannot open 'disk': no such device in /dev/dsk
must be a full path or shorthand device name
und "# zfs add rpool disk c0t2d0
unrecognized command 'add'
...gibts gleich gar nicht, keine ahnung wie der op auf diesen command kommt.
tja alles in allem bin ich "not amused"...
kann mal jemand bestätigen das eine erweiterung einens root pools nicht möglich ist, bei sun sind keine eindeutigen aussagen zu finden.
danke
chris
-
kann mal jemand bestätigen das eine erweiterung einens root pools nicht möglich ist, bei sun sind keine eindeutigen aussagen zu finden.
Da eine Erweiterung des Root-Pools sehr wohl möglich ist, kann das wohl keiner bestätigen. Und mit ein bißchen Mühe und 10 Sekunden googeln finden sich auch eindeutige Aussagen bei Sun.
Seufz.
Kleiner Tip: Bei einem gespiegelten Root-Pool müssen beide Spiegelhälften bootfähig sein. Und das sind sie nur, wenn sie ein SMI-Label haben. Und deshalb kann man einem Root-Pool nur Slices und keine Disks hinzufügen. Alles klar?
-
hmmmm....ja davon habe ich schon mal hier ---> http://www.lildude.co.uk/growing-a-zfs-root-pool/ gelesen. aber das ist für mich gleichbeteutend mit " nicht durchführbar", dafür hab ich eindeutig zu wenig spieltrieb. aber danke an alle für die beteiligung.
lg
chris
-
Der von Dir zitierte Link beschreibt, wie man den Root-Pool insgesamt größer macht. Du willst aber nur den Root-Pool spiegeln, oder?
Im Prinzip war Dein erster Versuch bis auf zwei Zeichen richtig. Du mußt eine SLICE angeben.
Schade, daß Du so schnell aufgibst. Wahrscheinlich hat Dich das ganze wirre Zeugs von Tschokko abgeschreckt. :-)
-
Wahrscheinlich hat Dich das ganze wirre Zeugs von Tschokko abgeschreckt. :-)
Jou.... das mit den Einschränkungen vom ZFS Root Pool ist mir viel zu spät eingefallen. *seufz* Darum ist mein Beitrag mehr schlecht als recht... aber Löschen brauch ich den nun auch nicht mehr.
Gruß
Tschokko
-
Der von Dir zitierte Link beschreibt, wie man den Root-Pool insgesamt größer macht. Du willst aber nur den Root-Pool spiegeln, oder?
ne wollte den pool einfach nur größer machen indem ich zwei disks hinzufüge, hab ja schon bei installation den root mirror eingerichtet.
-
Ah, OK. Da hast Du allerdings recht, den Root-Pool insgesamt größer zu machen ist eine ziemliche Bastelei. Das würde ich auch momentan nicht empfehlen. Die Jungs von Sun arbeiten an Erweiterungen für GRUB, damit der auch von etwas komplexeren vdevs als nur zwei Spiegelhälften booten kann.
Bevor das aber nicht fertig ist, würde ich entweder die Root-Platten durch größere ersetzen oder das zweite Plattenpärchen in einen eigenen Pool tun. Da kann man ja immer noch /opt usw. reinmounten.