Resize ZFS on the fly

Mardor

Well-Known Member
Hallo,

ich möchte meinen VServer bei Hetzner mit mehr HDD Platz erweitern. Kann ich dies mit einem ZFS on the fly ohne großen export/import der pools realisieren ?

Alle Anleitungen die ich dazu gefunden haben sind aus grauer Vorzeit.

PS: Ich nutze FreeBSD 10.2

Gruß Mardor
 
Was hast du denn für ein ZFS mit wie vielen Platten und wie willst du es erweitern. Das wäre schon Hilfreich zu wissen.
 
Wenn du keine Redundanz hast wäre die Frage was du vor hast? Eine Platte dazu stecken oder die bestehende Platte austauschen...?
 
Falls du ein größeres virtuelles Blockdevice bekommen kannst, das mit deinem bisherigem beginnt sollte es kein Problem sein solange du nicht ungeschickt partitioniert hast.
 
Hallo,

Wenn du keine Redundanz hast wäre die Frage was du vor hast? Eine Platte dazu stecken oder die bestehende Platte austauschen...?
Der von Hetzner zur Verfügung gestellte Platz wird einfach vergrößert. Also wäre es wie wenn die Festplatte auf dem FreeBSD installiert wurde plötzlich größer wird.

Gruß Mardor
 
Wie Crest sagt, ist es eine Frage der Partitionierung. Idealerweise liegt der Pool am Ende, d.h. du musst die Partitionen nicht umsortieren. Wenn der Hypervisor ein 'Media Change Event' sendet, erkennt FreeBSD die Vergrößerung der Festplatte im laufenden Betrieb, ohne dass du eingreifen musst. Wenn nicht, ist ein Reboot die einfachste Möglichkeit, ihm das größere Image bekannt zu machen. Anschließend schaltest du Autoresize auf deinem Pool ein:

Code:
zpool set autoresize=on $pool

Nun kannst du die Partition anpassen. Wenn du GPT nutzt, musst du zuerst die am Ende des Image liegende Partitionstabelle reparieren. Bei MBR kannst du es dir sparen. Das geht ungefähr so:

Code:
gpart recover $device
gpart resize -i $nummer $device

ZFS sollte die Änderung sofort erkennen und den neuen Speicherplatz deinem Pool hinzufügen. Wenn das nicht klappt, hilft ein:

Code:
zpool online -e $device $pool

Natürlich kann das Ganze je nach Partitionierung und Kooperation des Hypervisors komplizierter sein. Aber das hier ist in etwa der grobe Weg, den du gehen musst. Für UFS ist der Weg ähnlich, nur dass man Ende ein 'growfs $mountpoint' abfeuert.
 
Vielen Dank für eure Hilfestellung.
Ich habe mit einer kleineren Abänderung der letzten Antwort den resize realisieren können.
 
Zurück
Oben