Чтобы ответить на тактическую часть вашего вопроса, похоже, что вы используете NFS для совместного использования гостя / хоста. Тогда это просто сводится к вопросу о разрешениях NFS. На хосте убедитесь, что он является общим для чтения / записи, например, zfs set sharenfs="rw=@w.x.y.z/N" tank
где w.x.y.z/N
находится набор IP-адресов, которым вы хотите предоставить доступ к этому общему ресурсу. Более полный пример смотрите здесь .
Но также, о ваших целях:
Если хост хранит файлы виртуальных дисков на ZFS, а гостевая система использует ext4, маловероятно, что ZFS увеличит нагрузку на файловую систему с точки зрения производительности. В конце концов, KVM будет редко (если вообще когда-либо) создавать новые файлы в этом режиме, поэтому метаданные не нужно будет обновлять в ZFS очень часто. Я предполагаю, что если вы не выполняете очень чувствительную к производительности рабочую нагрузку на виртуальных машинах (высокопроизводительная база данных и т. Д.), Вы не заметите большой разницы.
Я не знаю какого-либо способа показать функциональность снимков ZFS пользователям гостей. Это можно сделать с зонами в Solaris, а также с джейлами во FreeBSD и, возможно, с Docker / lxd / lxc в Linux (я не уверен в этом), но определенно не с KVM + QEMU. Я думаю, что единственный способ сделать это с помощью KVM - предоставить вашим пользователям доступ к
zfs snapshot
самому хосту (либо с прямым доступом по SSH, либо через службу или что-то в этом роде).
Существуют и другие причины, по которым хранение файлов данных на хосте имеет смысл (консолидация, плюс все обычные преимущества ZFS: более простое резервное копирование, целостность данных, размещение квот и резервирование и т. Д.), Но я не думаю, что эти два будут особенно проще в вашей новой конфигурации.