Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
virtualisierung:proxmox_kvm_und_lxc:proxmox_debian_als_iscsi_server_verwenden [2017/09/03 16:58] – boospy | virtualisierung:proxmox_kvm_und_lxc:proxmox_debian_als_iscsi_server_verwenden [2019/03/09 23:28] (aktuell) – boospy | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Proxmox Debian als ISCSI Server verwenden ====== | ====== Proxmox Debian als ISCSI Server verwenden ====== | ||
- | __**Systemannahme: | + | __**Systemannahme: |
OpenSCSI macht immer wieder Probleme, die Konfiguration ist meinesachtens kompliziert und oft verwirrend. Die Lösung bietet | OpenSCSI macht immer wieder Probleme, die Konfiguration ist meinesachtens kompliziert und oft verwirrend. Die Lösung bietet | ||
**" | **" | ||
< | < | ||
- | apt install targetcli | + | apt install targetcli |
+ | apt install targetcli-fb (Debian9) | ||
</ | </ | ||
+ | ===== Erstellen des Targets ===== | ||
+ | Um nun eine ISCSI-Freigabe auf unserem Server zu bekommen erstellen wir zunächst ein Zvol. | ||
+ | < | ||
+ | zfs create -V 50gb v-machines/ | ||
+ | </ | ||
+ | Damit wir uns später auch noch auskennen, nehmen wir als zvolname gleich den FQDN unserer VM wo wir den Speicher verwenden wollen. | ||
+ | Dieses Zvol ist dann auch wie wenn man es direkt verwenden würde unsere virtuelle Festplatte. Oder was auch immer. Hat man das Zvol geht es an unsere Cli. Um nun mit der Konfuration zu starten, geben wir den Befehl '' | ||
+ | |||
+ | Das ganze sieht nun so aus: | ||
+ | <code python> | ||
+ | /> ls | ||
+ | o- / ..................................................................................................... [...] | ||
+ | o- backstores .......................................................................................... [...] | ||
+ | | o- block .............................................................................. [Storage Objects: 0] | ||
+ | | o- fileio ............................................................................. [Storage Objects: 0] | ||
+ | | o- pscsi .............................................................................. [Storage Objects: 0] | ||
+ | | o- ramdisk ............................................................................ [Storage Objects: 0] | ||
+ | o- iscsi ........................................................................................ [Targets: 0] | ||
+ | o- loopback ..................................................................................... [Targets: 0] | ||
+ | o- sbp .......................................................................................... [Targets: 0] | ||
+ | o- vhost ........................................................................................ [Targets: 0] | ||
+ | </ | ||
+ | |||
+ | ==== In der Targetcli angekommen ==== | ||
+ | < | ||
+ | cd / | ||
+ | / | ||
+ | </ | ||
+ | Mit '' | ||
+ | < | ||
+ | / | ||
+ | o- block .................................................................................. [Storage Objects: 1] | ||
+ | o- testvm.deepdoc.at ............... [/ | ||
+ | </ | ||
+ | Nun weiter mit der Config: | ||
+ | < | ||
+ | cd /iscsi/ | ||
+ | # wir können hier zuerst nur " | ||
+ | /iscsi/> create wwn=iqn.2003-01.org.linux-iscsi.testvm.deepdoc.at: | ||
+ | </ | ||
+ | Das ganze leght auch das Portal mit an. | ||
+ | < | ||
+ | /iscsi> ls | ||
+ | o- iscsi .......................................................................................... [Targets: 1] | ||
+ | o- iqn.2003-01.org.linux-iscsi.testvm.deepdoc.at: | ||
+ | o- tpg1 ............................................................................. [no-gen-acls, | ||
+ | o- acls ........................................................................................ [ACLs: 0] | ||
+ | o- luns ........................................................................................ [LUNs: 0] | ||
+ | o- portals .................................................................................. [Portals: 1] | ||
+ | o- 0.0.0.0: | ||
+ | </ | ||
+ | Hier wird angegeben auf welcher IP-Adresse des Servers das Target freigegeben wird. Bei nur einer IP-Adresse wird diese standardmäßig ausgewählt, | ||
+ | < | ||
+ | /iscsi> cd iqn.2003-01.org.linux-iscsi.testvm.deepdoc.at: | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | ==== Konfigurieren der LUN's ==== | ||
+ | * Eine LUN bezeichnet eine Logical Unit (LU). | ||
+ | * Oft wird aber auch der Begriff Logical Unit Number verwendet. | ||
+ | * Sie wird zur Zuordnung für die Ansteuerung von Geräten im SCSI-Bus verwendet. | ||
+ | * Es können je Target ein oder mehrere LUNs bereitgestellt werden. | ||
+ | |||
+ | < | ||
+ | cd / | ||
+ | / | ||
+ | </ | ||
+ | ==== ACL's setzen ==== | ||
+ | Hiermit wird gesteuert auf welche Interfaces ein Initiator zugreifen darf. Um hier auch den richtigen Namen zu verwenden, sieht man sich auf dem Client (einer Proxmoxnode) die Konfig an. '' | ||
+ | < | ||
+ | systemctl restart iscsid.service | ||
+ | </ | ||
+ | Dies gilt auch für die Änderung via Webmin. | ||
+ | |||
+ | Man kann an dieser Stelle natürlich auch mehr als eine ACL hinzufügen. | ||
+ | < | ||
+ | cd ../acls/ | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | Usere Fertig Config sieht nun so aus: | ||
+ | <code python> | ||
+ | o- / ..................................................................................................... [...] | ||
+ | o- backstores .......................................................................................... [...] | ||
+ | | o- block .............................................................................. [Storage Objects: 1] | ||
+ | | | o- testvm.deepdoc.at ............. [/ | ||
+ | | o- fileio ............................................................................. [Storage Objects: 0] | ||
+ | | o- pscsi .............................................................................. [Storage Objects: 0] | ||
+ | | o- ramdisk ............................................................................ [Storage Objects: 0] | ||
+ | o- iscsi ........................................................................................ [Targets: 1] | ||
+ | | o- iqn.2003-01.org.linux-iscsi.testvm.deepdoc.at: | ||
+ | | o- tpg1 ........................................................................... [no-gen-acls, | ||
+ | | o- acls ...................................................................................... [ACLs: 2] | ||
+ | | | o- iqn.1993-08.org.debian: | ||
+ | | | | o- mapped_lun0 ................................................. [lun0 block/ | ||
+ | | | o- iqn.1993-08.org.debian: | ||
+ | | | ||
+ | | o- luns ...................................................................................... [LUNs: 1] | ||
+ | | | o- lun0 ........................... [block/ | ||
+ | | o- portals ................................................................................ [Portals: 1] | ||
+ | | o- [2001: | ||
+ | o- loopback ..................................................................................... [Targets: 0] | ||
+ | o- sbp .......................................................................................... [Targets: 0] | ||
+ | o- vhost......................................................................................... [Targets: 0] | ||
+ | </ | ||
+ | ===== Einhängen des Targets in Proxmox ===== | ||
+ | Das Einhängen des Targets erfolgt über das Webinterface und wird hier nicht weiter behandelt. | ||
+ | |||
+ | Sehrwohl aber das Aushängen. Deaktivert man ein ISCSI-Target oder löscht es von PVE, dann ist es zwar dort nicht mehr verfügbar, aber am Host definitv noch eingehängt. Man muss also die Verbindung trennen, und wenn es nach dem nächsten Neustart des Dienstes oder des Hosts keine neuen Verbindungsversuche geben soll, auch das Target am PVE-Client löschen. | ||
+ | Hierfür gibt es einen [[https:// | ||
+ | |||
+ | **Wie geht man also vor? (Zitat vom Bugbericht)** \\ | ||
+ | |||
+ | > What sould be down when a user removes an iscsi target: | ||
+ | > 1) iscsiadm -m node -T < | ||
+ | > 2) iscsiadm -m node -T < | ||
+ | > 3) if / | ||
+ | > rm -rf / | ||
+ | > 4) remove from pve |