From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id A6E111FF391 for ; Wed, 12 Jun 2024 13:49:39 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 4CFBAF23F; Wed, 12 Jun 2024 13:50:16 +0200 (CEST) Message-ID: <386706af-e3ee-4231-a04d-301773cc4c34@proxmox.com> Date: Wed, 12 Jun 2024 13:50:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox VE development discussion , Markus Frank References: <20240514105442.1187746-1-m.frank@proxmox.com> <20240514105442.1187746-4-m.frank@proxmox.com> Content-Language: en-US From: Fiona Ebner In-Reply-To: <20240514105442.1187746-4-m.frank@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.208 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH docs v10 3/11] add doc section for the shared filesystem virtio-fs X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Am 14.05.24 um 12:54 schrieb Markus Frank: > Signed-off-by: Markus Frank > --- > 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 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`. > + _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel