Au niveau du partitionnement, je vire tout ce qui est LVM et je remplace par du ZFS
Une fois le serveur installé
root@proxmox8:~# zpool status pool: zp0 state: ONLINE status: Some supported and requested features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. config: NAME STATE READ WRITE CKSUM zp0 ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 nvme-nvme.8086-43565046373334343030474d34353052474e-494e54454c205353445045324d583435304737-00000001-part5 ONLINE 0 0 0 nvme-nvme.8086-43565046373334343030455134353052474e-494e54454c205353445045324d583435304737-00000001-part5 ONLINE 0 0 0 errors: No known data errors root@proxmox8:~# zpool upgrade zp0 This system supports ZFS pool feature flags. Enabled the following features on 'zp0': encryption project_quota device_removal obsolete_counts zpool_checkpoint spacemap_v2 allocation_classes resilver_defer bookmark_v2 redaction_bookmarks redacted_datasets bookmark_written log_spacemap livelist device_rebuild zstd_compress draid zilsaxattr head_errlog blake3 block_cloning vdev_zaps_v2 root@proxmox8:~# zpool status pool: zp0 state: ONLINE config: NAME STATE READ WRITE CKSUM zp0 ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 nvme-nvme.8086-43565046373334343030474d34353052474e-494e54454c205353445045324d583435304737-00000001-part5 ONLINE 0 0 0 nvme-nvme.8086-43565046373334343030455134353052474e-494e54454c205353445045324d583435304737-00000001-part5 ONLINE 0 0 0 errors: No known data errors
Pour pouvoir faire des snapshot de vos VM
— https://forum.proxmox.com/threads/zfs-and-snapshots-again.132104/
Il n’est pas nécessaire de créer un dataset supplémentaire, on peut utiliser le zp0 créé par défaut.
Mais je laisse la commande pour info.
root@proxmox8:/# zfs create zp0/dataset root@proxmox8:/# zfs list NAME USED AVAIL REFER MOUNTPOINT zp0 50.3G 333G 24K none zp0/dataset 24K 333G 24K none zp0/zd0 50.3G 333G 50.3G /var/lib/vz
Dans proxmox, cliquez sur datacenter aller dans le menu Storage cliquer sur Add / ZFS
Choisissez votre dataset, content = Disk Image, bien cocher la case Thin provision → OK
Ensuite, cliquez sur votre VM, cliquez sur Hardware, sélectionnez votre Hard Disk, cliquez sur le menu Disk Action puis Move Storage
Choisissez votre dataset et voilà !
root@proxmox8:/# zfs list NAME USED AVAIL REFER MOUNTPOINT zp0 84.2G 300G 24K none zp0/dataset 33.9G 300G 24K none zp0/dataset/vm-120-disk-0 33.9G 300G 33.9G - zp0/zd0 50.3G 300G 50.3G /var/lib/vz
Par défaut, la swap est très vide utilisé à 100% sur proxmox.
On va donc modifier la swappiness pour résoudre ce problème qui fait crier zabbix
Pour vérifier la valeur actuelle
cat /proc/sys/vm/swappiness
Dans mon cas j’ai décidé de mettre swappiness à 1, la commande suivante applique cette valeur instantanément
sysctl -w vm.swappiness=1
Pour quelle soit prise en compte lors du reboot de la machine, il faut créer un fichier dans /etc/sysctl.d
echo "vm.swappiness=1" > /etc/sysctl.d/swappiness.conf
Afin de décharger le contenu de la swap dans votre ram, il faut désactiver la swap puis la réactiver avec la commande suivante
swapoff -av && swapon -av
Vous pourrez suivre l’évolution dans un autre terminal soit avec la commande htop ou avec la commande suivante
watch free
Pour avoir la taille la plus petite d’un backup d’une VM, vous devez utiliser un SCSI Controller de type VirtIO SCSI.
Puis activer l’option “discard” sur le Hard Disk.
Cependant, cela ne fait pas tout. Il faut lancer la commande suivante dans votre VM de façon ponctuelle ou périodique pour désallouer les blocks non utilisés du filesystem.
fstrim -va
Créons un bridge qui définira notre réseau local
Name: vmbr1 IPv4/CIDR : 192.168.0.1/24 Gateway (IPv4) : (vide) Bridge ports: (vide)
cat /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE