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 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.

  • eldavi@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    1 day ago

    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.

    • GathererStuff@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      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.

      • eldavi@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        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?

        • GathererStuff@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

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

          do you know how to use strace?

          A very confident NO :)

          • eldavi@lemmy.ml
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            1 day ago

            fortunately we won’t have to bother w strace; but i think i can see where you’ll be blocked.

            do you have to provide a username/password or token when you try to access the drive now?

            if yes, then you should be able to mount it like you’re trying to do using instructions like these and you can use the information from the last printout to fill in the blanks.

            if no, then its access is controlled outside of your guest instance and you’ll need to ask your admins to enable access.

            • GathererStuff@lemmy.mlOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              do you have to provide a username/password or token when you try to access the drive now?

              I do but it’s through the proprietary GUI of the binary which has no CLI or API I can use.

              • eldavi@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                1 day ago

                then strace might help if we’re lucky enough to get something like memory addresses.

                strace can be very verbose and requires a lot of knowledge that i doubt i can share through comments back and forth.

                is creating an intermediary like others have commented on in this post an option? they’re automatically easier and faster than strace and there’s no gaurantee that strace will show us the information we need.

  • gomp@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    The best option would be to have a “regular” client that keeps a local copy in sync with the cloud instead of a mount.

    BTW: IDK what cloud storage you are using, but IIRC some show files that are not available locally (ie. only the most recent files are downloaded locally - the older stuff is downloaded on request).

    Alternatively, you could hack something together running unison locally in the guest to sync the cloud folder to a shared one… you’ll have two copies of the data though.

    • GathererStuff@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 day ago

      That would be impossible since the cloud drive is 2TB and my physical storage space is under 500GB in size.

  • Dariusmiles2123
    link
    fedilink
    arrow-up
    1
    ·
    1 day ago

    Wouldn’t you just be able to create a folder for Xdrive (imaginary alternative to Google drive) in the Virtual Machine and another one in the host.

    Since they are both synchronized with Xdrive they would have the same content.

    • GathererStuff@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      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.