@@ -168,11 +168,53 @@ Lors de la création de la VM, l'associer au bridge `vmbrXXX` correspondant à s
# Configuration du stockage
On part sur du ZFS. Il suffit de créer un pool ZFS dans l'interface d'admin, en spécifiant la liste des disques à utiliser (mode miroir avec deux disques). On peut créer un pool ZFS en SSD et un autre pool en HDD : il faudra choisir le pool désiré lors de la création ou migration de la VM.
## Architecture
On stocke les disques des VM sur du ZFS local à chaque hyperviseur.
On construit deux pools ZFS sur chaque hyperviseur selon le type de disques :
- zpool-ssd : SSD
- zpool-hdd : disque dur mécanique
Autant que possible, les pools sont construits sur des paires de disque en mode "miroir"
(équivalent de RAID-1).
Le stockage est uniquement local, mais on peut configurer de la réplication des disques de VM
à intervalle régulier. C'est efficace puisque ZFS n'envoie que les données qui ont été modifiées.
Il y a deux avantages à la réplication :
- si on veut migrer une VM d'un hyperviseur à l'autre, c'est beaucoup plus rapide parce qu'il y a
juste à resynchroniser la copie pré-répliquée
- en cas de grosse panne, on a une copie à peu près à jour des données sur un autre hyperviseur.
Il est alors possible de relancer manuellement les VMs sur l'autre hyperviseur : <https://pve.proxmox.com/wiki/Storage_Replication#_error_handling>
## Configuration lors de l'installation d'un hyperviseur
Pour que la réplication fonctionne, il faut absolument que les pools ZFS aient le même
nom sur tous les hyperviseurs. L'interface web proxmox n'est pas très intuitive, elle
empêche cela par défaut (voir <https://forum.proxmox.com/threads/replication-not-possible-cluster-zfs.56257/>)
Création du pool ZFS :
- s'assurer qu'il y a bien des disques dédiés à ZFS dans la machine
- dans l'interface web, aller sur la machine / ZFS. Choisir "miroir" si il y a deux disques, sinon "Single disk". Bien penser à décocher "Add Storage".
- dans l'interface web, aller sur Datacenter / Storage. Editer le pool, et ajouter le nouvel hyperviseur dans "Nodes"
Configuration du stockage local pour ne pas y stocker de disque de VM :
- dans Datacenter / Storage, éditer le pool "local", et désactiver "Disk image" dans "Content"
## Réplication
- aller sur la VM, menu "Replication"
- ajouter une entrée, choisir l'hyperviseur de destination
- on ne peut pas choisir le pool de destination : ce sera celui du même nom que le pool de départ
- limiter le débit à 20 MB/s pour éviter de surcharger le réseau
## Tuning
Si on est un peu short en mémoire sur les hyperviseurs, penser [à baisser la taille du cache ZFS](https://pve.proxmox.com/wiki/ZFS_on_Linux#_limit_zfs_memory_usage). Il faut rebooter pour que ce changement s'applique.
Penser à désactiver le stockage de VM sur le disque système Proxmox, sinon il y a un risque de se tromper de stockage à la création de VM... C'est dans Datacenter / Storage, éditer le stockage "local" et enlever "Disk image".