Was ZFS nicht kann
Mal eben ein Filesystem auf ein vergössertes Volume anpassen – geht nicht. Unter Linux würde ein
ext2resize /dev/sdc3
reichen, für Windows existiert diskpart. Wenn ich das alles richtig verstanden habe ist das prinzipbedingt. Man müsste ein zweites Volume erstellen, dieses dem zpool hinzufügen und damit stände es zur Verfügung.Uff.
Nachtrag: Es geht doch. Man muss das Filesystem exportieren, den Disklabel entfernen, neu labeln und dann wieder importieren.
Die Frage die ich mir hier stelle ist… Kann das ZFS-Filesystem nicht im Nachgang vergrößert werden? Das kann ich mir eher nicht vorstellen. Das muß dann wohl eher ein Problem des integrierten ZFS-Volumemanagers sein, was die Sache aber auch nicht gerade verbessert :-(
Kommt es dadurch zu Problemen im praktischen Betrieb von ZFS? Wohl eher nicht, da ja wie erwähnt der Pool durch weitere Volumes erweitert werden kann. In einem SAN-Storage würde man also ein weiteres Device erzeugen und als zusätzliche LUN zur Verfügung stellen. Mit Solaris 10 sind die Begrenzungen für die max. LUNs pro Target mit geeigneten Treibern auch nicht mehr relevant. Meines Wissens nach ist es im Solaris auch nicht wirklich der Performance dienlich riesige wenige LUNs einem System zur Verfügung zu stellen.
Die Auswahl, wie man sein System administrieren möchte, sollte man aber trotzdem haben…
Naja.. Du vergleichst gerade Aepfel mit Birnen. Wenn Du unter Linux oder Windows ein RAID-5 laufen hast, dann vergroesserst Du das mal eben garnicht. Du kannst hoechstens einen Volumen Manager dazwischen haengen (a la LVM) um das Laufwerk zuvergroessern, denn ansonsten erhaelst Du ganz einfach ein neues Laufwerk. Und bei dem LVM oder dergl. musst Du genauso erstmal die neue platte bekannt machen um dann irgendwann ext2resize benutzen zu koennen.
Bei ZFS erweiterest Du den Pool einfach:
zpool add pool1 raidz c1t15d0 c2t0d0 c2t1d0
Beispiel:
[root@amaranth ~]# zpool status pool2; df -h /pool2; zpool add pool2 raidz c1t15d0 c2t0d0 c2t1d0 && zpool status pool2; df -h /pool2 1
pool: pool2
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool2 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c1t12d0 ONLINE 0 0 0
c1t13d0 ONLINE 0 0 0
c1t14d0 ONLINE 0 0 0
errors: No known data errors
Filesystem size used avail capacity Mounted on
pool2 7.8G 32K 7.8G 1% /pool2
pool: pool2
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool2 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c1t12d0 ONLINE 0 0 0
c1t13d0 ONLINE 0 0 0
c1t14d0 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c1t15d0 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
errors: No known data errors
Filesystem size used avail capacity Mounted on
pool2 16G 32K 16G 1% /pool2
@Doomshammer:
Ich sehe den Zusammenhang zum RAID 5 im Problem von Joern nicht. Er spricht doch vom nachträglichen Vergrößern einer Disk/LUN (so etwas leisten z.B. ext. RAID-Systeme namhafter Hersteller) und anschließendem Vergrößern des Filesystems. Zumindest interpretiere ich das so…
Mit Solaris und UFS geht das zum Beispiel (neuen VTOC aufbringen und growfs benutzen). Nach dem Umwandeln von Basisdatenträgern in dynamische Datenträger (LDM) kann auch Windows nachträglich Disks und das NTFS darauf vergrößern.
Beim Einsatz von Volumemanagern wie dem LVM unter Linux, SDS/LVM unter Solaris oder Veritas Volume Manager können zwar Disks dem Pool bzw. der Volumegruppe hinzugefügt werden, die Vergrößerung eines Physical Volumes ist aber nicht vorgesehen. Logical Volumes wiederum, die sich dem Speicher aus der Volumegruppe holen sind vergrößerbar. Diese tragen das vergrößerbare Filesystem.
Beim ZFS verhält es sich wie bei den genannten Volumemanagern. Lediglich das Anlegen der Logical Volumes entfällt. Das ZFS-Filesystem gibt mit Funktionen wie Snapshots, etc. gibt es aber wohl nicht ohne ZFS-Volumemanager…
@Otmanix:
Von irgendwelchen teuren Hardware Raids die das Expanded des RAIDs ermoeglichen war hier keine Rede. Wir muessen also erstmal von der gleichen Basis ausgehen. Windows/Linux mit JBOD und Solairs/ZFS mit JBOD. Und dann verhaellt es sich nunmal genau wie ich es beschrieben habe. Bei ZFS vergroessere ich den Pool ganz einfach indem ich 3 neue Platten als Raid-Z hinzufuege – fertig.
@Doomhammer: Doch, es ging um das Vergrössern einer SAN-Lun :)
man lernt nie aus ;-)