This guide explains how to mount a cloud storage folder (e.g., OneDrive, Dropbox) on an HPC cluster without admin privileges using rclone. However, mounting cloud storage on HPC comes with important caveats and usage patterns you must follow.
- rclone installed in your user environment.
- FUSE support (i.e.,
fusermount). - An rclone remote configured for your cloud provider (e.g.
onedrive_remote:).
-
Login Node Only:
- Most HPCs require user-space FUSE mounts to happen on the login node. Do not attempt to mount your cloud remote from a compute node—this can result in your cloud account being blocked or temporarily suspended if too many parallel nodes open connections.
-
Mount → Copy → HPC:
- After mounting the shared cloud folder on the login node, copy the needed data into a location that doesn’t affect your HPC quota—for instance,
/dev/shm/$USER. - Then use tools like
uhpc-multipushto distribute data from/dev/shmto your allocated compute nodes. - Direct pushes from the mounted cloud path to compute nodes will not work—Slurm doesn’t see the mount, and concurrency from multiple nodes would hammer the cloud service.
- The HPC best practice is to treat the mounted folder like a “source” on the login node only. Avoid leaving it mounted during your compute job.
- After mounting the shared cloud folder on the login node, copy the needed data into a location that doesn’t affect your HPC quota—for instance,
-
Quotas & RAM:
- If you do large file operations, be mindful that storing data in your home directory can blow HPC quotas.
- If you choose
/dev/shm, note that it’s a RAM disk—you must have enough memory on the login node to hold your data.
-
Performance:
- Cloud-based I/O is slower and less reliable than HPC scratch. Copy large data sets once from the cloud to HPC, then do your computations locally.
- Relying on real-time cloud access during compute jobs is risky, can cause slowdowns, and is often against HPC policies.
If you haven’t already:
rclone configChoose a cloud provider (OneDrive, Dropbox, Google Drive, etc.) and follow the prompts. Test with:
rclone ls onedrive_remote:Replace onedrive_remote: with your actual remote name.
Use the new UHPC-Tools scripts: uhpc-cloud-mount and uhpc-cloud-umount.
uhpc-cloud-mount onedrive_remote:myfolder /dev/shm/$USER/my_cloud_mount- This script:
- Ensures no existing rclone processes are running under your user.
- Creates a RAM-based cache (default
/dev/shm/rclone_cache_$USER). - Spawns
rclone mountin the background (logs to a file).
Once mounted, your cloud files appear in /dev/shm/$USER/my_cloud_mount.
After the mount:
- Copy the data you need from
/dev/shm/$USER/my_cloud_mountto another local directory (e.g.,/dev/shm/$USER/dataset). - Use
uhpc-multipush /dev/shm/$USER/dataset /dev/shm/$USER/dataset <nodes>to distribute your files to allocated compute nodes.
When done:
uhpc-cloud-umount /dev/shm/$USER/my_cloud_mountThis calls fusermount -u and optionally removes the cache directory.
- Mount on the login node only.
- Copy data from the mounted drive to a local (RAM or HPC scratch) path.
- Unmount to avoid leaving an ongoing FUSE process.
- Push or multipush that local data to compute nodes.
- Do not mount the cloud remote on every compute node, to avoid concurrency, rate-limiting, or HPC policy violations.
- “fusermount3: not found”: Symlink
fusermounttofusermount3or setexport RCLONE_FUSE_COMMAND=fusermount. - Quota Errors: If the mount’s cache is in your home directory, you can blow your quota. Use
/dev/shmor HPC scratch. - Stalled/Dead Mount: HPC might kill your process upon logout or job completion. Try using a
tmux/screensession or short sessions to copy data quickly.
Mounting cloud storage on HPC is best for light data access or quick file grabs. For large or parallel workflows, syncing or copying data from the login node to HPC scratch is more stable. Always consult HPC administrators if you’re uncertain about concurrency or data usage policies.