ZFS Volumen expandieren, aber wie?

Status
Not open for further replies.

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin liebe Leute,

ich habe da ein Problem, ich möchte ein bestehendes ZFS Volumen auf die gesamte Disk Größe expandieren.:confused:

Das NAS hat ein Hardware-RAID bei dem ich ein paar Disks dazu stecken möchte und dann das ZFS Volumen auf die gesamte Größe des neuen RAID-Sets expandieren will. ZFS-SoftwareRAID ist keine Option!!!

Ich habe schon das Forum durchsucht und Google bemüht, leider alles ohne Erfolg.

Zum Testen habe ich ein FreeNAS in einer VM, da habe ich das Volumen schon ein paar mal kaputt gespielt. Das ZFS-Volumen hatte ich erst mit 16GB angelegt und dann die Virtuelle Festplatte auf 24GB erweitert. Das ZFS-Volumen sollte nun mit wachen aber irgendwie will es das nicht. :(

Für Tips, Trick und Syntax wäre ich dankbar.

MfG
Atomic
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
Das du zusätzlich ein Hardware-Raid verwendest statt das eingebaute raid im ZFS zu verwenden macht die Sache nicht gerade einfacher.

Ein ZFS Pool ist ja ein virtuelles Volume dass sich aus einer oder mehreren Logischen Partitionen zusammensetzt. So wie ich es verstanden habe präsentiert dein Hardware Raid dem System eine "virtuelle" Festplatte, welche komplett für ZFS verwendet wird. Das einzige was mir einfällt ist dass du die neuen Platten im RAID zu einer neuen virtuellen Festplatte konfigurierst und den bestehenden ZFS Pool mit
Code:
zpool add zpoolname neuevirtuelleplatte

einfach erweiterst.

Du solltest dann allerdings beachten, dass du die neu hinzugefügte virtuelle platte nicht wieder entfernen kannst, und dass falls dieser Zweite Raid verbund ausfällt der gesammte ZFS Pool nicht mehr verfügbar ist.
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin xaibex,

genau dass möchte ich ja nicht, ein RAID auf einem RAID zu installieren ist eher sub-optimal.

Bei meinem Recherchen in ich auf dieses FreeNAS Ticket gestoßen: http://support.freenas.org/ticket/342. Ich habe dass bin jetzt erst eine VM ausprobiert, dass neue, größere Volumen wurde auch auf ZFS formatiert aber von dem FreeNAS OS nicht richtig erkannt. Kann sein dass das ein VM spezifisches Problem ist.:confused:

Ach ja, ein RAID-Set ist eine Logische Festplatte. In meiem Fall ist es ein RAID-5 mit einem einziegen großen Volumen.

Vielleicht kann ja mal jemande der sich mit BSD Syntax auskennt den Inhalt dieses Tickets angucken und mir sagen ob es funktionieren sollte oder nicht.
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
Das sollte so funktionieren. Allerdings muss man explizit darauf achten dass die neu angelegte Partition exakt an der selben stelle beginnt wie die alte.

Wenn du dir mit gpart show die Partitionierung anschaust startblock kopieren, zfs partition "löschen" (löscht nur die partitionstabelle) und neue zfs partition erstellen welche an vorher notiertem block beginnt. z.B. eben der Block -b 4194432

Was auch funktionieren würde ist eine neue GTP Partion im Freien bereich der "logischen Festplatte" zu erstellen und diese einfach zum bestehenden ZFS Pool hinzuzufügen
Code:
zpool add zpoolname neuevirtuelleplatte


Aber was auch immer du tust. Denke daran auf jeden fall ein Backup deiner Daten zu haben!
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin Forum,

ich habe letztens Versucht des zpool von meinem FreeNAS zu expandieren, leider ohne Erfolg. Die ZFS Partition wurde zwar erweitert aber ich kann den neuen größeren zpool nicht mounten. Es kommt immer diese Fehlermeldung: Error: Unable to GPT format the disk "da0"

1. RAID-Set expandieren:
Um auf das Interface der RAID-Karte zu kommen
# tw_cli
Den RAID-Karten Status angucken
# /c0 show
RAID Expandieren
# /c0/u0 migrate type=raid5 disk=(neue Disk)
Damit die neue RAID-Set größe vom System erkannt wird
# /c0/u0 remove
# /c0 rescan


2. ZFS Volumen expandieren
# mount -uw /
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
vol 1.81T 7.29G 1.81T 0% 1.00x ONLINE -
# zpool status vol
pool: vol
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
vol ONLINE 0 0 0
gptid/b574f325-9fca-11e2-baad-7054d245e088 ONLINE 0 0 0

errors: No known data errors

# zpool export vol
# swapoff -a
swapoff: removing /dev/da0p1 as swap device
# gpart show
=> 34 3906207677 da0 GPT (2.7T) [CORRUPT]
34 94 - free - (47k)
128 4194304 1 freebsd-swap (2.0G)
4194432 3902013279 2 freebsd-zfs (1.8T)

=> 63 15633345 da1 MBR (7.5G)
63 1930257 1 freebsd [active] (942M)
1930320 63 - free - (31k)
1930383 1930257 2 freebsd (942M)
3860640 3024 3 freebsd (1.5M)
3863664 41328 4 freebsd (20M)
3904992 11728416 - free - (5.6G)

=> 0 1930257 da1s1 BSD (942M)
0 16 - free - (8.0k)
16 1930241 1 !0 (942M)

# gpart backup da0 > da0.gpart
# gpart recover da0
da0 recovering is not needed
# gpart resize -i 2 da0
da0p2 resized
# gpart show
=> 34 5859311549 da0 GPT (2.7T)
34 94 - free - (47k)
128 4194304 1 freebsd-swap (2.0G)
4194432 5855117151 2 freebsd-zfs (2.7T)

=> 63 15633345 da1 MBR (7.5G)
63 1930257 1 freebsd [active] (942M)
1930320 63 - free - (31k)
1930383 1930257 2 freebsd (942M)
3860640 3024 3 freebsd (1.5M)
3863664 41328 4 freebsd (20M)
3904992 11728416 - free - (5.6G)

=> 0 1930257 da1s1 BSD (942M)
0 16 - free - (8.0k)
16 1930241 1 !0 (942M)

# swapon -a
swapon: adding /dev/da0p1 as swap device
# zpool import vol
# zpool status
pool: vol
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
vol ONLINE 0 0 0
gptid/b574f325-9fca-11e2-baad-7054d245e088 ONLINE 0 0 0

errors: No known data errors
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
Die erweiterung des Volumes sieht soweit ok aus.

Bei welchem Kommando genau kommt der Fehler "Error: Unable to GPT format the disk "da0""?

versuchst du ein: mount /dev/da0 /zielverzeichnis ?

ZFS solltest du immer folgendermaßen mounten. In deinem fall z.B. im den pool vol in das Verzeichnis /mnt zu mounten:

zfs set mountpoint=/mnt vol

oder

mount -F zfs vol /mnt
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Ich hab versucht das Volumen "vol" über die GUI zu mounten.

Auf der Konsole bekomme ich diese Meldung:
[root@FreeNAS] ~# mount -uw /
[root@FreeNAS] ~# mount /dev/da0 /mnt
mount: /dev/da0 : Operation not permitted
[root@FreeNAS] ~#

[root@FreeNAS] ~# mount -F zfs vol /mnt
mount: vol : No such file or directory
[root@FreeNAS] ~#

[root@FreeNAS] ~# zfs set mountpoint=/mnt vol
[root@FreeNAS] ~#


aber es passiert nichts.
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
was sagt denn?

zfs get mountpoint vol

bei zfs set mountpoint=/mnt vol kam zumindest kein fehler. Hast du es danach mit einem reboot versucht?

alternativ versuch mal ein
zfs set mountpoint=/mnt vol
und danach gleich
zfs mount vol
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
[root@FreeNAS] ~# zfs get mountpoint vol
NAME PROPERTY VALUE SOURCE
vol mountpoint /mnt/mnt local
[root@FreeNAS] ~#


Nach einem Reboot ist das Volumen wieder sicht.- und mountbar aber immer noch im de alten Größe.


[root@FreeNAS] ~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
vol 1.81T 7.29G 1.81T 0% 1.00x ONLINE /mnt
[root@FreeNAS] ~# gpart show
=> 34 5859311549 da0 GPT (2.7T)
34 94 - free - (47k)
128 4194304 1 freebsd-swap (2.0G)
4194432 5855117151 2 freebsd-zfs (2.7T)

=> 63 15633345 da1 MBR (7.5G)
63 1930257 1 freebsd [active] (942M)
1930320 63 - free - (31k)
1930383 1930257 2 freebsd (942M)
3860640 3024 3 freebsd (1.5M)
3863664 41328 4 freebsd (20M)
3904992 11728416 - free - (5.6G)

=> 0 1930257 da1s1 BSD (942M)
0 16 - free - (8.0k)
16 1930241 1 !0 (942M)

[root@FreeNAS] ~#
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
Hmmm, die Partition ist jetzt definitiv größer. (4194432 5855117151 2 freebsd-zfs (2.7T))

Versucht mal export, reboot und dann wieder import.
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Hat sich nix geändert, Volumen ist immer noch auf der alten Größe.
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Geschafft!!!

Beim gemountetem Volumen folgendes eingeben:
[root@FreeNAS] ~# zpool online -e [pool] [dev]

In meinem Fall:
[root@FreeNAS] ~# zpool status vol
pool: vol
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
vol ONLINE 0 0 0
gptid/b574f325-9fca-11e2-baad-7054d245e088 ONLINE 0 0 0

errors: No known data errors
[root@FreeNAS] ~# zpool online -e vol gptid/b574f325-9fca-11e2-baad-7054d245e088
[root@FreeNAS] ~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
vol 2.72T 7.29G 2.71T 0% 1.00x ONLINE /mnt


Einmal das Volumen Detachen und dann Attachen und es läuft.
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
Super! Dann wissen wir nun auch wie das geht :)
 
Status
Not open for further replies.
Top