Proxmox peut utiliser de multiples backend de stockage, dont ceph et ZFS (y compris en même temps)
Soit le backend fait la réplication nativement (cas de ceph), soit proxmox peut s’en charger (cas avec ZFS).
Dans ce dernier cas, pour ZFS, il utilise le mécanisme de snapshots et de send/recv. A intervalle régulier (cron), il va faire un nouveau snapshot, transmettre sur le noeud réplique ce qui a changé depuis le dernier snapshot et supprimer l’ancien snapshot.
Au final c’est un peu comme du ceph mais avec un léger différé et pas temps réel (réplication asychrone dixit @anon6747921)
Comme on a le stockage des VM ou containers répliqués, on peut tirer parti de la haute dispo de proxmox… si un noeud ne répond plus dans le cluster, proxmox peut décider de redémarrer la VM ou le container sur un autre noeud avec la dernière version du stockage dispo.
Comparé à ceph, ZFS est intéressant car ça peut s’installer progressivement:
- un premier noeud proxmox+ZFS… pas de réplique.
- on ajoute un second noeud proxmox+ZFS , on passe proxmox en cluster de 2 noeuds et on peut faire une réplication entre les 2, container/VM par container/VM avec la fréquence de son choix pour chaque
Il y a un peu plus de souplesse car ZFS peut utiliser des disques entiers, des partitions, voire même… des fichiers. Facile aussi d’ajouter dans un pool un SSD ou une partition de SSD en cache de lecture (et de la retirer). Il y a aussi un usage non négligeable de la RAM dispo pour le cache, qui permet d’avoir des perf vraiment bonnes.
Pour ceph, il faut 3 noeuds pour démarrer (sauf erreur) et un bon réseau (de préférence dédié) entre les noeuds, ce qui est n’est pas indispensable pour les send/recv de ZFS.
Dans mon cas, j’utilise aussi ces send/recv pour faire un backup froid, distants, via une ligne VDSL. Je ne pense pas pouvoir faire ça aussi simplement avec ceph.
ZFS et ceph ne cochent pas les mêmes cases. Une bonne redondance au sein d’un pool ZFS apporte un très bon niveau de sécurité pour les données, la réplique me permet d’avoir une copie « chaude » et la réplique distante un backup « froid », le tout avec une seule techno, ce qui me facilite la vie
Dernier point entre les deux qui risque… les perfs… toujours difficile à comparer et sujet à débat mais voici une publication sur le sujet: https://jtsiskom.undip.ac.id/index.php/jtsiskom/article/view/13155 (le résumé est en anglais)
« ZFS has a higher performance of reading and writing operation than Ceph in IOPS, CPU usage, throughput, OLTP and data replication duration, except the CPU usage in writing operation. The test results are expected to be a reference in the selection of storage systems for data center applications. »
Et histoire d’embrouiller tout le monde… on peut créer des OSD ceph sur des pool ZFS
Ceci peut être une solution hybride qui permet pour certaines données sensibles une réplication à la ceph, et pour d’autre un simple stockage ZFS répliqué ou pas.