Skip to content
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

sshfs is now unmaintained #497

Closed
1 of 3 tasks
ohookins opened this issue Nov 30, 2022 · 22 comments
Closed
1 of 3 tasks

sshfs is now unmaintained #497

ohookins opened this issue Nov 30, 2022 · 22 comments

Comments

@ohookins
Copy link

Description

As per https://github.com/libfuse/sshfs the project is now unmaintained, and so will not receive any updates or patches (including for security issues). Is there going to be a plan for replacing/removing this component from Colima?

Version

Colima Version: 0.4.6
Lima Version:
Qemu Version:

Operating System

  • macOS Intel
  • macOS M1
  • Linux

Reproduction Steps

Expected behaviour

No response

Additional context

No response

@ohookins
Copy link
Author

https://github.com/neunenak/sshfs seems like it could be a new successor.

@abiosoft
Copy link
Owner

The next release v0.5.0 would be moving over to 9p mounts as the default, with the option of virtiofs (and Virtualisation.Framework) for macOS 13 and above.

@rfay
Copy link
Contributor

rfay commented Nov 30, 2022

I'm pretty worried about the performance consequences of 9p.. it could be a major shock to people. Discussion in https://cloud-native.slack.com/archives/C043N6ZFV9S/p1665436861986039?thread_ts=1665063734.137219&cid=C043N6ZFV9S - I know there's hope for faster 9p, but 10x slower than sshfs is a lot.

Performance testing, 9p vs sshfs mount type, here’s what I did, happy to put it in an issue:
Base drupal 9 demo_umami install using DDEV + colima, considering only the files that are typically bind-mounted (so via sshfs and 9p) in web/sites/default/files.
Testing inside container (ddev ssh, same as docker exec -it )
Both colima profiles had 4GB memory. There are 2694 files, a mixture of jpg, css, etc, a total of only 31MB.
time find . -type f -exec cp {} /dev/null ;
With Colima 9p profile: 60-67s.
With Colima sshfs profile: 7s.
That’s nearly a 10x difference, which could be a big shock to people.
You can easily recreate this with ddev and colima, brew install colima drud/ddev/ddev and use the Drupal9 quickstart in https://ddev.readthedocs.io/en/latest/users/quickstart/#drupal

@abiosoft
Copy link
Owner

abiosoft commented Nov 30, 2022

@rfay thanks for bringing that up.

I would expect most macOS users that actually need volume mounts and filesystem performance to opt for native macOS virtualisation with virtiofs. This is being evaluated as the default option on supported systems (i.e. macOS 13).

9p is basically the standard mount option for QEMU (on Linux and now macOS) and there is continuous development and improvements in this regard, it can only get better. It is actually good enough on Linux.

I do however agree with you that it may be too early to swap sshfs with 9p and would be open to delaying this.
Also bear in mind this would affect a subset of macOS users that would not be using virtiofs either due to unsupported OS or preferring to stick to (open source) QEMU.

@rfay
Copy link
Contributor

rfay commented Nov 30, 2022

I've already hijacked this thread too much, but also discussed in slack virtiofs on Linux as used by docker desktop for Linux is completely unreliable and makes that pretty much a disaster to this point. OTOH virtiofs on docker desktop for mac is finally usable in latest release, at least with the trivial test I tried.

@AkihiroSuda
Copy link
Contributor

I'm pretty worried about the performance consequences of 9p

The performance was significantly improved in QEMU 7.2.
Seems even faster than sshfs, although still slower than virtiofs (Virtualization.framework).

@rfay
Copy link
Contributor

rfay commented Nov 30, 2022

But QEMU 7.2 hasn't made it into homebrew yet, as you know. Is there an easy way to test with 7.2?

@AkihiroSuda
Copy link
Contributor

But QEMU 7.2 hasn't made it into homebrew yet, as you know. Is there an easy way to test with 7.2?

brew install --HEAD qemu

@rfay
Copy link
Contributor

rfay commented Nov 30, 2022

Nice, massive progress in general.

Colima HEAD+QEMU HEAD:
ddev exec 'cd web/sites/default/files && time find . -type f -exec cp {} /dev/null \;' (Similar to previous test mentioned in slack)

9p: 3.6s
sshfs: 2.0s

Close enough not to worry now. But even sshfs seems 2x faster than before, although I didn't go back and test previous versions right now.

ddev composer install of a Drupal site is quite a lot slower with 9p than with mutagen (native linux in container), but that's thousands of files.

@fskaeh
Copy link

fskaeh commented Dec 10, 2022

The next release v0.5.0 would be moving over to 9p mounts as the default, with the option of virtiofs (and Virtualisation.Framework) for macOS 13 and above.

Great to know! Is there any ETA for that release?

@abiosoft
Copy link
Owner

The next release v0.5.0 would be moving over to 9p mounts as the default, with the option of virtiofs (and Virtualisation.Framework) for macOS 13 and above.

Great to know! Is there any ETA for that release?

You can expect it to follow Lima v0.14.0 release.

@AkihiroSuda
Copy link
Contributor

The next release v0.5.0 would be moving over to 9p mounts as the default, with the option of virtiofs (and Virtualisation.Framework) for macOS 13 and above.

Great to know! Is there any ETA for that release?

You can expect it to follow Lima v0.14.0 release.

FYI I think I can release Lima v0.14.0 next week. By the end of the year in the worst case.

@fskaeh
Copy link

fskaeh commented Dec 13, 2022

The next release v0.5.0 would be moving over to 9p mounts as the default, with the option of virtiofs (and Virtualisation.Framework) for macOS 13 and above.

Great to know! Is there any ETA for that release?

You can expect it to follow Lima v0.14.0 release.

FYI I think I can release Lima v0.14.0 next week. By the end of the year in the worst case.

https://github.com/lima-vm/lima/releases/tag/v0.14.0 👀 👀 👀
I'm very ready to leave Docker Desktop behind.

@abiosoft
Copy link
Owner

@fskaeh it is now available in head. Waiting for some user feedback before pushing a release.

# ensure Lima is v0.14.0
brew install --head colima

@fskaeh
Copy link

fskaeh commented Dec 13, 2022

@fskaeh it is now available in head. Waiting for some user feedback before pushing a release.

# ensure Lima is v0.14.0
brew install --head colima

Amazing, thank you! Seems to be performing really well so far.

@rfay
Copy link
Contributor

rfay commented Dec 13, 2022

See

@abiosoft
Copy link
Owner

abiosoft commented Dec 13, 2022

See

😂 😂 😂 this is among of the perks of staying on the bleeding edge.

Thanks for the feedback.

@rfay
Copy link
Contributor

rfay commented Dec 13, 2022

I don't know that it's possible, but I think it would improve stability to pin colima to a particular version of lima, and to incorporate lima into colima instead of using brew to do the linkage.

The problem is this isn't "bleeding edge", it's brew upgrade, which one would expect to be relatively safe.

@abiosoft
Copy link
Owner

I don't know that it's possible, but I think it would improve stability to pin colima to a particular version of lima, and to incorporate lima into colima instead of using brew to do the linkage.

It is definitely possible and part of the plan for v1.0.0.

@AkihiroSuda
Copy link
Contributor

https://github.com/neunenak/sshfs seems like it could be a new successor.

https://github.com/deadbeefsociety/sshfs seems active too

@h4sh5
Copy link

h4sh5 commented Sep 25, 2023

SSHFS is no longer orphaned https://github.com/libfuse/sshfs/

@ohookins
Copy link
Author

ohookins commented Oct 2, 2023

Will close this issue in light of the previous comment. Any change to different file sharing mechanisms I'd consider a topic for another ticket.

@ohookins ohookins closed this as completed Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants