From 10f2b5f6faf52bc33c3e8f9e78e1ed4699478907 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 1 Aug 2024 23:41:43 -0300 Subject: Docs: more on folder sharing; fix image handling instructions --- DOCS.md | 113 +++++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 73 insertions(+), 40 deletions(-) diff --git a/DOCS.md b/DOCS.md index 7b97666..145f9f2 100644 --- a/DOCS.md +++ b/DOCS.md @@ -1,6 +1,6 @@ # KVMX Documentation -Misc documentation on kvmx and qemu. +Misc documentation on kvmx and QEMU. ## USB hotplug support @@ -49,56 +49,89 @@ here goes some manual procedures if needed. * Image resize action, doing something like this, thanks to https://ahelpme.com/linux/online-resize-of-a-root-ext4-file-system-increase-the-space/ - # poweroff - kvmx poweroff $guest + # poweroff + kvmx poweroff $guest - # resize image - qemu-img resize `kvmx list_image $guest` +5G + # resize image + qemu-img resize `kvmx list_image $guest` +5G - # power up - kvmx up $guest + # power up + kvmx up $guest - # ensure parted is installed - #sudo apt-get install -y parted - kvmx ssh $guest sudo apt-get install -y cloud-guest-utils + # ensure parted is installed + #sudo apt-get install -y parted + kvmx ssh $guest sudo apt-get install -y cloud-guest-utils - # resize virtual machine root fs - while the partition is mounted! - # this parted command currently need to be done manually - #echo resizepart 2 -1 | kvmx ssh $guest sudo parted /dev/vda + # resize virtual machine root fs - while the partition is mounted! + # this parted command currently need to be done manually + #echo resizepart 2 -1 | kvmx ssh $guest sudo parted /dev/vda - # See https://unix.stackexchange.com/questions/373063/auto-expand-last-partition-to-use-all-unallocated-space-using-parted-in-batch-m - # https://unix.stackexchange.com/questions/190317/gnu-parted-resizepart-in-script#202872 - # https://bugs.launchpad.net/ubuntu/+source/parted/+bug/1270203 - # https://techtitbits.com/2018/12/using-parteds-resizepart-non-interactively-on-a-busy-partition/ - # https://serverfault.com/questions/870594/resize-partition-to-maximum-using-parted-in-non-interactive-mode - #kvmx ssh $guest sudo parted /dev/vda resizepart 2 -1 Yes - kvmx ssh $guest sudo growpart /dev/vda 2 + # See https://unix.stackexchange.com/questions/373063/auto-expand-last-partition-to-use-all-unallocated-space-using-parted-in-batch-m + # https://unix.stackexchange.com/questions/190317/gnu-parted-resizepart-in-script#202872 + # https://bugs.launchpad.net/ubuntu/+source/parted/+bug/1270203 + # https://techtitbits.com/2018/12/using-parteds-resizepart-non-interactively-on-a-busy-partition/ + # https://serverfault.com/questions/870594/resize-partition-to-maximum-using-parted-in-non-interactive-mode + #kvmx ssh $guest sudo parted /dev/vda resizepart 2 -1 Yes + kvmx ssh $guest sudo growpart /dev/vda 2 - kvmx ssh $guest sudo resize2fs /dev/vda2 - kvmx ssh $guest sudo touch /forcefsck - kvmx restart $guest + kvmx ssh $guest sudo resize2fs /dev/vda2 + kvmx ssh $guest sudo touch /forcefsck + kvmx restart $guest ## Folder sharing -Some references on 9p folder sharing, especially regarding performance: +### With virtio and 9p + +References on virtio: + +* [Virtio on Linux — The Linux Kernel documentation](https://www.kernel.org/doc/html/v6.8/driver-api/virtio/virtio.html) + * [linux kernel - VIRTIO: How it increase performance - Stack Overflow](https://stackoverflow.com/questions/24737882/virtio-how-it-increase-performance) + * [Virtual I/O Device (VIRTIO) Version 1.1](https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-240006) + +Some references on 9p folder sharing: * [v9fs: Plan 9 Resource Sharing for Linux — The Linux Kernel documentation](https://www.kernel.org/doc/html/latest/filesystems/9p.html) * [Documentation/9p - QEMU](https://wiki.qemu.org/Documentation/9p) * [Documentation/9psetup - QEMU](https://wiki.qemu.org/Documentation/9psetup) * [v9fs · GitHub](https://github.com/v9fs) - * [Virtio on Linux — The Linux Kernel documentation](https://www.kernel.org/doc/html/v6.8/driver-api/virtio/virtio.html) - * [linux kernel - VIRTIO: How it increase performance - Stack Overflow](https://stackoverflow.com/questions/24737882/virtio-how-it-increase-performance) - * [[Virtio-fs] [PATCH v2 0/3] virtio: increase VIRTQUEUE_MAX_SIZE to 32k](https://listman.redhat.com/archives/virtio-fs/2021-October/004135.html) - * [Virtual I/O Device (VIRTIO) Version 1.1](https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-240006) - * [remove msize limit in virtio transport [LWN.net]](https://lwn.net/Articles/901523/) - * [Performance fixes for 9p filesystem [LWN.net]](https://lwn.net/Articles/918213/) - * [New Patches Aim To Boost Linux 9p Performance By ~10x - Phoronix](https://www.phoronix.com/news/Linux-9p-10x-Performance) - * [9p performance increase by ~10x reflected in WSL? · microsoft/WSL · Discussion #9412 · GitHub](https://github.com/microsoft/WSL/discussions/9412) - * [VM: 9p: degraded performance: a reasonable high msize should be chosen on client/guest side · Issue #10219 · canonical/lxd · GitHub](https://github.com/canonical/lxd/issues/10219) - * [Add msize configuration for windows-side 9P client (=higher WSL2 disk speed) · Issue #9125 · microsoft/WSL · GitHub](https://github.com/microsoft/WSL/issues/9125) - * [[PATCH v2 00/10] Performance fixes for 9p filesystem - Eric Van Hensbergen](https://lore.kernel.org/lkml/20221218232217.1713283-1-evanhensbergen@icloud.com/) - * [linux/net/9p/client.c at master · torvalds/linux · GitHub](https://github.com/torvalds/linux/blob/master/net/9p/client.c) - * [linux/net/9p/trans_virtio.c at master · torvalds/linux · GitHub](https://github.com/torvalds/linux/blob/master/net/9p/trans_virtio.c) - * [History for net/9p/trans_virtio.c - torvalds/linux · GitHub](https://github.com/torvalds/linux/commits/master/net/9p/trans_virtio.c) - * [Re: [PATCH v5 00/11] remove msize limit in virtio transport - Dominique Martinet](https://lore.kernel.org/all/Ys3j7KucZGdFkttA@codewreck.org/) - * [[v4,08/12] net/9p: limit 'msize' to KMALLOC_MAX_SIZE for all transports - Patchwork](https://patchwork.kernel.org/project/netdevbpf/patch/39f81db5e5b25a1e4f94ad3b05552044209aff21.1640870037.git.linux_oss@crudebyte.com/) + +Performance limitations: + +* [linux/net/9p/trans_virtio.c at master · torvalds/linux · GitHub](https://github.com/torvalds/linux/blob/master/net/9p/trans_virtio.c) + * [linux/net/9p/trans_virtio.c at master - L803 · torvalds/linux · GitHub](https://github.com/torvalds/linux/blob/master/net/9p/trans_virtio.c#L803) + * [History for net/9p/trans_virtio.c - torvalds/linux · GitHub](https://github.com/torvalds/linux/commits/master/net/9p/trans_virtio.c) +* [Can not set high msize with virtio-9p (Was: Re: virtiofs vs 9p performan](https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg06343.html) + * [Re: Can not set high msize with virtio-9p (Was: Re: virtiofs vs 9p perfo](https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg06850.html) + +Discussion an proposals to overcome this limit: + +* [remove msize limit in virtio transport - LWN.net](https://lwn.net/Articles/901523/) + * [New Patches Aim To Boost Linux 9p Performance By ~10x - Phoronix](https://www.phoronix.com/news/Linux-9p-10x-Performance) + * [9p performance increase by ~10x reflected in WSL? · microsoft/WSL · Discussion #9412 · GitHub](https://github.com/microsoft/WSL/discussions/9412) + * [VM: 9p: degraded performance: a reasonable high msize should be chosen on client/guest side · Issue #10219 · canonical/lxd · GitHub](https://github.com/canonical/lxd/issues/10219) + * [Add msize configuration for windows-side 9P client (=higher WSL2 disk speed) · Issue #9125 · microsoft/WSL · GitHub](https://github.com/microsoft/WSL/issues/9125) + * [[Virtio-fs] Can not set high msize with virtio-9p (Was: Re: virtiofs vs 9p performance)](https://listman.redhat.com/archives/virtio-fs/2021-March/002811.html) + +Patches: + +* [[PATCH v6 00/11] remove msize limit in virtio transport [LWN.net]](https://lwn.net/ml/linux-kernel/cover.1657920926.git.linux_oss@crudebyte.com/) +* [[PATCH v5 00/11] remove msize limit in virtio transport - Christian Schoenebeck](https://lore.kernel.org/all/cover.1657636554.git.linux_oss@crudebyte.com/) +* [Performance fixes for 9p filesystem - LWN.net](https://lwn.net/Articles/918213/) +* Other (untriaged list): + * [Re: [PATCH v5 00/11] remove msize limit in virtio transport - Christian Schoenebeck](https://lore.kernel.org/all/7468612.NupLhYsxyy@silver/) + * [[PATCH v3 0/7] net/9p: remove msize limit in virtio transport - Christian Schoenebeck](https://lore.kernel.org/netdev/cover.1632327421.git.linux_oss@crudebyte.com/) + * [[PATCH v2 1/7] net/9p: show error message if user 'msize' cannot be satisfied — Netdev](https://www.spinics.net/lists/netdev/msg768036.html) + * [[PATCH v2 00/10] Performance fixes for 9p filesystem - Eric Van Hensbergen](https://lore.kernel.org/lkml/20221218232217.1713283-1-evanhensbergen@icloud.com/) + * [[Virtio-fs] [PATCH v2 0/3] virtio: increase VIRTQUEUE_MAX_SIZE to 32k](https://listman.redhat.com/archives/virtio-fs/2021-October/004135.html) + * [[v4,08/12] net/9p: limit 'msize' to KMALLOC_MAX_SIZE for all transports - Patchwork](https://patchwork.kernel.org/project/netdevbpf/patch/39f81db5e5b25a1e4f94ad3b05552044209aff21.1640870037.git.linux_oss@crudebyte.com/) + * [Thread: [V9fs-developer] [PATCH] Improve 9p performance for read operations | Plan 9 Resource Sharing for Linux](https://sourceforge.net/p/v9fs/mailman/v9fs-developer/thread/B272E6A0-C349-4B23-BE6F-7CBA8D6C4B6B%40icloud.com/) + +### With virtiofs + +* [virtiofs - shared file system for virtual machines](https://virtio-fs.gitlab.io/) + * [virtiofs - shared file system for virtual machines / Standalone usage](https://virtio-fs.gitlab.io/howto-qemu.html) + * [Debian -- Details of package virtiofsd in trixie](https://packages.debian.org/trixie/virtiofsd) + * [rust-virtiofsd - Debian Package Tracker](https://tracker.debian.org/pkg/rust-virtiofsd) + * [libvirt: Sharing files with Virtiofs](https://libvirt.org/kbase/virtiofs.html) + * [virtio-fs / virtiofsd · GitLab](https://gitlab.com/virtio-fs/virtiofsd) + * [VirtIO-FS Is Looking Quite Good For Shared File-System With VMs - Phoronix](https://www.phoronix.com/news/VirtIO-FS-Looking-Good-2020) -- cgit v1.2.3