SAN avec Proxmox : iSCSI, FC, NFS, ce qui change par rapport à VMFS¶
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 nonepour 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-chainles 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¶
-
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 1bénéficie du verrou cluster de Proxmox. -
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 aveclvs, pas avecls. -
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 stockagelvmpartagé. -
Quel protocole choisir pour stocker ISO et templates ?
Réponse
NFS : stockage fichier partagé, simple, qui accepte les contenus
isoetvztmpl.
Pour aller plus loin¶
- Types de stockage Proxmox et glossaire VMware → Proxmox
- LVM partagé sur LUN : snapshots, thin vs thick, limites
- Documentation officielle : Proxmox VE Storage, Storage: LVM, Multipath