Hi everyone! I want to be able to access a folder inside the guest that corresponds to a cloud drive that is mounted inside the guest for security purposes. I have tried setting up a shared filesystem inside Virt-Manager (KVM) with virtiofs (following this tutorial: https://absprog.com/post/qemu-kvm-shared-folder) but as soon as I mount the folder in order for it to be accessible on the guest host the cloud drive gets unmounted. I guess a folder cannot have two mounts at the same time. Aliasing the folder using bind and then sharing the aliased folder with the host doesn’t work either. The aliased folder is simply empty on the host.

Does anyone have an idea regarding how I might accomplish this? Is KVM the right choice or would something like docker or podman better suited for this job? Thank you.

Edit: To clarify: The cloud drive is mounted inside a virtual machine for security purposes as the binary is proprietary and I do not want to mount it on the host (bwrap and the like introduce a whole lot of problems, the drive doesn’t sync anymore and I have to relogin each time). I do not use the virtual machine per se, I just start it and leave it be.

1 point

9p server

permalink
report
reply
1 point

I don’t understand what you mean with the content disappearing when you mount the virtiofs on the guest - isn’t the mount empty when bound, untill the guest populates it?

Can you share what sync client+guest os you are using? if the client does “advanced” features like files on demand, then it might clash with virtiofs - this is where the details of which client/OS could be relevant, does it require local storage or support remote?

If guest os is windows, samba share it to the host. if guest os is linux, nfs will probably do. In both cases I would host the share on the client, unless the client specifically supports remote storage.

podman/docker seems to be the proper tool for you here, but a VM with the samba/nfs approach could be less hassle and less complicated, but somewhat bloaty. containers require some more tailoring but in theory is the right way to go.

Keep in mind that a screwup could be interpreted by the sync client as mass-deletes, so backups are important (as a rule of thumb, it always is, but especially for cloud hosted storage)

permalink
report
reply
1 point
*

I don’t understand what you mean with the content disappearing when you mount the virtiofs on the guest - isn’t the mount empty when bound, untill the guest populates it?

Sorry I made a mistake in the original post. I wanted to say on the host instead of on the guest. My bad.

Yes, you are correct, the folder is empty until I log in insde the cloud application on the guest.

does it require local storage or support remote?

What do you mean? The cloud drive is a network drive basically. It only downloads files on demand.

if guest os is linux, nfs will probably do

This is what others have suggested and what I will probably do if the method below fails.

podman/docker seems to be the proper tool for you here

Yesterday I actually tried to spin a podman container hoping it would work but I encountered the following problem when trying to propagate mounts: https://lemmy.ml/post/22215540

Could you please assist me there if you have further ideas? Thank you :)

Keep in mind that a screwup could be interpreted by the sync client as mass-deletes

I am VERY aware of this *sweating*

permalink
report
parent
reply
4 points

fwiw: if you go w the container strategy with docker or podman, you should be able to use the storage overlay based on how i’m reading your question.

it’s hard to ascertain any path forward w/o knowing more details on the cloud drive and how’s it’s currently mounted on the guest instance.

permalink
report
reply
1 point

I have no idea how it is mounted (how can I find out?) because the binary is proprietary. This is why it is contained inside a virtual machine.

permalink
report
parent
reply
3 points

run the command mount with sudo access and if you can see it enumerated in the printout then you should be able to proceed with either a container overlay or separate mount point.

if not, then it’ll get very advanced very quickly; do you know how to use strace?

permalink
report
parent
reply
2 points

I just checked and it is mounted as a fuse drive.

do you know how to use strace?

A very confident NO :)

permalink
report
parent
reply
4 points

Does rclone support the cloud service?

permalink
report
reply
1 point

It does not, hence my question.

permalink
report
parent
reply
1 point

Gotcha, in that case maybe a container? You can use a bind mount to link a folder on the host to inside the container. You could use docker/podman or LXC.

permalink
report
parent
reply
1 point

This is what I have been trying for the past two days actually: https://lemmy.ml/post/22215540 Could you please assist me there if you have an idea? Thanks :)

permalink
report
parent
reply
1 point

Maybe reshare the directory locally through Samba on your VM?

permalink
report
reply
1 point
*

Why not NFS? Regardless, wouldn’t it be slower anyway compared to virtiofs?

permalink
report
parent
reply
2 points

Just throwing it out there as an option. Good luck.

permalink
report
parent
reply
1 point

Thank you!

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 8K

    Monthly active users

  • 3.7K

    Posts

  • 48K

    Comments