LVM thin / Discard / Proxmox
Inhaltsverzeichnis
Proxmox
Die folgenden Einstellungen müssen in Proxmox bzw. auf dem Proxmox Host vorgenommen werden.
WebGUI Einstellungen
Folgende Einstellungen müssen bei der VM über Proxmox eingestellt sein:
- SCSI Controller Type muss auf "VirtIO SCSI" stehen
- Laufwerk muss als "SCSI" eingebunden sein
- "Discard" muss bei dem Laufwerk aktiviert sein
Bus Typ ändern
Falls die Festplatte als z.B. Virtio eingebunden ist, kann dies über die Konfigurationsdatei geändert werden.
/etc/pve/qemu-server/<vm id>.conf
Warnung: Damit die Änderung wirksam wird, muss die VM neu gestartet werden! |
Einstellungen in der VM
Die folgenden Einstellungen müssen in der VM durchgeführt werden.
Debian/Ubuntu
nano /etc/initramfs-tools/modules
virtio virtio_scsi
update-initramfs -u
Test
Mit dem folgenden Befehl kann getestet werden, ob es funktioniert hat:
fstrim /
Ausgeführt werden muss der Befehl in der VM!
Discard
Online Discard
Der Kernel informiert dem Controller sofort, wenn Speicherbereiche durch Löschen von Dateien frei werden.
nano /etc/fstab
Zum aktivieren muss die Option "discard" bei den mount options hinzugefügt werden.
# <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/hdd-root / ext4 discard,noatime,errors=remount-ro 0 1
Batched Discard
Der Dienst "fstrim.timer" sucht wöchentlich nach ungenutzte Bereiche und meldet diese dem Controller.
Debian hat die fstrim.service und fstrim.timer Dateien zwar Verfügbar, aber standardmäßig nicht in systemd geladen. Sie müssen die Dateien nur zuerst kopieren:
cp /usr/share/doc/util-linux/examples/fstrim.service /etc/systemd/system cp /usr/share/doc/util-linux/examples/fstrim.timer /etc/systemd/system
Autostart aktivieren:
systemctl enable fstrim.timer
Und zum Schluss den Dienst starten:
systemctl start fstrim.timer