ZFS Mount Volume Verständnisproblem

Discussion in 'Proxmox VE (Deutsch)' started by Erwin Müller, Feb 9, 2019.

  1. Erwin Müller

    Erwin Müller New Member

    Joined:
    Nov 4, 2018
    Messages:
    3
    Likes Received:
    0
    Hallo Zusammen,

    ich habe einen zfs pool auf einer Partition angelegt und in Proxmox eingebunden.
    Leider funktioniert das nicht ganz nach meinen Erwartungen, was aber auch an einem ZFS Verständnisproblem meinerseits liegen kann.

    zpool create -f -o ashift=12 zfsdata scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-0-part5
    zfs set compression=lz4 zfsdata

    zpool status
    pool: zfsdata
    state: ONLINE
    scan: none requested
    config:

    NAME STATE READ WRITE CKSUM
    zfsdata ONLINE 0 0 0
    scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-0-part5 ONLINE 0 0 0

    errors: No known data errors

    zfs create -o mountpoint=/mnt/zfsdata/vz zfsdata/vz

    zfs list
    NAME USED AVAIL REFER MOUNTPOINT
    zfsdata 21,3G 73,2G 96K /zfsdata
    zfsdata/vz 21,3G 73,2G 96K /mnt/zfsdata/vz
    zfsdata/vz/vm-101-disk-0 21,3G 81,2G 13,3G -

    In Proxmox habe ich zfsdata/vz als ZFS eingebunden.
    Dann habe ich die VM 101 auf dieses zfs filesystem verschoben.
    Meine Hoffnung war, dass ich dann die vm-101-disk-0 im gemounteten Verzeichnis /mnt/zfsdata/vz oder /mnt/zfsdata/vz/images sehen würde. Aber leider sehe ich nix und images wurde nicht angelegt.
    Die VM 101 kann ich aber starten und es wird das zfsdata/vz/vm-101-disk-0 offensichtlich verwendet.

    Also meine Erwartung wäre gewesen, dass ich ganz normal ein filesystem unter /mnt/zfsdata/vz hätte nutzen können und dieses auch über ls auf dem Verzeichnis angezeigt würde. Das erstellen eines Volumes zfsdata/vz/vm-101-disk-0 im ZFS Pool hätte ich nicht erwartet.
    Mache ich was falsch oder ist das einfach so?

    Beim ZFS registrieren als Directory hätte ich die Erwartung, dass die Snapshot Funktionalität verloren geht.

    Vielen Dank für eine Erklärung für einen ZFS Neuling.
     
  2. maxprox

    maxprox Member
    Proxmox Subscriber

    Joined:
    Aug 23, 2011
    Messages:
    300
    Likes Received:
    12
    HI Erwin Müller,

    bei so einem Porblem würde ich zuerst mal über das Proxmox WebGUI, das in den Letzten VersionsUpdates immer mächtiger geworden ist, bemühen.
    Schau mal, ob all deine gewünschten Storages unter:
    Server-View - Datacenter - Storage
    zu sehen sind? Wenn nein per Schaltfläche Add hinzufügen.
    Wenn das passt, gehst du auf deine VM => Hardware => wählst die Hard Disk aus und gehst auf => Move disk
    Die VM sollte bei dem Prozess aus sein - und denke daran dass das je nach Größe der Disk ein paar Sekunden oder Minuten dauern kann...
    mit folgenden Befehlen bekommst du eine Übersicht:
    Code:
    cat /etc/pve/storage.cfg
    ## und
    zfs list -t volume
    
    So wie bei LVM thin hast du bei ZFS auf dieser Ebene "block devices" die kannst du dir nicht mit Befehlen für Dateibasis ansehen ls, df und dergleichen sind dazu ungeeignet.
    Schau mal:
    https://pve.proxmox.com/wiki/Storage
    und
    https://pve.proxmox.com/pve-docs/pve-admin-guide.html nach storage und/oder "block devices" suchen.
    und
    https://wiki.ubuntuusers.de/ZFS_on_Linux/


    Grüße
     
    #2 maxprox, Feb 9, 2019
    Last edited: Feb 9, 2019
  3. Erwin Müller

    Erwin Müller New Member

    Joined:
    Nov 4, 2018
    Messages:
    3
    Likes Received:
    0
    Vielen Dank für die Aufklärung und die Links.

    Alles wird korrekt in der GUI angezeigt und funktioniert ja auch als VM auf ZFS.
    Das Thema ist das Blockdevice. Sorry, ich habe jetzt soviel schon gelesen zur Einrichtung von ZFS, mit dem Blockdevice hänge ich.

    Vielleicht stelle ich mal dar, was ich machen will. Zwei Dinge:
    1. ZFS Sync aus von meinem Cloud Rechner auf den Home-Rechner
    - deshalb habe ich im wesentlichen ZFS eingerichtet
    - dabei wird mir Dein PDF-Howto (zfs-snapshot-synchronisierung 48592) noch hervorragend helfen (aber eins nach dem anderen)
    - schaue ich mir anschließend noch an
    2. Hierum geht es eigentlich: Sicherung vom nun ZFS volume per rclone in die Google Suite
    - Das funktioniert sehr gut, wenn die Dateien im Filesystem gemountet sind
    - Aber wie mache ich das nun mit meinem Volume im ZFS Pool, welches nicht im Filesystem auftaucht
    - Kann ich das doch irgendwie mounten oder muss ich es über NFS (oder was auch immer) bereitstellen?
     
  4. maxprox

    maxprox Member
    Proxmox Subscriber

    Joined:
    Aug 23, 2011
    Messages:
    300
    Likes Received:
    12
  5. LnxBil

    LnxBil Well-Known Member

    Joined:
    Feb 21, 2015
    Messages:
    3,696
    Likes Received:
    331
    Eines vorneweg:
    Dein gesamtes ZFS-Mount-Gedöns unter /mnt ist definitiv weder ZFS- noch PVE-Standard-Konform, denn ZFS wird grundsätzlich und "by-design" in /<poolname>/ eingebunden und alles lebt (mit Ausnahme von /) darunter und PVE nimmt auch an, dass es so ist.

    Blockgeräte können nicht als Dateien (im Sinne von rsync) kopiert werden, denn es sind ja Blockgeräte.

    Man kann jedoch sich mittels zfs send/receive Dateien aus den zvol-Blockgeräten machen, aber da missbraucht man das System etwas. ZFS wird am Besten direkt auf ein ZFS gespiegelt, denn dafür ist bereits alles dabei und es ist effizient und schnell. Der Umweg über die Dateien klappt natürlich, ist aber alles andere als optimal.

    Zumindest die in der Oberfläche für eine VM ja. Auch kannst du damit keine Anwendungen betreiben, die O_DIRECT erfordern, wie z.B. die Anlage eines LX(C) Containers auf einem ZFS-Directory - das schlägt bei der Anlage direkt fehl beim mkfs. Du kannst aber QCOW2 darauf betreiben, was gegenüber TFS einen entscheidenden Vorteil in Bezug auf Snapshots bietet: Man kann non-lineare Snapshots verwalten und zwischen diesen hin und her springen.
     
  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