Proxmox : utiliser ZFS comme système de stockage

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 :

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.




7 réflexions au sujet de “Proxmox : utiliser ZFS comme système de stockage”

  1. Bonjour Romain, ici Max
    Comment vas-tu ?
    merci pour tes réponses toujours très appréciées !!!
    La raison pour laquelle je pensais à ZFS (plutôt qu’un raid « physique » via le serveur), c’est que je suis plus sûr que la licence ILO du MicroServer Gen8 que j’ai à ma disposition pour m’amuser soit toujours valide, et que le RAID serveur fonctionne bien.
    Et je me disais donc que via ZFS, ce serait peut-être plus ‘facile’.
    Du coup, si je pars avec du ZFS, notamment pour « émuler le RAID Serveur », est-ce que si je crée des répertoires VM1, VM2, VMx, et que je passe chaque répertoire à chaque VM, ça me fait l’équivalent des partitions ?
    Si oui, saurais-tu me dire s’il faut configurer spécifiquement les répertoires ?
    Te remerciant pour ta patience et ton aide,
    Max

    Répondre
  2. Bonjour Romain,

    J’espère que tu vas bien !
    Merci pour ton site qui me semble une petite mine d’or d’informations pour réaliser ce que je souhaite faire !
    Petite question rapide : sais-tu s’il est possible de partitionner ce stockage ZFS ? (un peu comme tu l’as fait ici https://rdr-it.io/proxmox-partitionner-un-disque/).
    L’idée serait d’avoir sur ce stockage ZFS une partition pour chacune des VMs que je souhaite créer.

    Te remerciant pour ton aide, et pour ce site !

    Répondre
    • Bonjour Max,

      Toujours bien et toi ? Merci pour ton retour.

      Concernant ta question sur ZFS et Proxmox, la réponse est non, car quand tu créées le pool ZFS dans Proxmox, le stockage est directement configuré sans possibilité de modifier le type ou partitionnement.

      Pour ce que tu veux faire, il faut passer par un raid matériel au niveau serveur si tu le peux, par contre tu peux les avantages de ZFS.

      Romain

      Répondre
      • Bonjour Romain,
        Merci pour ta réponse, très apprécié!
        Est-ce une limitation Proxmox, ou ZFS ?
        Est-ce que je dois comprendre que sur un pool de 4 HDD en ZFS, je ne peux pas faire des partitions ?
        Si c’est le cas, est-ce que si je crée des répertoires VM1, VM2, VMx, et que je passe chaque répertoire à chaque VM, ça me fait l’équivalent des partitions ?
        Si oui, saurais-tu me dire s’il faut configurer spécifiquement les répertoires ?
        Te remerciant encore pour ton aide,

        Répondre
        • Bonjour,

          non ce n’est pas une limitation de ZFS, mais plutôt sont fonctionnement qui permet d’avoir une redondance. Avec 4 disques, tu peux faire 2 pools en miroir.

          Romain

          Répondre
          • Bonjour Romain,
            Comment vas-tu ?
            Encore merci pour cette réponse.
            Effectivement, c’est ce que j’ai fait 2 pools en miroir avec Proxmox, en ZFS – au lieu d’avoir un espace total de 4*XTo, j’ai « juste » de disponible au total 2*XTo.
            Cependant, je comprends que ça ne répond pas totalement à mon besoin/idée
            Comment ferais-tu toi pour créer des partitions sur ces 2*XTo disponibles ?
            Te remerciant pour ton aide,

          • Bonjour,
            Bien merci et toi ?
            Pour quel raison tu veux utiliser ZFS ? Il ne serait pas plus intéressant pour toi de créer un raid 5 sur ton serveur et ensuite de pouvoir gérer les partitions comme tu le souhaites ?

Laisser un commentaire