[pve-devel] [PATCH docs v10 3/11] add doc section for the shared filesystem virtio-fs

Fiona Ebner f.ebner at proxmox.com
Wed Jun 12 13:50:10 CEST 2024


Am 14.05.24 um 12:54 schrieb Markus Frank:
> Signed-off-by: Markus Frank <m.frank at proxmox.com>
> ---
>  qm.adoc | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 92 insertions(+), 2 deletions(-)
> 
> diff --git a/qm.adoc b/qm.adoc
> index 42c26db..755e20e 100644
> --- a/qm.adoc
> +++ b/qm.adoc
> @@ -1081,6 +1081,95 @@ recommended to always use a limiter to avoid guests using too many host
>  resources. If desired, a value of '0' for `max_bytes` can be used to disable
>  all limits.
>  
> +[[qm_virtiofs]]
> +Virtio-fs
> +~~~~~~~~~
> +
> +Virtio-fs is a shared file system that enables sharing a directory between host
> +and guest VM. It takes advantage of the locality of virtual machines and the
> +hypervisor to get a higher throughput than the 9p remote file system protocol.

A bit more general would be:
"higher throughput than network-based protocols, like the 9p remote file
system protocol."

> +
> +To use virtio-fs, the https://gitlab.com/virtio-fs/virtiofsd[virtiofsd] daemon
> +needs to run in the background. In {pve}, this process starts immediately before
> +the start of QEMU.> +
> +Linux VMs with kernel >=5.4 support this feature by default.
> +
> +There is a guide available on how to utilize virtio-fs in Windows VMs.
> +https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/Virtiofs:-Shared-file-system
> +
> +Known Limitations
> +^^^^^^^^^^^^^^^^^
> +
> +* Virtiofsd crashing means no recovery until VM is fully stopped and restarted.
> +* Virtiofsd not responding may result in NFS-like hanging access in the VM.
> +* Memory hotplug does not work in combination with virtio-fs (also results in
> +hanging access).
> +* Live migration does not work.
> +* Windows cannot understand ACLs. Therefore, disable it for Windows VMs,
> +otherwise the virtio-fs device will not be visible within the VMs.
> +
> +Add Mapping for Shared Directories
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +To add a mapping for a shared directory, either use the API directly with
> +`pvesh` as described in the xref:resource_mapping[Resource Mapping] section:

There is an "either" in the sentence above, but then there is no "or".

> +
> +----
> +pvesh create /cluster/mapping/dir --id dir1 \
> +    --map node=node1,path=/path/to/share1 \
> +    --map node=node2,path=/path/to/share2,submounts=1 \
> +    --xattr 1 \
> +    --acl 1
> +----
> +
> +The `acl` parameter automatically implies `xattr`, that is, it makes no
> +difference whether you set `xattr` to `0` if `acl` is set to `1`.
> +
> +Set `submounts` to `1` when multiple file systems are mounted in a shared
> +directory to prevent the guest from creating duplicates because of file system
> +specific inode IDs that get passed through.
> +
> +
> +Add virtio-fs to a VM
> +^^^^^^^^^^^^^^^^^^^^^
> +
> +To share a directory using virtio-fs, add the parameter `virtiofs<N>` (N can be
> +anything between 0 and 9) to the VM config and use a directory ID (dirid) that
> +has been configured in the resource mapping. Additionally, you can set the
> +`cache` option to either `always`, `never`, or `auto` (default: `auto`),
> +depending on your requirements. How the different caching modes behave can be
> +read at https://lwn.net/Articles/774495/ under the title "Caching Modes". To

s/title/section/ ?

> +enable writeback cache set `writeback` to `1`.
> +




More information about the pve-devel mailing list