Zum Inhalt

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:

  1. Volume vergrössern (OpenStack-Seite)
  2. Dateisystem anpassen (innerhalb der VM)

Volume vergrössern

Horizon

  1. Navigieren Sie zu Volumes > Volumes.
  2. Suchen Sie das Volume und öffnen Sie das Aktionsmenü.
  3. Wählen Sie Extend Volume.
  4. Geben Sie die neue Grösse ein (muss grösser als die aktuelle Grösse sein).
  5. 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.