Raspberry Pi OS で別サーバのnfsを自動でマウント
ラズパイでファイルを定期的に別サーバにバックアップしておきたい事情が発生しました。
頻繁に使うのであればnfsで常時マウントしても良いのですが、必要なのはバックアップの時だけです。
nfs を起動時にマウントすると相手先サーバが落ちてたりしてマウントできなかった時に面倒なことになった経験がある(昔の話なので今は違うんではないかと思いますが…)ので必要な時だけマウントしたいです。
もちろん、バックアップ用のシェルスクリプト内で手動でマウントしても良いですが…。
と、いった時に使えるのが autofs です。(いやもっとすごい機能がありそうですが私はこれがやりたかった)
まずは普通に相手先サーバのディレクトリがマウントできる状態を作る。
mount コマンドによる手動操作でのマウント・アンマウントができればOK。
必要なパッケージをインストール
# apt install autofs
autofs の設定
/etc/auto.master.d/に サーバ名.autofs というファイルを作成。ダイレクトautofsマウントの設定を行う時は
/- マップファイル オプション
の形式で指定。サーバ名を exsvr とすると、/etc/auto.master.d/exsvr.autofs というファイルを作成
/- /etc/auto.master.d/auto.exsvr --timeout 300
マップファイルとして上述した /etc/auto.master.d/auto.exsvr を作成。オプションは要件に合わせて適当に。
マウントポイント オプション マウント先サーバ
/nfs/exsvr -rw,auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 exsvr:/share
autofs の起動と自動起動設定
あとはお決まりの systemctl での起動と状態確認と自動起動の設定。
# systemctl restart autofs
# systemctl status autofs
実際にcdしてみて、cdできたら dfコマンド等で自動的にマウントされてることを確認。
# cd /nfs/exsvr
# df
よさそうだったら自動起動設定。
systemctl enable autofs