-
Notifications
You must be signed in to change notification settings - Fork 147
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
Shared filesystem doesn't support Unix soft links #4180
Comments
Have you looked at the NFS mount option for Azure Files? https://learn.microsoft.com/en-us/azure/storage/files/storage-files-quick-create-use-linux I don't know what the Windows support is like though. |
I've not looked into that, no. Can someone with more Windows expertise than me comment on what effect it might have on Windows machines if we switched the mount point to NFS? One thing that would allow us to do is to start using Unix-level file permissions on the files. I had a request for that from a user just yesterday, asking how multiple users on a project can safely share the shared storage. That comes with its own issues, of course. |
I don't believe NFS requires credentials which has caused challenges in the past. https://learn.microsoft.com/en-us/azure/storage/files/storage-files-how-to-mount-nfs-shares#step-2-configure-network-security We've been here before, but never found a good cross platform file system. Blobfuse2 on top of Blob is another option, but just for Linux. |
We should be able to fix this with Add Line 126 in cb42226
|
I've tested this and seems to work great. Thanks @ljtill . |
Fixes #4180 Enable Unix soft links support in shared filesystem for Unix VMs. * **Autofs Configuration** - Add `uid=1000,gid=1000,mfsymlinks` to the `echo` statement in `templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/terraform/vm_config.sh` to support Unix soft links and set proper ownership and permissions. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/microsoft/AzureTRE/issues/4180?shareId=XXXX-XXXX-XXXX-XXXX).
The shared filesystem doesn't support soft links in a Unix VM. This greatly restricts the usefulness of the storage.
For example, we've been advising people to install software on the shared storage, so they can avoid customising the actual VMs, so they can destroy and create VMs as needed on a daily basis. A lot of our researchers use
conda
, and installing a basic conda environment will almost inevitably pull inOpenSSL
, which creates a soft-link between certificate files.Steps to reproduce
conda create -p /path/to/shared-storage/my/env openssl
This fails with
[Errno 95] Operation not supported: 'cacert.pem' -> '/shared-storage/conda/predict/ssl/cert.pem
.Or, simpler:
This is only one example, there are lots of tools out there that make use of soft links.
I don't know if there's a filesystem that supports soft links and is still mountable on Windows, one that could be easily implemented in Azure? If not, it would be worth considering supporting a Linux-only shared filesystem in addition to the workspace-wide shared filesystem. This would allow maximum flexibility.
The only workaround we have is to tell people to write installation scripts for the tools they want to install, and to put them on the shared storage. Then, at least, when a new machine is booted, they can run the scripts and reproduce their environment. That's not ideal.
The text was updated successfully, but these errors were encountered: