Virtuelle Festplatte vergrößern
Auf meinem Zabbix läuft schon lange die Festplatte voll.
Zabbix läuft auf einer virtuellen Maschine mit VMware ESXi. In diesem Artikel zeige ich euch, wie einfach es ist, die Festplatte in diesem Fall zu vergrößern.
Ausgangssituation
In meinem Zabbix-Server ist nur eine lokale Festplatte verbaut. Auf der Festplatte befinden sich eine Boot-Partition mit GRUB und eine ext4-Partition mit dem Root-Dateisystem. Alles ist mit VMware ESXi virtualisiert.
Standardmäßig ist Zabbix derart konfiguriert, dass es für jedes Item die History und Trends nur für eine begrenze Zeit aufhebt. Für History sind das – je nach Item – nur ein bis zwei Wochen, für Trends ist meist 365 Tage, d. h. ein Jahr, eingestellt.
History bezeichnet hierbei alle Werte, während Trends eine aggregierte Sicht im Stundenintervall für Diagramme darstellt. Das Zabbix-Handbuch empfiehlt entsprechend die Zeitspanne für History möglichst klein zu wählen, während für Trends größere Aufbewahrungsfristen möglich sind.
Mir war ein Jahr zu wenig, ich wollte mehr Daten speichern. Um nicht alle Templates durchsehen zu müssen, für welche Items es
Sinn macht, Daten länger aufzuheben, hab ich im Bereich "Administration / Housekeeping" den globalen Override aktiviert und für
History und Trends die Aufbewahrungsfrist auf 3650d
, d. h. 10 Jahre, gestellt. Das sollte genügen.
Die Datenbank hat sich danach ordentlich befüllt, bis die Festplatte auch an ihre Grenzen kam…
(Lektion hier: Auf das Handbuch hören und keine utopischen Settings eintragen. Bzw. wenn man es dennoch macht, ein Auge drauf haben 😉)
Die Löcher im nachfolgenden Diagramm kommen von Ausfällen von Zabbix auf Grund des Speichermangels.
Vergrößerung der Festplatte
Virtuelle Maschine ausschalten
Um die Festplatte zu größern, muss die virtuelle Maschine zuerst ausgeschaltet werden. Ein ordentlicher Shutdown mit poweroff
war leider nicht mehr möglich. Der Zabbix-Agent hing eine Weile, konnte noch ordentlich beenden. Der Zabbix-Server hat es nach
vielen Minuten nicht geschafft. Da der Dienst im systemd
mit unbegrenzter Wartezeit eingetragen ist, hat am Ende nur geholfen,
den virtuellen Ausschalter zu betätigen.
Festplatte vergrößern
Nachdem die Maschine ausgeschaltet ist, kann man in der "VMware ESXi"-Oberfläche die Festplatte bearbeiten und die Größe ändern. Ich habe in diesem Fall von 50 GB auf 250 GB vergrößert.
Partition vergrößern
Nachdem die Festplatte vergrößert wurde, müssen wir nun den zusätzlichen Speicher auch verfügbar machen.
Hierzu vergrößere ich zuerst die Partition mittels parted
.
Mit dem Befehl print
kann ich mir die Partitionstabelle ansehen:
root@zabbix:~# parted
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 268GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 53,7GB 53,7GB ext4
Wir sehen die Festplatte als 268GB
groß.
Anmerkung zu dieser Zahl:
Der Fehler liegt hierbei bei VMware. Die 50 GB bzw. 250 GB sind eigentlich keine Gigabyte,
sondern Gibibyte, d. h. 50 GiB bzw. 250 GiB. In parted
kann man mittels unit GiB
die Einheit umstellen, danach werden 250GiB
angezeigt.
Mit dem Befehl resizepart
vergrößern wir nun die Partition. parted
fragt uns nach der Nummer der Partition.
Diese können wir oben in der Tabelle auslesen.
Es erscheint eine Warnung, dass die Partition in Verwendung ist. Da wir die Partition nur nach hinten vergrößern und an dieser Stelle sich nichts befindet, können wir das bedenkenlos machen.
Auf die Frage nach dem neuen Ende können wir einfach mit 100%
antworten, um den restlichen brachliegenden
Speicher zu verwenden.
Mit quit
verlassen wir parted
.
(parted) resizepart
Partition number? 2
Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
Yes/No? yes
End? [53,7GB]? 100%
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 268GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 268GB 268GB ext4
(parted) quit
Information: You may need to update /etc/fstab.
Dateisystem vergrößern
Zu diesem Zeitpunkt haben wir zwar die Partition vergrößert, können den neuen Speicher aber immer noch nicht im Dateisystem nutzen. Wir vergrößern deshalb abschließend noch das Dateisystem.
Das geht einfach mit Befehl resize2fs /dev/sda2
.
Danach ist der Speicher verfügbar. Wir können das überprüfen, indem wir nochmal df -h
machen.
Die Partition wird mit 246G
Größe und 20%
Auslastung angezeigt.
root@zabbix:~# resize2fs /dev/sda2
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 32
The filesystem on /dev/sda2 is now 65535483 (4k) blocks long.
root@zabbix:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 445M 0 445M 0% /dev
tmpfs 98M 1,2M 97M 2% /run
/dev/sda2 246G 46G 190G 20% /
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/loop1 100M 100M 0 100% /snap/core/11798
/dev/loop0 100M 100M 0 100% /snap/core/11993
/dev/loop3 56M 56M 0 100% /snap/core18/2284
/dev/loop2 56M 56M 0 100% /snap/core18/2253
/dev/loop5 62M 62M 0 100% /snap/core20/1270
/dev/loop4 62M 62M 0 100% /snap/core20/1242
/dev/loop7 68M 68M 0 100% /snap/lxd/21835
/dev/loop6 68M 68M 0 100% /snap/lxd/21803
tmpfs 98M 0 98M 0% /run/user/0
Kommentare zu diesem Artikel
Schreib einen Kommentar zum Artikel
Vielen Dank für deinen Kommentar! :-)
Da alle Kommentare von Hand bearbeitet werden,
gedulde dich bitte, bis der Kommentar freigeschaltet wird.
Formular nicht richtig ausgefüllt.
Oops... da ist was schiefgelaufen :-(
Dein Kommentar konnte nicht gespeichert werden.
Bitte probier es später nochmal.