sshfsでMacにリモートサーバをマウントする
問題
普段の研究は、計算資源の問題もあり(お手元のiMacではとても計算できない)sshで接続したunix計算サーバ上で作業することが殆ど。コーディングをしたり、データ解析をする分にはまったくCUIの世界で完結しているので問題はないのだけれど、解析結果を可視化することの必要性はやはりある。
むろん、Rやpythonでデータにかんするグラフを描くなどして可視化をすることはできるが、X11だと描画はきれいじゃないし、遅延したりあまり安定しない問題もある。ゲノム解析の分野では、DNAやRNAの塩基配列データをゲノム上で可視化する必要があり、またインタラクティブに座標の切り替えや拡大と縮小を必要とする。こうった操作はCUIでは難しく、GUIが得意とするところである。加えて、可視化するためだけに、わざわざデータを落とすのもめんどくさい。サーバでplotしてscpして確認して、サーバでplotしてscp、、、。
ということを踏まえると、CUIのリモートで生成されるデータとGUIのMacとの間をシームレスに行き来できる仕組みがあればよい。
解決策
sshfsを使うと、任意のディレクトリにssh先のサーバのディスクをマウントすることができる。
brew install sshfs
するか、FUSE for OS X (http://osxfuse.github.io/)というのを入れる。mkdir /Volumes/remote
# ディレクトリがないとbad mount pointとか怒られる。sshfs -o reconnect -p 22 soh.i@remote.01.jp:/home/yukke /Volumes/remote
これで、Finder上でリモートサーバのファイルを全てあたかもMacのファイルのように透過的に扱うことができるようになる。ここでコードを編集したりすることももちろん可能だ。マウントの解除は、umount
すればいい。
やっぱり問題が
- まずFinderにmountできるのは大変便利だが、どうも通信速度の問題なのかファイルの取得や更新に時間がかかる。ずっとロード状態になってしまう。
- 仕組みは便利だけどあんまり使い物にならない。