Aller au contenu

SAN avec Proxmox : iSCSI, FC, NFS, ce qui change par rapport à VMFS

Day 0 · ConcevoirNiveau 2 · OpérerCoursRédigé · à valider en lab

Votre baie SAN existante se réutilise avec Proxmox VE, mais il n'existe pas d'équivalent de VMFS : un LUN partagé est découpé en volumes par LVM partagé, et les fonctions avancées (snapshots, thin provisioning) se pensent autrement. Objectif : savoir choisir entre iSCSI, FC et NFS, et anticiper les écarts avec vSphere avant de concevoir l'architecture « SAN externe ».

Notions clés

Le modèle de stockage Proxmox

Proxmox ne formate pas un LUN avec un système de fichiers en cluster. Chaque stockage est déclaré une fois dans /etc/pve/storage.cfg, fichier répliqué sur tous les nœuds par pmxcfs. Le plugin choisi détermine le comportement :

Plugin Niveau Partagé Snapshots VM Usage typique
iscsi (open-iscsi, noyau) bloc oui non (LUN brut) Socle d'un LVM partagé, content none
iscsidirect (libiscsi) bloc oui non LUN par VM, sans LVM possible, VM uniquement
lvm sur LUN iSCSI/FC/SAS bloc oui (shared 1) oui en qcow2 « volume chain » (aperçu technologique, PVE 9) Disques de VM sur SAN
nfs fichier oui oui via qcow2 ISO, templates, disques qcow2, sauvegardes vzdump
FC / SAS bloc géré par l'hôte, pas de plugin dédié via LVM Même logique que iSCSI : multipath + LVM

Le Fibre Channel n'a pas de plugin : les LUN apparaissent comme des disques SCSI locaux (/dev/sdX), on les agrège avec multipath, puis on pose un groupe de volumes LVM déclaré comme partagé.

VMFS vs Proxmox : correspondances

vSphere Proxmox VE Ce qui change
Datastore VMFS Stockage lvm partagé sur un LUN Pas de système de fichiers : un volume logique (LV) par disque de VM
Fichier VMDK LV vm-101-disk-0 (raw ou qcow2) Aucun fichier à parcourir avec ls ; on liste avec lvs
Snapshot VMware Snapshot qcow2 en chaîne de volumes Aperçu technologique, disque au format qcow2 obligatoire
Thin provisioning VMFS Thin côté baie uniquement LVM-thin n'est pas partageable entre nœuds
Verrouillage SCSI / ATS VAAI Verrou cluster pmxcfs La cohérence repose sur le cluster Proxmox, pas sur la baie
NMP / PSP Round Robin multipath-tools (multipathd) Configuration par nœud, non répliquée
Datastore NFS Stockage nfs Proche : fichiers .qcow2 ou .raw dans images/<vmid>/
Storage vMotion Move disk / qm disk move Fonctionne à chaud entre stockages

iSCSI, FC ou NFS ?

Critère iSCSI FC NFS
Réseau Ethernet dédié (2 VLAN ou 2 fabrics) SAN FC dédié, HBA Ethernet
Redondance Multipath (2 portails, 2 sous-réseaux) Multipath (2 fabrics) Bond ou nconnect, selon la baie
Snapshots de VM qcow2 sur LVM (aperçu) qcow2 sur LVM (aperçu) qcow2, mature
Complexité Moyenne Moyenne (zoning) Faible
Usage recommandé Disques de VM Disques de VM, baie déjà en FC ISO, templates, sauvegardes, petits environnements

Schéma de l'architecture « SAN externe »

flowchart LR
    subgraph Cluster PVE
      A[pve01] --- B[pve02] --- C[pve03]
    end
    A -- chemin A --> SA[Contrôleur A]
    A -- chemin B --> SB[Contrôleur B]
    B -- chemin A --> SA
    B -- chemin B --> SB
    C -- chemin A --> SA
    C -- chemin B --> SB
    SA --> L[(LUN partagé<br/>VG vg_san)]
    SB --> L
    L --> S[storage.cfg : lvm san-lvm shared 1]

Recommandations MSP

  • Un ou quelques gros LUN, avec un VG LVM par LUN : c'est la configuration documentée par Proxmox. Évitez un LUN par VM.
  • Déclarez le stockage iSCSI de base avec content none pour qu'aucune VM n'utilise un LUN brut par erreur.
  • Multipath systématique, même avec un seul contrôleur bi-port : voir Multipath sur iSCSI et FC.
  • Gardez les snapshots longs hors du SAN : la sauvegarde passe par PBS (pbs-local), qui n'a pas besoin de snapshot de stockage.
  • Placez ISO et templates sur NFS, séparés des disques de VM : voir NFS pour ISO, templates et disques qcow2.
  • Le client ajoute des disques de VM sur un stockage existant. L'ajout d'un LUN, d'un VG ou la modification de multipath relève du MSP en contrat N2/N3.

Pièges vus en support

  • Créer un stockage LVM-thin sur un LUN partagé : il n'est pas conçu pour un accès concurrent, la corruption de métadonnées est possible.
  • Oublier multipath : les mêmes LUN apparaissent deux fois (/dev/sdb, /dev/sdc) et LVM peut utiliser un seul chemin.
  • Attendre des snapshots sur des disques raw existants : seuls les disques qcow2 sur un stockage avec snapshot-as-volume-chain les supportent.
  • Présenter le LUN à un hôte ESXi et à Proxmox en même temps pendant une migration : écrasement assuré. Un LUN appartient à un seul hyperviseur.
  • Réseau iSCSI dans le même VLAN que les VM : latence et risque de saturation.

Testez-vous

  1. Pourquoi ne peut-on pas utiliser LVM-thin sur un LUN partagé entre trois nœuds ?

    Réponse

    LVM-thin maintient des métadonnées de pool modifiées par l'hôte qui écrit. Il n'a pas de verrouillage multi-hôtes : seul LVM « épais » avec shared 1 bénéficie du verrou cluster de Proxmox.

  2. Quel est l'équivalent Proxmox d'un fichier VMDK sur VMFS ?

    Réponse

    Un volume logique LVM (par exemple vm-101-disk-0) dans le VG posé sur le LUN. On le voit avec lvs, pas avec ls.

  3. Comment un LUN Fibre Channel est-il déclaré dans Proxmox ?

    Réponse

    Il n'y a pas de plugin FC. Le LUN est vu par l'hôte, agrégé par multipath (/dev/mapper/...), puis on crée un VG et un stockage lvm partagé.

  4. Quel protocole choisir pour stocker ISO et templates ?

    Réponse

    NFS : stockage fichier partagé, simple, qui accepte les contenus iso et vztmpl.

Pour aller plus loin