Software > Speichermanagement
zfs rootpool erweitern
linuxdomination:
hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....
--- Code: ---# 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
--- Ende Code ---
--- Code: ---# zpool attach -f rpool c0t0d0s0 c0t2d0
cannot attach c0t2d0 to c0t0d0s0: device is too small
???
--- Ende Code ---
--- Code: ---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>
--- Ende Code ---
danke im voraus...
AndreasW:
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
linuxdomination:
hmmm...der rpool ist ein mirror und nicht raidz
Tschokko:
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.
--- Code: ---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
--- Ende Code ---
Versuchen eine weitere Platte dem Demopool hinzuzufügen.
--- Code: ---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
--- Ende Code ---
Klare Ansage wie ich finde, also füge ich einfach mal einen weiteren Mirror hinzu, das sollte doch tun? ;)
--- Code: ---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
--- Ende Code ---
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...
--- Code: ---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
--- Ende Code ---
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...
--- Code: ---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
--- Ende Code ---
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.
--- Code: ---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
--- Ende Code ---
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:
--- Code: ---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
--- Ende Code ---
In diesem Sinne viel Spaß noch mit ZFS. ;)
Gruß
Tschokko
meik:
--- Zitat von: linuxdomination am 19. Februar 2009, 15:22:19 ---hat jemand ne ahnung wie das funkt, hab die prozedur irgendwie vergessen.....
--- Ende Zitat ---
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
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln