Table des matières

Proxmox8

Installation

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

Config ZFS

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

la swap

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

sécuriser son serveur proxmox

https://doc.ataxya.net/books/proxmox-ve/page/securisation-basique-de-son-proxmox

Taille des backups

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éer un sous réseau local

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