In the world of modern HEP computing, your data analysis location may be on a computer far removed from your office. What if your analysis produces a bunch of plots that you want to be able to just look at without constantly transferring them to your local machine? What if you need to edit code that lives on a remote system and isn’t in CVS? How do you get interactive with remote files?
Many people do the following: they make a secure shell connection (SSH connection) to the remote machine. They then run applications on the remote machine which may pop up windows over the network. The overhead of showing windows over a network connection is HUGE, and often wastes the user’s time. Mounting remote disks using NFS or AFS is either a pain in the ass, or banned due to security restrictions. What can you do?
My go-to solution is SSHFS. This is part of the much larger FUSE program – the Filesystem in Userspace program. FUSE makes it possible for the user to realize the usage of a number of filesystem types without having to be superuser, and without compromising overall system security by requiring access to the kernel of the operating system. SSHFS is an implementation of a network filesystem using the SSH connection protocol.
The idea is simple. Using sshfs, you log into the remote machine and then the remote directory is locally mounted into a directory. You can then use local commands – window operations, terminal operations, etc. – to access the files across the network. For instance, if I make an sshfs connection to machine in Europe and want to edit a script, I run EMACS on my local machine and give EMACS the path of the file on my local disk, which corresponds to the remote file located in Europe. It’s no less secure than using SSH, and as long as you aren’t editing or loading multi-100-Megabyte files over a low-end broadband connection, the response is pretty snappy.
I use SSHFS routinely for editing and viewing files. Even for small ROOT analysis demands, I can use it. Obviously, if you have to analyze gigabytes or terabytes of data, this is a BAD idea. But for simple routine editing and file viewing, it’s a life-saver.
Here are some implementations of FUSE and SSHFS for different operating systems:
- For Linux/UNIX: http://www.linux.com/archive/feature/49757
- For Mac OS: http://code.google.com/p/macfuse/
- For Windows: http://dokan-dev.net/en/download/