====== 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