↓ Skip to main content

iSCSI Proxmox VE (PVE) + HPE MSA 2070

·830 words·4 mins
Antoine Bourdier
Author
Antoine Bourdier

Objectif
#

Mettre en place le stockage iSCSI pour un cluster Proxmox VE (PVE) avec VLAN dédiés, jumbo frames, authentification CHAP et multipathing (ALUA) sur une baie HPE MSA 2070.

Prérequis
#

  • VLAN iSCSI créés (4000, 4001) → Un VLAN par contrôleur.
  • MTU 9000 (jumbo frames) de bout en bout : ports PVE + switch + baie
  • Adressage IP iSCSI défini (une IP par port/chemin)
  • Pool/volumes iSCSI déjà créés (ou à créer) sur la baie

1) Réseau (VLAN + ports)
#

  1. Créer les VLAN fabric sur les switches.
  2. Configurer les ports :
    • Côté Proxmox : ports/tagged sur le(s) VLAN fabric
    • Côté baie : ports/untagged sur le VLAN fabric
  3. Configurer les interfaces sur PVE :
    • nic4.4000 en MTU 9000
    • nic5.4001 en MTU 9000

Point de contrôle : vérifier le ping entre chaque IP fabric PVE ↔ baie (sur chaque VLAN/chemin).


2) Architecture de redondance (Fabrics, Switchs, Contrôleurs, Multipathing)
#

Objectif
#

Assurer qu’une panne d’un élément (lien, port, switch, VLAN, contrôleur MSA) n’interrompt pas l’accès aux LUN :

  • 2 chemins réseau totalement indépendants (Fabric A / Fabric B)
  • 2 contrôleurs sur la baie (CTRL A et CTRL B)
  • 2 switches en stack côté réseau (vu comme un seul switch logique, mais avec redondance matérielle)
  • Multipathing côté Proxmox (DM-Multipath) + ALUA côté MSA (chemins optimisés/non-optimisés)

Architecture recommandée (principe A/B)
#

On sépare deux “fabrics” iSCSI :

  • VLAN 4000 = Fabric A
    • Proxmox : nic4.4000 (MTU 9000)
    • Switch stack : ports iSCSI (tagged côté PVE, untagged ou access côté baie)
    • Baie MSA : ports iSCSI du contrôleur A dans le VLAN 4000
  • VLAN 4001 = Fabric B
    • Proxmox : nic5.4001 (MTU 9000)
    • Switch stack : ports iSCSI (mêmes règles)
    • Baie MSA : ports iSCSI du contrôleur B dans le VLAN 4001

Une interface iSCSI PVE = un VLAN = un chemin réseau, et chaque VLAN « mène » prioritairement à un contrôleur.

Câblage / switches (stack de 2)
#

  • PVE : une patte iSCSI sur un membre du stack, l’autre iSCSI sur l’autre membre
    • ex : nic4 → Switch-1, nic5 → Switch-2
  • MSA : ports iSCSI de chaque contrôleur répartis sur les 2 switches

Bonnes pratiques :

  • Éviter LACP/bond sur iSCSI.
  • 1 NIC = 1 IP = 1 chemin (la redondance/agrégation se fait par Multipath, niveau bloc).

Chemins attendus (exemple)
#

Pour une LUN présentée par la MSA sur un nœud PVE, vous devez voir plusieurs chemins (ex : 2 ports par contrôleur → 4 chemins).

Rôle d’ALUA (MSA) + DM-Multipath (PVE)
#

  • ALUA : annonce chemins Optimized/Active (chemins préférés – contrôleur propriétaire du LUN) et Non-optimized (secours)
  • PVE : multipathd regroupe tous les chemins d’un même LUN en un seul device (/dev/mapper/mpathX), bascule automatiquement en cas de coupure, maintient l’I/O

Scénarios de panne couverts
#

  • Perte d’un câble ou d’un port NIC côté PVE → chemins restants OK
  • Perte d’un port iSCSI sur la MSA → chemins restants OK
  • Perte d’un VLAN, d’un switch, ou d’un contrôleur → chemins restants OK (failover automatique)

Points de contrôle avant mise en prod
#

  1. Les deux VLAN (4000/4001) pingent correctement PVE <-> MSA (MTU 9000 validé)
  2. Les sessions iSCSI sont établies sur les deux fabrics (A et B)
  3. multipath -ll présente :
    • plusieurs chemins
    • des groupes d’accès par priorité (ALUA)
  4. Test de coupure :
    • débrancher nic4 puis nic5 et observer la continuité I/O à chaque fois
    • test failover contrôleur sur la baie et vérifier la bascule automatique

3) Baie MSA : stockage + CHAP
#

  1. Créer le pool de stockage sur la baie.
  2. Créer les volumes/LUN iSCSI.
  3. Activer/configurer l’authentification CHAP (même compte CHAP pour tous les nœuds PVE).
  4. Récupérer/configurer l’IQN (target) côté baie (MSA).

4) Proxmox : config IQN (initiator)
#

Sur chaque nœud PVE, modifier l’IQN (exemple) :

  • iqn.2026-04.local.domain:pve01-data

Fichier à modifier : /etc/iscsi/initiatorname.iscsi


5) Proxmox : installation iSCSI + multipath
#

Sur chaque nœud PVE :

apt update && apt install open-iscsi multipath-tools -y

systemctl enable --now iscsid
systemctl enable --now multipathd

6) Proxmox : activer CHAP (iscsid.conf)
#

Éditer /etc/iscsi/iscsid.conf :

node.session.auth.authmethod = CHAP
node.session.auth.username = pve
node.session.auth.password = StrongPassword123

7) Proxmox : configuration multipath (MSA 2070 / ALUA)
#

Éditer /etc/multipath.conf (exemple) :

defaults {
	user_friendly_names no
	find_multipaths yes
	path_grouping_policy group_by_prio
	path_selector "round-robin 0"
	rr_min_io 1
	rr_weight uniform
	failback immediate
	no_path_retry queue
	fast_io_fail_tmo 5
	dev_loss_tmo 600
}

devices {
	device {
		vendor "HP"
		product "MSA 2070 iSCSI"
		path_grouping_policy group_by_prio
		path_checker tur
		hardware_handler "1 alua"
		prio alua
		rr_weight uniform
		rr_min_io 50
		no_path_retry queue
		failback immediate
	}
}

8) Découverte des targets + login + autologin
#

# Découverte des targets
iscsiadm -m discovery -t sendtargets -p <IP_ISCSI_MSA>

# Login (avec CHAP défini dans iscsid.conf)
iscsiadm -m node --login

# Activer l'auto-login au démarrage
iscsiadm -m node --op update -n node.startup -v automatic

# Redémarrage des services
systemctl restart open-iscsi
systemctl restart multipathd

9) Vérifications
#

# (Optionnel) Forcer une (re)découverte multipath
multipath -v2

# Vérifier les chemins / mapping
multipath -ll

10) Côté stockage PVE (LVM) + HA (à faire)
#

  • Créer le DATASTORE sur proxmox
  • Tester la HA (migration, reprise, etc.)