Volumes vergrössern
Ein Volume kann vergrössert werden, während die bestehenden Daten erhalten bleiben — vorausgesetzt, das Dateisystem unterstützt Resizing (Ext4 und XFS tun dies). Volumes können nicht verkleinert werden — nur vergrössern.
Der Prozess besteht aus zwei Schritten:
- Volume vergrössern (OpenStack-Seite)
- Dateisystem anpassen (innerhalb der VM)
Volume vergrössern
Horizon
- Navigieren Sie zu Volumes > Volumes.
- Suchen Sie das Volume und öffnen Sie das Aktionsmenü.
- Wählen Sie Extend Volume.
- Geben Sie die neue Grösse ein (muss grösser als die aktuelle Grösse sein).
- Klicken Sie auf Extend Volume.
CLI
openstack volume set --size <NEUE-GRÖSSE-GB> <VOLUME-NAME>
Beispiel — data-vol-01 von 100 GB auf 150 GB vergrössern:
openstack volume set --size 150 data-vol-01
Prüfen Sie die neue Grösse:
openstack volume show data-vol-01 -c size -c status
Dateisystem anpassen
Nach dem Vergrössern des Volumes müssen Sie das Dateisystem innerhalb der VM anpassen, damit das BS den neuen Speicherplatz nutzen kann.
Ext4
sudo resize2fs /dev/sdb1
Wenn das Dateisystem nicht gemountet ist, mounten Sie es zuerst:
sudo mount /dev/sdb1 /mnt/data
sudo resize2fs /dev/sdb1
XFS
Für XFS muss das Dateisystem gemountet sein, bevor es angepasst wird:
sudo mount /dev/sdb1 /mnt/data
sudo xfs_growfs /mnt/data
Überprüfen
df -h /mnt/data
Note
Falls die VM die neue Grösse nicht erkennt, müssen Sie die Instanz stoppen und starten (nicht rebooten — verwenden Sie stop dann start):
openstack server stop <INSTANZ-NAME>
openstack server start <INSTANZ-NAME>
Häufige Fehler
Volume ist in-use
Failed to set volume size: Volume is in in-use state,
it must be available before size can be extended
Das Volume ist an eine VM angehängt. Sie haben zwei Möglichkeiten:
Option 1 — Cinder-Client verwenden (ohne Trennen):
Der openstack-Client kann in-use-Volumes nicht vergrössern, der cinder-Client jedoch schon. Beachten Sie, dass cinder die Volume-ID benötigt, nicht den Namen.
sudo apt install python3-cinderclient
cinder --os-volume-api-version 3.42 extend <VOLUME-ID> 150
Stoppen und starten Sie danach die VM, damit die neue Grösse erkannt wird:
openstack server stop <INSTANZ-NAME>
openstack server start <INSTANZ-NAME>
Option 2 — Trennen, vergrössern, wieder anhängen:
sudo umount /mnt/data
openstack server remove volume <INSTANZ-NAME> <VOLUME-NAME>
openstack volume set --size 150 <VOLUME-NAME>
openstack server add volume <INSTANZ-NAME> <VOLUME-NAME>
Quota überschritten
VolumeSizeExceedsAvailableQuota: Requested volume or snapshot
exceeds allowed Gigabytes quota. (HTTP 413)
Der gesamte Volume-Speicher Ihres Projekts überschreitet die Quota. Beantragen Sie eine Quota-Erhöhung im Cloud Services Portal unter Quota Management.
Volume-Limit überschritten
VolumeLimitExceeded: Maximum number of volumes allowed (N) exceeded
Sie haben die Anzahl der in Ihrem Projekt erlaubten Volumes überschritten. Beantragen Sie eine Limit-Erhöhung im Cloud Services Portal unter Quota Management.
Volume kann nicht verkleinert werden
Volumes können nur vergrössert, nicht verkleinert werden. Wenn Sie ein kleineres Volume benötigen, erstellen Sie ein neues, kleineres Volume, kopieren Sie die Daten und löschen Sie das alte Volume.