Proxmox ISCSI Anbindung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf | = Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian = | ||
==ZFS== | |||
*[[zfs]] | |||
== | ==Debian== | ||
*'''debian-template''' klonen unter dem namen '''iscsi-server''' auf kvm-ebene | |||
*50GB HD anhängen | |||
*Maschine starten | |||
;Folgende Daten | |||
{| class="wikitable" | |||
! Einstellung !! Wert | |||
|- | |||
| Hostname || iscsi-server.lab.int | |||
|- | |||
| IP-Adresse || 10.0.10.235/24 | |||
|- | |||
| Gateway || 10.0.10.1 | |||
|- | |||
| Nameserver (DNS) || 8.8.8.8 | |||
|} | |||
;Konfigurieren von Hand oder mit '''debian-kvm-setup.sh''' | |||
== Einleitung == | == Einleitung == | ||
Diese Anleitung beschreibt | Diese Anleitung beschreibt die Einrichtung eines iSCSI-Servers mit ZFS unter Debian 12 sowie die Anbindung in Proxmox VE per "ZFS over iSCSI" mit dem LIO-Target-System. | ||
== | |||
Bearbeite die | == Repository vorbereiten (contrib aktivieren) == | ||
Bearbeite die Paketquellen: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
nano /etc/apt/sources.list | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Füge | Füge contrib zu den relevanten Zeilen hinzu: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
deb http:// | deb http://deb.debian.org/debian bookworm main contrib | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aktualisiere die Paketliste: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
apt update | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== ZFS | == ZFS und LIO installieren == | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
apt install zfsutils-linux targetcli-fb | |||
reboot | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== ZFS-Pool erstellen == | |||
Erstelle einen ZFS-Pool auf einer freien Disk oder Partition: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
zpool create pool1 /dev/vdb | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== iSCSI-Target | == iSCSI-Target in LIO anlegen == | ||
Starte die | Starte die LIO-Konfiguration: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
targetcli | targetcli | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Lege das iSCSI-Target an: | |||
<syntaxhighlight | <syntaxhighlight> | ||
cd /iscsi | cd /iscsi | ||
create iqn. | create iqn.2025-07.net.example:storage | ||
exit | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== ACL für Proxmox-Initiatoren anlegen == | |||
Proxmox verwendet iSCSI-Initiatornamen, die freigegeben werden müssen. Ermittle den Initiatornamen auf jedem Node: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat /etc/iscsi/initiatorname.iscsi | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Erstelle für jeden Node einen passenden ACL-Eintrag: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
targetcli | |||
cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls | |||
create iqn.1993-08.org.debian:01:pmx1 | |||
create iqn.1993-08.org.debian:01:pmx2 | |||
create iqn.1993-08.org.debian:01:pmx3 | |||
exit | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== SSH-Schlüssel pro Proxmox-Node für ZFS-Zugriff == | |||
Jeder Proxmox-Knoten benötigt einen eigenen SSH-Schlüssel, um mit dem ZFS-Server (10.0.10.235) kommunizieren zu können. | |||
Auf jedem Node: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10. | mkdir -p /etc/pve/priv/zfs | ||
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.235_id_rsa | |||
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.235_id_rsa.pub root@10.0.10.235 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
;Wichtig Auf jedem Proxmox-Node, einmalig HostKey akzeptieren. | |||
ssh -i /etc/pve/priv/zfs/10.0.10.235_id_rsa root@10.0.10.235 | |||
== Proxmox: Speicher hinzufügen == | |||
In der Proxmox-Oberfläche: | |||
Datacenter → Storage → Add → ZFS over iSCSI | |||
Einstellungen: | |||
* ID: zfs-iscsi | |||
* Portal: 10.0.10.235 | |||
* Pool: pool1 | |||
* Target: iqn.2025-07.net.example:storage | |||
* Target Portal Group: tpg1 | |||
* iSCSI Provider: LIO | |||
* Blocksize: 8k | |||
* Write Cache: aktiviert | |||
* Thin Provisioning: optional | |||
Hinweise: | |||
* Portal | * Target Portal Group muss exakt tpgX heißen – z. B. tpg1 | ||
* | * Proxmox erstellt zvols und LUNs automatisch – keine manuelle Konfiguration nötig | ||
* | * Blocksize 8k wird empfohlen zur Vermeidung von Overhead | ||
== Testen == | == Testen == | ||
Erstelle eine VM | Erstelle eine neue VM in Proxmox und wähle den ZFS-iSCSI-Speicher aus. | ||
Proxmox legt dabei automatisch ein zvol an und bindet es per LIO ein. | |||
== Fehlerbehebung == | |||
* systemctl status rtslib-fb-targetctl | |||
* targetcli ls | |||
* Firewall prüfen: Port 3260 TCP muss erreichbar sein | |||
* Bei „Authorization failure(514)“ sicherstellen, dass der Initiator als ACL in LIO eingetragen ist | |||
==Zugriff auf ein zvol unter Debian== | |||
*[[Zugriff auf ein zvol unter Debian]] | |||
Aktuelle Version vom 11. Juli 2025, 07:44 Uhr
Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian
ZFS
Debian
- debian-template klonen unter dem namen iscsi-server auf kvm-ebene
- 50GB HD anhängen
- Maschine starten
- Folgende Daten
| Einstellung | Wert |
|---|---|
| Hostname | iscsi-server.lab.int |
| IP-Adresse | 10.0.10.235/24 |
| Gateway | 10.0.10.1 |
| Nameserver (DNS) | 8.8.8.8 |
- Konfigurieren von Hand oder mit debian-kvm-setup.sh
Einleitung
Diese Anleitung beschreibt die Einrichtung eines iSCSI-Servers mit ZFS unter Debian 12 sowie die Anbindung in Proxmox VE per "ZFS over iSCSI" mit dem LIO-Target-System.
Repository vorbereiten (contrib aktivieren)
Bearbeite die Paketquellen:
nano /etc/apt/sources.list
Füge contrib zu den relevanten Zeilen hinzu:
deb http://deb.debian.org/debian bookworm main contribAktualisiere die Paketliste:
apt update
ZFS und LIO installieren
apt install zfsutils-linux targetcli-fb
reboot
ZFS-Pool erstellen
Erstelle einen ZFS-Pool auf einer freien Disk oder Partition:
zpool create pool1 /dev/vdb
iSCSI-Target in LIO anlegen
Starte die LIO-Konfiguration:
targetcli
Lege das iSCSI-Target an:
cd /iscsi
create iqn.2025-07.net.example:storage
exitACL für Proxmox-Initiatoren anlegen
Proxmox verwendet iSCSI-Initiatornamen, die freigegeben werden müssen. Ermittle den Initiatornamen auf jedem Node:
cat /etc/iscsi/initiatorname.iscsi
Erstelle für jeden Node einen passenden ACL-Eintrag:
targetcli
cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls
create iqn.1993-08.org.debian:01:pmx1
create iqn.1993-08.org.debian:01:pmx2
create iqn.1993-08.org.debian:01:pmx3
exit
SSH-Schlüssel pro Proxmox-Node für ZFS-Zugriff
Jeder Proxmox-Knoten benötigt einen eigenen SSH-Schlüssel, um mit dem ZFS-Server (10.0.10.235) kommunizieren zu können.
Auf jedem Node:
mkdir -p /etc/pve/priv/zfs
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.235_id_rsa
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.235_id_rsa.pub root@10.0.10.235
- Wichtig Auf jedem Proxmox-Node, einmalig HostKey akzeptieren.
ssh -i /etc/pve/priv/zfs/10.0.10.235_id_rsa root@10.0.10.235
Proxmox: Speicher hinzufügen
In der Proxmox-Oberfläche: Datacenter → Storage → Add → ZFS over iSCSI
Einstellungen:
- ID: zfs-iscsi
- Portal: 10.0.10.235
- Pool: pool1
- Target: iqn.2025-07.net.example:storage
- Target Portal Group: tpg1
- iSCSI Provider: LIO
- Blocksize: 8k
- Write Cache: aktiviert
- Thin Provisioning: optional
Hinweise:
- Target Portal Group muss exakt tpgX heißen – z. B. tpg1
- Proxmox erstellt zvols und LUNs automatisch – keine manuelle Konfiguration nötig
- Blocksize 8k wird empfohlen zur Vermeidung von Overhead
Testen
Erstelle eine neue VM in Proxmox und wähle den ZFS-iSCSI-Speicher aus. Proxmox legt dabei automatisch ein zvol an und bindet es per LIO ein.
Fehlerbehebung
- systemctl status rtslib-fb-targetctl
- targetcli ls
- Firewall prüfen: Port 3260 TCP muss erreichbar sein
- Bei „Authorization failure(514)“ sicherstellen, dass der Initiator als ACL in LIO eingetragen ist