Dans ce tutoriel, nous allons voir comment utiliser ZFS comme système de stockage sur Proxmox.
ZFS c’est quoi ?
Avant de commencer, ce tutoriel, on va voir qu’est ce que ZFS (Zettabyte File System).
En réalité ZFS est un système de fichier, mais comme vous allez le voir à sa présentation, ZFS c’est bien plus que ça, il est même considéré comme un système de stockage.
ZFS a été développé à la base par Sun Microsystems au début des années 2000 afin de faire évoluer les systèmes de fichiers qui n’avait pas évolué depuis plusieurs décennies.
Voici quelques caractéristiques de ZFS :
- Gestion des disques physiques
- Contrôles d’intégrités des données
- Compressions
- Chiffrements
- Snapshot
- …
ZFS fonctionnement avec des Pools de disques physiques que l’on va regrouper avec un système de RAID pour permettre la redondance des données et assurer leur sécurité en cas de perte d’un ou plusieurs disques physiques dans le Pool.
Si vous souhaitez en savoir plus sur ZFS, voici quelques liens qui traite le sujet pour devenir incollable :
- https://fr.wikipedia.org/wiki/ZFS
- Qu’est-Ce Que Le Système De Fichiers ZFS ? sur OSNET
- ZFS, vous connaissez ? Vous devriez !
ZFS dans Proxmox
La bonne nouvelle, c’est ZFS est intégré nativement dans Proxmox et totalement administrable depuis l’interface Web, on ne verra pas de ligne de commande dans ce tutoriel 🙂
Comme pour CEPH, le seul prérequis est de présenter les disques du serveur directement à Proxmox sans passer par la carte RAID (JBOD)
Ci-dessous, les disques physiques du serveur qui sont présenté directement :
Comme vous pouvez le voir, je dispose de 5 disques physiques.
Si vous souhaitez mettre en place la réplication de machines virtuelles entre deux hôtes Proxmox, l’utilisation de ZFS est prérequis afin de pouvoir faire des snapshots.
Configurer une volume ZFS dans Proxmox
On va commencer par créer un Pool de disques dans Proxmox qui sera ensuite ajouter au stockage disponible.
Depuis un serveur Proxmox, aller sur Disk / ZFS et cliquer sur Create: ZFS 1.
Nommer le pool 1, sélectionner le type de RAID souhaité 2, configurer la compression 3, sélectionner les disques qui vont être ajouter dans le pool 4 et cliquer sur le bouton Create 5.
Ici j’ai choisi le niveau de RAID RAIDZ qui correspond à un RAID5 et j’ai volontairement désactiver la compression car ce sont des disques mécaniques et cela va réduire la charge CPU sur le serveur.
Vous trouverez ici les explications sur les niveaux de RAID.
Patienter pendant la création du Pool et du stockage.
Le Pool ZFS 1 est créé et on peut voir qu’un stockage 2 a été ajouté au serveur Proxmox.
Sur la capture, on peut voir que le Pool fait quasiment 1.2TB se qui correspond à 4*300 GB, par contre le stockage disponible est moindre du fait du disque de parité 3*300GB soit 900GB.
Si on regarde le détail, on peut voir les disques qui compose le Pool et leur état santé.
Depuis la gestion des disques physiques, on peut voir les disques attribués au Pool ZFS.
Si on va sur le stockage qui a été ajouté depuis le Pool ZFS, on voit bien que le type est ZFS et comme évoqué ci-dessus, le stockage totale disponible est de 840 GB.
Utiliser le stockage ZFS
C’est assez simple, lors de la création d’une machine virtuelle où d’un conteneur LXD, il suffit de placer le ou les disques virtuels sur le stockage de type ZFS.
Si vous avez déjà des VM, il est possible de déplacer les disques virtuels.