ZFS over iSCSI - Fehler

Discussion in 'Proxmox VE (Deutsch)' started by Haithabu84, Mar 11, 2018.

  1. Haithabu84

    Haithabu84 New Member

    Joined:
    Oct 19, 2016
    Messages:
    21
    Likes Received:
    0
    Hallo Leute,

    ich bin gerade ein bisschen am testen, um heraus zufinden ob ich damit eventuell ein vorhandenes Problem lösen kann. Im Prinzip geht es darum zwei Windows Server zu virtualisieren und diese mit Live-Snapshots zu sichern. Ich weiß, dabei handelt es sich nicht um ein Backup, es geht viel mehr darum das Disaster Recovery zu vereinfachen.

    Nun hatte ich gelesen das es mit Proxmox nur folgende Optionen gibt um Snapshots auf Storages auszuführen:

    • Ceph - lohnt sich für mich nicht, da es erst ab 3 Nodes wirklich Sinn macht
    • LVM local - ist eben local
    • zfs local - eben auch
    • Sheepdog - keine Erfahrung vorhanden
    • ZFS over iSCSI - mein persönlicher Favorit
    Da ich kein Geld für ein teures SAN von den bekannten Herstellern ausgeben möchte, soll später ein Self-Made-SAN bestehend aus einen Supermicro-Server mit entsprechender Hardware und SSD´s betrieben werden. Frage nebenbei: Gibt es noch andere Möglichkeiten kostengünstig eine SAN-Konstrukt zu realisieren?

    Jetzt habe ich mir auf einem Ubuntu ein ZFS over iSCSI eingerichtet. Funktioniert auch alles soweit und kann sogar unter Windows eingebunden werden. In dem Webinterface vom Proxmox 5.1 habe ich nun das Target hinzugefügt. Leider taucht folgender Fehler auf:

    command '/usr/bin/ssh -o 'BatchMode=yes' -i /etc/pve/priv/zfs/192.168.178.201_id_rsa root@192.168.178.201 zfs list -o name,volsize,origin,type,refquota -t volume,filesystem -Hr' failed: exit code 255 (500)

    Die Datei ist aber vorhanden und ich bin genau nach Anleitung vorgegangen https://pve.proxmox.com/wiki/Storage:_ZFS_over_iSCSI

    Der Login hatte auch wunderbar geklappt, dennoch kommt der Fehler. Habe das Target auch nochmal neu angelegt, brachte ebenfalls nichts. Woran liegt das?

    Ich hoffe mir kann da jemand helfen.

    Gruß
     
  2. Haithabu84

    Haithabu84 New Member

    Joined:
    Oct 19, 2016
    Messages:
    21
    Likes Received:
    0
    Keiner eine Idee? Im daemon.log steht leider auch nur der gleiche Fehler drin.
     
  3. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Hmm ok jetzt wird's spannend, laut Forenmeldungen hier geht das ja nur mit Solaris und Co. Nicht mit ZFS Linux. Sollte ja gehen tuts aber wohl nicht. Hatte es selbst mal vor ca. 1.5 Jahren probiert. Bin da nicht klar gekommen. Hast du da ne Anleitung für die ZFS Serverkonfiguration? Täte es gerne selbst wieder probieren.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. Haithabu84

    Haithabu84 New Member

    Joined:
    Oct 19, 2016
    Messages:
    21
    Likes Received:
    0
    Normalerweise ist es keine große Hürde mehr. Habe es mit Ubuntu Server gemacht. Seit 15.04 wurde zfsutils-linux offiziel ins Universe-Repo aufgenommen und bis jetzt funktioniert es tadellos und ohne Probleme. https://wiki.ubuntuusers.de/ZFS_on_Linux/

    Einfach installieren und los legen. Nicht mehr wie vorher wo man sich noch die Header ziehen musste.

    Es scheitert vermutlich noch nicht mal am ZFS over iSCSI, denn das konnte ich einwandfrei unter Windows einbinden. Nur der komische Login vom Proxmox-Node zum "Storage" per SSH klappt nicht... und ich habe keinen Schimmer wieso.
     
  5. Haithabu84

    Haithabu84 New Member

    Joined:
    Oct 19, 2016
    Messages:
    21
    Likes Received:
    0
    Habe meinen Fehler gefunden... man darf wohl beim ersten Schritt kein zusätzliches Passwort für den Schlüssel setzen. Was im nachher vielleicht sogar logisch ist. Dachte das Passwort ist dafür da um den Schlüssel zu vor Mißbrauch zu schützen.

    Also bei diesem Schritt, wie in der Wiki, kein Passwort setzen... dann klappt es:

    ssh-keygen -f /etc/pve/priv/zfs/192.168.1.1_id_rsa
     
  6. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Hallo nochmal,

    ich roll das hier nochmal auf. Ich kann über targetcli zfs also normales ISCSI Laufwerk freigeben. Aber nicht als ZFS direkt. Bitte um eine Anleitung wie man nun so eine ZFS-ISCSI Freigabe auf einem Debian/Ubuntu konfiguriert. Ich komm da nicht mal zum Anfangen. Finde Null Anleitung im Netz. Vermutlich suche ich falsch da ich es nicht richtig verstehe. Würde es aber gerne wissen.
    Wäre super nett von dir wenn du ne Anleitung hierfür basteln könntest. Oder zumindest ein paar Links wie man nun so ne Freigabe baut und was man dazu braucht.

    Lieben Dank :)

    Nachtrag: Hab hier noch einen Link gefunden: http://scyu.logdown.com/posts/277456-create-zfs-iscsi-nfs-storage-on-ubuntu-14-04-for-esxi
    Mir fehlt am Server (Proxmox 5.2 mit Kernel 4.15) wohl das "iblock".

    Und noch ein Link der erklärt wie wichtig iblock ist: http://linux-iscsi.org/wiki/Targetcli#IBLOCK
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    #6 fireon, Jun 3, 2018
    Last edited: Jun 3, 2018
  7. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    @fireon Hi, hast du eine Lösung gefunden? Ist es nun möglich "ZFS over iscsi" auf einem Debian9 einzurichten?

    PS: Hab mir deine Anleitung zu iscsi angesehen, aber die ist ja so wie ich das verstehe für normales iscsi.
     
  8. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Tja so wie es aussieht wurde iblock da nicht mit ein kompiliert. Debian=böse ...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    Dann bleibt nichts anderes übrig als Ubuntu einzusetzen.
     
  10. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Ja leider. Wäre natürlich cool wenn jemand das entsprechende Paket für Debian richtig kompilieren würde. Dann könnte dafür auch PVE einsetzten.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    Hi, soeben getestet und gesehen dass Ubuntu 18.04 auch kein iblock hat!:mad:
     
  12. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    Eine Idee für ein "distributed storage" mit "thin provisioning"?
    NFS Share geht ja nicht, da dort "trim" nicht geht, und somit "this provisioning" nicht wirklich nutzbar ist.
     
  13. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
  14. dcsapak

    dcsapak Proxmox Staff Member
    Staff Member

    Joined:
    Feb 1, 2016
    Messages:
    3,532
    Likes Received:
    320
    sollte schon möglich sein mit aktuellen paketen (seit libpve-storage-perl 5.0-25)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    Oooh... das hört sich ja gut an. Muss ich gleich mal testen.
     
  16. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Na da bin ich dann mal neugierig. Bitte Berichte uns von deinem Erfolg!
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    Tja was soll ich sagen. Läuft tadellos und ist super einfach einzurichten.

    Wenn ich bloß diese zwei Infos vor ein paar Tagen gehabt hätte.
    Hab mich ja ziemlich deppert gesucht, von Ubuntu bis FreeBSD, bis ich den genannten Threads gefunden, sowie der dcsapak geantwortet hat und dadurch alles klar wurde.

    Da ja nun Proxmox die LUN und BLOCK Verwaltung übernimmt, musst du einfach nur einen Target sowie eine ACL Anlegen und dies im Proxmox Cluster Storage eintragen. Voila... alles läuft.
     
    fireon likes this.
  18. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Tja... also ich checks überhaupt nicht. Hab mich jetzt zwei Stunden mit dem Thema befasst und komm auf keinem grünen Zweig.

    Was nun Tragetcli? Habs damit eingestellt. Tut sich nichts. Bitte sei so nett und beschreibe doch in einem kleinem HowTo wie man Server und Client einrichtet. Was zu installieren ist, was zu konfigurieren, wie... und was man noch beachten sollten.

    Vielen Dank :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. andy77

    andy77 Member
    Proxmox Subscriber

    Joined:
    Jul 6, 2016
    Messages:
    212
    Likes Received:
    5
    Hi, klar hier ist eine kleine Howto die ich für erstellt hatte:


    ##########################################################################
    Because the new Proxmox Version has allready implemented LIO Target support, there is not mucht to do on this site.

    (min version of module libpve-storage-perl 5.0-25)

    check with the following if your pve is on a compatible version for LIO zfs over iscsi

    Code:
    apt-cache policy libpve-storage-perl
    
    On one cluster pve-node:

    create the ssh key the name of the key follows this naming scheme: <portal>_id_rsa. (in our example the IP address of the server target is 10.1.1.100)

    Code:
    mkdir /etc/pve/priv/zfs
    ssh-keygen -f /etc/pve/priv/zfs/10.1.1.100_id_rsa
    ssh-copy-id -i /etc/pve/priv/zfs/10.1.1.100_id_rsa.pub root@10.1.1.100
    Connect from every pve-node once to the iscsi target server
    
    ssh -i /etc/pve/priv/zfs/10.1.1.100_id_rsa root@10.1.1.100
    
    Now you need to go to all your pve-nodes which should have access to this iscsi target and run the following to see and note their iscsi initiator name

    Code:
    cat /etc/iscsi/initiatorname.iscsi
    

    First of all we need to change some openssh config and create ssh keys so that all nodes are able to ssh to the new iscsi target without passwords. This is only needed, if the iscsi target is not in the same pve-cluster or is not an pve at all (FreeBSD, Ubuntu, Debian Server, etc.). This of course has to be done only once in the cluster because it is distributed throught the pve-clusterfs

    Code:
    cat >> /etc/ssh/sshd_config <<EOF
    UseDNS no
    GSSAPIAuthentication no
    EOF
    
    Create a zfs device that will be used for the iscsi blocks

    Code:
    zfs create storage/iscsi #for example
    
    Then install targetcli-fb

    Code:
    apt install targetcli-fb
    
    Now run targetcli to configure the target and the acl.

    Code:
    targetcli
    ls #for listing the config
    
    The finished config should look like this

    Code:
    o- / ............................................................................................................. [...]
      o- backstores .................................................................................................. [...]
      | o- block ...................................................................................... [Storage Objects: 2]
      | 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.pve.x8664:sn.247bce90c98e ................................................. [TPGs: 1]
      |   o- tpg1 ................................................................................... [no-gen-acls, no-auth]
      |     o- acls .............................................................................................. [ACLs: 1]
      |     | o- iqn.1993-08.org.debian:01:483ced7ffc70 ................................................... [Mapped LUNs: 2]
      |     o- luns .............................................................................................. [LUNs: 2]
      |     o- portals ........................................................................................ [Portals: 1]
      |       o- 0.0.0.0:3260 ......................................................................................... [OK]
      o- loopback ............................................................................................. [Targets: 0]
      o- vhost ................................................................................................ [Targets: 0]/>
    
    So to establish this config we do the following

    Code:
    cd iscsi
    create #create a iscsi target. When nothing added to the command the name will be created automaticaly
    cd iqn.thenewtargetname #cd in the newly created target name
    cd tpg1 # cd to the target portal group
    cd acls # cd to the acls to create rules
    create iqn.the.initiator.name # here you have to fill in one by one all of your pve-nodes initiator iqns
    
    Cluster Storage config in PVE

    Now the last thing to do is to configure the new storage in the pve-cluster to be able to access it in proxmox: unnamed.png
     
    fireon likes this.
  20. fireon

    fireon Well-Known Member
    Proxmox Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,962
    Likes Received:
    175
    Vielen Dank für dein Howto. Hat sofort funktioniert. Konnte gleich eine VM erstellen. Das was ich nicht schaffe ist über ein Template eine VM zu erstellen. Egal ob ich neu mache, oder nach dem Erstellen move. Hab hier anscheinend ein Berechtigungsproblem.
    Code:
    create full clone of drive scsi0 (SSD-vmdata:vm-106-disk-1)
    Warning: Identity file /etc/pve/priv/zfs/2001:460:1fab:578:ec4:7afa:feab:c712_id_rsa not accessible: No such file or directory.
    Warning: Identity file /etc/pve/priv/zfs/2001:460:1fab:578:ec4:7afa:feab:c712_id_rsa not accessible: No such file or directory.
    transferred: 0 bytes remaining: 34359738368 bytes total: 34359738368 bytes progression: 0.00 %
    qemu-img: Could not open 'iscsi://2001:460:1fab:578:ec4:7afa:feab:c712/iqn.2019-02.org.linux-iscsi.backup.tux.at:sn.b0ee28cdfaef/0': iSCSI: Failed to connect to LUN : Failed to start full connect Invalid target:2001:460:1fab:578:ec4:7afa:feab:c712 Can not resolv into IPv4/v6.
    Warning: Identity file /etc/pve/priv/zfs/2001:460:1fab:578:ec4:7afa:feab:c712_id_rsa not accessible: No such file or directory.
    TASK ERROR: storage migration failed: copy failed: command '/usr/bin/qemu-img convert -p -n -T none -f raw -O raw /dev/zvol/ssd-pool/SSD-vmdata/vm-106-disk-1 iscsi://2001:460:1fab:578:ec4:7afa:feab:c712/iqn.2019-02.org.linux-iscsi.backup.tux.at:sn.b0ee28cdfaef/0' failed: exit code 1
    Was hast du denn bei diesen Verzeichnissen für Rechte?
    Code:
    ls -l /etc/pve/priv/zfs/
    ls -ld /etc/pve/priv/zfs/
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice