LoginSignup
1
0

More than 5 years have passed since last update.

レンタルサーバー上のファイルシステムをより便利にマウントする

Last updated at Posted at 2017-09-05

ssh-fs と autofs を組み合わせてリモートストレージを必要な時だけマウントする

某VPSサービスがそこそこの容量を貸してくれるので、ひ弱な RaspberyPi のセカンドストレージとして使おうと思ったが、ネットワークが不安定なのか ssh-fs ではしょっちゅう応答がなくなってしまうので、使うときだけマウントして、使わないときは自動でアンマウントするようにした。もうだいぶ忘れかけているけど完全に忘れないうちにメモを残しておく。

ssh-fs を使ってリモートのファイルシステムをローカルシステムにマウントする

別のサーバーのファイルシステムをマウントするならnfsが有名だが、インターネット上のサーバーのストレージをマウントする場合にはssh-fsが簡単で便利。
Debian 系列の場合なら

sudo aptitude install sshfs

でインストールできるはず。

http://tech.ckme.co.jp/ssh_sshfs.shtml とかで書かれているように

$ sshfs username@example.com: /home/foo /mnt/point

などとすれば簡単にマウントできる。

しかしながら、この状態で長時間放置していると、アンマウントしていないのに ssh が切断されて、運が悪ければシステムが応答しなくなてしまう。安定した接続が確保できない環境では、使うときだけマウントして、使わなくなったらアンマウントするのが安心。

そこでautofs の出番

autofs は所定のディレクトリにアクセスしに行った時だけファイルシステムをマウントしてしばらく使わないでいると勝手にアンマウントしてくれる仕組み。サーバーの再起動の際にアンマウントが必要だけでつい忘れてしまうとか、USB メモリみたいにしょっちゅう抜き差しするのにアンマウントを忘れてしまうようなときに設定しておくととても便利。
autofs のインストールについては http://kaede.blog.abk.nu/nfs-on-autofs あたりを参考にする。大雑把に書くと以下のような感じ

$ sudo atitude install autofs

でプログラムをインストールした後、 /etc/auto.master を編集して自動マウント・アンマウントの設定をしてゆく。

ssh-fs と autofs の組み合わせ方

autofs と ssh-fs の組み合わせ方がなかなか見つからなかったので記録しておく。

/etc/auto.master に、以下を追加

/etc/auto.master
/media/sakura /etc/auto.sakura.data --timeout=30,--ghost

パスフレーズを空にした公開鍵・秘密鍵を作成して秘密鍵を

/home/localuser/.ssh/keys/sshfs2sakura

に置くと想定する。公開鍵はリモートの /home/remoteuser/.ssh/autofs 内に追記することを想定。この時にローカル側の設定として以下を作成。uid=1000 の権限でマウントする。

/etc/auto.sakura.data
music           -fstype=fuse,allow_other,uid=1000,gid=1000,reconnect,IdentityFile=/home/localuser/.ssh/keys/sshfs2sakura sshfs\#remoteuser@remotehost:/home/remoteuser/data

使用するユーザーがリモートサーバーにログインしたことがあれば問題はないが、一度も ssh でログインしたことがない場合、 knownhosts の設定についても注意が必要。

この記事を書いていたら以下のようなサイトで詳しく解説してくれているので参考にどうぞ
http://blog.fusic.co.jp/archives/2086/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0