web-dev-qa-db-ja.com

fstab経由でマウントされたsshfsドライブに強制的に再接続する

私は日常的に使用するリモートsshfsドライブを持っています。以前にコンピュータを起動するたびに次のコマンドを実行しました。

sshfs -o Ciphers=arcfour -o Compression=no -o reconnect remote:dev ~/dev

もちろん、毎回手動で行うのはそれほど便利ではないので、リモートをファイルシステムテーブルに追加するだけだと思いました。私はfstabのフォーマット方法に慣れていませんが、いくつかの技術的な「ハウツー」ブログを少し読んだ後、/etc/fstabファイルに次の行を含めることにしました。

sshfs#wbarlow@remote:/home/wbarlow/dev /home/wbarlow/dev Fuse defaults,users,idmap=user 0 0

残念ながら、ネットワークに異常がある場合、ドライブがダウンすることがあります。これはおそらく1日に1回発生しますnautilusでドライブをクリックして)手動で再接続しようとすると、「トランスポートエンドポイントが接続されていません。」というメッセージが表示されます。

私の主な質問はこれです:---(ターミナルコマンドで使用した-o reconnectオプションをfstabファイルに取り込むにはどうすればよいですか?これにより、ブリップによるドライブの切断を防ぐことができます。

また、その暗号は、リモートサーバーがサポートする最速の暗号だと思ったので(選択したと思います)、有線のギガビットネットワークは、CPUがデータを圧縮するのにかかる時間よりも速いため、圧縮を削除しました。これらのオプションを自分のfstabにも追加できればすばらしいのですが、それらがなくても生活できます。

これが私のカーネル/ OS /アーキテクチャ情報です:

[wbarlow ~]$ uname -r
4.1.3-200.fc22.x86_64
6
Woodrow Barlow

必要なオプションを含めるには、以下に示すようにfstabエントリを変更する必要があります。実際には存在しないオプションを追加すると、システムが起動しなくなるので注意してください。

sshfs#wbarlow@remote:/home/wbarlow/dev /home/wbarlow/dev Fuse defaults,users,noauto,idmap=user,Ciphers=arcfour,Compression=no,reconnect 0 0

私はそれをテストしました

  1. ps|grep sshの出力の検査
  2. kill sshを実行してもマウントは終了しませんでした。

noautoオプションを自由に追加しました。これは、マウントが自動的に行われないように要求します。そのため、障害が発生してもブートプロセスは停止しません(特にsystemdを使用している場合)。 mountを実行する便利な方法があるかどうかに依存します。うまくいけば、あなたのファイルマネージャがこれを提供するでしょう、そうでなければそれはポイントを打ち負かします...

別の可能性はnofailオプションです。このオプションは、このファイルシステムが「存在しない場合、このデバイス」をマウントできない場合でも、正常な起動を要求します。残念ながら、sshfs/Fuseにはこのオプションが実装されていません。皮肉なことに、ここでnofailオプションを使用すると、失敗が保証されます。


ドキュメント(man fstab)は、fstabエントリの4番目のフィールドを記述しています。

4番目のフィールド(fs_mntops)

このフィールドは、ファイルシステムに関連付けられているマウントオプションを示します。

オプションのコンマ区切りリストとしてフォーマットされます。少なくともマウントのタイプ(roまたはrw)に加えて、ファイルシステムのタイプに適した追加オプション(パフォーマンスチューニングオプションを含む)が含まれています。詳細については、mount(8)またはswapon(8)を参照してください。

基本的なファイルシステムに依存しないオプションは次のとおりです。

  • defaultsデフォルトのオプションを使用:rw、suid、dev、exec、auto、nouser、async。
  • noauto「mount -a」が指定されている場合(たとえば、ブート時)にマウントしません。
  • serユーザーがマウントできるようにします。
  • ownerデバイスの所有者にマウントを許可します。
  • commentまたはx- <name> fstab-maintainingプログラムで使用します。
  • nofail存在しない場合、このデバイスのエラーを報告しません。

ファイルシステムに完全に依存しないオプションは、fstabによって処理されます。その他のオプションは、ファイルシステム固有のコマンド(この場合はsshfs)に渡されます。

4
sourcejedi