Um den taktischen Teil Ihrer Frage zu beantworten, klingt das so, als würden Sie NFS verwenden, um das Gast / Host-Sharing durchzuführen. Dann kommt es nur noch auf eine NFS-Berechtigungsfrage an. Stellen Sie auf dem Host sicher, dass es sich um freigegebenes Lesen / Schreiben handelt, z. B. zfs set sharenfs="rw=@w.x.y.z/N" tank
wo w.x.y.z/N
sich die IP-Adressen befinden, denen Sie Zugriff auf diese Freigabe gewähren möchten. Ein vollständigeres Beispiel finden Sie hier .
Aber auch zu deinen Zielen:
Wenn der Host VM-Festplattendateien in ZFS speichert und der Gast darüber hinaus ext4 verwendet, ist es unwahrscheinlich, dass ZFS einen erheblichen "Dateisystem-Overhead" in Bezug auf die Leistung hinzufügt. Schließlich erstellt KVM in diesem Modus nur selten (wenn überhaupt) neue Dateien, sodass Metadaten nicht sehr oft in ZFS aktualisiert werden müssen. Meine Vermutung ist, dass Sie, wenn Sie keine sehr leistungsabhängige Workload in den VMs ausführen (Datenbank mit hohem Durchsatz usw.), keinen großen Unterschied feststellen werden.
Ich kenne keine Möglichkeit, den Benutzern der Gäste die Snapshot-Funktion von ZFS zur Verfügung zu stellen. Dies kann mit Zonen unter Solaris und Jails unter FreeBSD und vielleicht Docker / lxd / lxc unter Linux (ich bin mir nicht so sicher), aber definitiv nicht mit KVM + QEMU. Ich denke, der einzige Weg, dies mit KVM zu tun, wäre, Ihren Benutzern Zugriff
zfs snapshot
auf den Host selbst zu gewähren (entweder mit direktem SSH-Zugriff oder über einen Dienst oder etwas anderes).
Es gibt andere Gründe, warum das Aufbewahren von Dateien auf dem Host sinnvoll ist (Konsolidierung plus alle normalen Vorteile von ZFS: einfachere Sicherung, Datenintegrität, Kontingente und Reservierungen usw.), aber ich glaube nicht, dass dies beides besonders sein wird einfacher in Ihrer neuen Konfiguration.