-
Notifications
You must be signed in to change notification settings - Fork 612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.0 roadmap: change the default mount driver from reverse-sshfs to 9p (for QEMU) and virtiofs (for vz) #971
Comments
Did changing the sftp server fix the odd bugs, like when you can't compile any code (due to umask) ?
Support for virtfs is also lacking on Windows and other host OS (like BSD), |
QEMU 7.1 is released and seems to have resolved issues like: @jandubois @afbjorklund Are we ready to change the driver (on Linux and macOS) and release v1.0 soon? |
According to one user*, there might be 9p support also on Windows hosts soon: (haven't tried it myself, not included in 7.1.0) As far as I know, there should be no major issues with virtfs on Linux (if reverse-sshfs is still available as a fallback, that is) ? |
Before changing the default driver probably we should add a simple CLI flag like The (Instead of messing up the overriding system we could just modify cc @jandubois |
Per #454 (reply in thread), will a writable |
Recently merged (in maintainer tree) 9pfs patch could improve the speed significantly, which will obviously help lima as well: |
👍 I guess we should change the default to 9p after QEMU 7.2 (?) gets released with this commit |
There are still two issues to take note of, symlinks and file permissions for rootless containers. 1. SymlinksAFAIK they are still not supported. It used to be a non-issue for me until I switched from Homebrew to Nix. Then I quickly realised this may be a deal-breaker for some, as their environments may rely on symlinks.
2. File permissions for containersThis is not an issue with Lima but with containers running on a Lima VM.
|
Seems readable (although not writable) for me:
|
Lack of support for symlinks (with mapped mode) seems by design 😞 |
For supporting symlinks, shall we change the default This is obviously incompatible with chmod, but it is not supported by the reverse-sshfs driver either, so this is probably fine.
|
I recommend asking this again in qemu-devel mailing list since it has much more attention from developers. |
Really? what's the permission you've got on the file on your host filesystem? It doesn't work for me, only works as root or # attempt uid 100, failed
$ nerdctl -- run --rm -v /Users/$(whoami):/mnt --user 100 alpine cat /mnt/.bashrc
cat: can't open '/mnt/.bashrc': Permission denied
FATA[0000] exit status 1 # attempt uid 0, success
$ nerdctl -- run --rm -v /Users/$(whoami):/mnt alpine cat /mnt/.bashrc
[ -f ~/.fzf.bash ] && source ~/.fzf.bash # attempt uid 501, success
$ nerdctl -- run --rm -v /Users/$(whoami):/mnt --user 501 alpine cat /mnt/.bashrc
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
I can verify that symlink works with |
Yes. $ sw_vers -productVersion
12.6
$ uname -srm
Darwin 21.6.0 x86_64
$ qemu-system-x86_64 -version
QEMU emulator version 7.1.0
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
$ limactl -v
limactl version 0.12.0
$ limactl start template://experimental/9p
$ id
uid=501(suda) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae),701(com.apple.sharepoint.group.1)
$ ls -ln .bashrc
-rw-r--r-- 1 501 20 139 10 6 10:24 .bashrc
$ limactl shell 9p ls -ln /Users/$(whoami)/.bashrc
-rw-r--r-- 1 501 20 139 Oct 6 01:24 /Users/suda/.bashrc
$ limactl shell 9p -- nerdctl run --rm -v /Users/$(whoami):/mnt --user 100 alpine cat /mnt/.bashrc
# (My bashrc shows up) |
Maybe someone else can share their experience (@jandubois maybe?). The only difference between our environments is I am testing on an m1 device and you're using an intel device. For me, no luck still. No read access for users other than root and host uid. |
Seems like a good time to join this party. This patch https://lists.gnu.org/archive/html/qemu-devel/2022-10/msg04073.html was published recently. I added it to HEAD and built from sources and managed to use 9pfs mount with QEMU Podman machine on Windows (R/O only, but I had time only for one try). Still, not clear if this will make its way before 7.2.0 is cut. |
7.2-rc0 is out, it makes sense to start testing, while there is a possibility for a quick bug fix if anything is found. |
In abiosoft/colima#544 (comment) it was reported that 9p is still slow with QEMU 7.2 😞 |
For v1.0, probably we will make vz and virtiofs default |
We've been using VZ and virtiofs and no issues so far. |
I want to plan this before KubeCon North America (Nov 6-9) cc @lima-vm/maintainers |
As long as sshfs is still available, I don't see any issues with changing the default |
https://github.com/lima-vm/lima/blob/master/docs/mount.md
Lima v1.0 will change the default mount driver from reverse-sshfs to 9p for QEMU, virtiofs for vz. (The default vm driver will be vz)
RHEL-like templates will continue to use reverse-sshfs as their kernel lacks support for virtio-9p-pci.
The text was updated successfully, but these errors were encountered: