Du möchtest in deiner Proxmox Umgebung Storage über iSCSI beziehen und gleichzeitig legst du etwas Wert auf Multipathing und mehrere Pfade? Kein Problem, denn Proxmox (bzw. Debian) kann Multipathing mit iSCSI von Hause aus.

Hier folgt nun keine Detailanleitung, aber einige Informationen und Einrichtungshinweise, die dir bei der Konfiguration helfen können. Als Grundvoraussetzung wird natürlich genommen, dass du dein iSCSI Storage über mehrere Wege erreichen kannst. Das können mehrere Netzwerkpfade sein oder sogar Active/Active Speichersysteme wie NetApp oder Pure Storage. Dort ist es sogar möglich Aktiv über mehrere Pfade zu unterschiedlichen Systemen zu greifen zu können.

Zusammenstellung: Einrichtungshinweise

Zunächst musst du für deine Interfaces, sogenannte iSCSI Interfaces erstellen und diese mit Informationen belegen.

iscsiadm -m iface -I enp2n0--op=new
iscsiadm -m iface -I enp2n0 --op=update -n iface.hwaddress -v ac:8a:14:a4:ae:14
iscsiadm -m iface -I enp2n0 --op=update -n iface.ipaddress -v 10.10.10.2

Danach werden wir mit den soeben erstellten Interfaces, einen Versuch starten Ziele zu unserem Storage-Target zu finden. 10.10.10.10 wäre hier die IP für das Ziel, also der Storage und am Ende kommt der IQN von deinem eigenen System. Den iSCSI Initiatorname findest du unter /etc/iscsi/initiatorname.iscsi

iscsiadm -m discovery -I enp2n0 --op=new --op=new --type sendtargets --portal 10.10.10.10:3260 iqn.1993-08.org.debian:01:a12a2efcf6b3
iscsiadm -m node -I enp2n0 --login

Jetzt sollte sogar schon die Verbindung aufgebaut sein und wenn dir eine oder mehrere LUNs zugewiesen worden sind vorm Storage selber, dann solltest du auch schon mit lsblk diese entdecken können. Wir benötigen nun jetzt die SCSI-ID WWID der entsprechenden LUN oder eben mehreren LUNs.

/lib/udev/scsi_id -g -u -d /dev/sda

Kommen wir zum Multipathing und zur Konfiguration. Wir benötigen die Multipathing Pakete im Proxmox. Die installieren wir nach und öffnen anschließend die Konfiguration vom Multipathing.

apt update
apt install multipath-tools

systemctl enable multipathd
systemctl start multipathd

## Damit kannst du immer überprüfen ob du mit mehreren Pfaden verbunden bist ##
multipath -ll

/etc/multipath.conf ist die Datei. Dort ist es jetzt wichtig im unteren Teil die WWIDs der LUNs einzutragen. Ich nutze dafür auch gerne Aliases, damit man die LUNs besser wiedererkennt im Hauptsystem.

defaults {
        find_multipaths         strict
        polling_interval        2
        path_selector           "round-robin 0"
        path_grouping_policy    multibus
        uid_attribute           ID_SERIAL
        rr_min_io               100
        failback                immediate
        no_path_retry           queue
        user_friendly_names     yes
}

multipaths {
        multipath {
                wwid  "36001405a76d0c4cfe7a4e89f00000001"
                alias lun1
        }
        multipath {
                wwid  "36001405a76d0c4cfe7a4e89f00000002"
                alias lun2
        }
        multipath {
                wwid  "36001405a76d0c4cfe7a4e89f00000003"
                alias lun3
        }
}

Jetzt müssen wir anschließend noch die Devices wirklich auf die „Whitelist“ setzen.

multipath -a /dev/sda

Die LUN ist nun im System hochverfügbar eingehängt, jetzt wollen wir diese noch dem LVM zuführen und dann ins Proxmox einhängen.

pvcreate /dev/mapper/lun1
vgcreate lun1 /dev/mapper/lun1

Im Proxmox hängen wir dann die Volume Group nur noch ein.

Datacenter → Storage → Add → LVM

  1. ID: frei wählen (z. B. lvm-lun1)
  2. Volume group: vg_lun1 auswählen
  3. Base storage: Existing
  4. Häkchen bei Shared, wenn alle Proxmox-Nodes Zugriff auf die gleiche LUN haben

Wir sind fertig. Jetzt sind alle Knoten mit der entsprechenden LUN über mehrere Pfade aktiv verbunden und werden auch im Fall der Fälle die Pfade schwenken und andere benutzen.

Wenn du Unterstützung benötigst bei der Einrichtung, dann melde dich doch gerne bei mir – info@prox-it.de

Multipath