マウントはsystemdの管轄で、fstabからなんか自動的にマウントのユニットファイルが生成されて、mountコマンドでなんか勝手に起動常駐する。
よって、fstabを書き換えたら systemctl daemon-reoadを実行する必要がある
/etc/fstab の例
10.33.1.2:/var/lib/hoge /data/hoge nfs ro,soft,nofail,_netdev,noatime,timeo=100,retrans=3,x-systemd.automount,x-systemd.mount-timeout=10s,x-systemd.idle-timeout=60s 0 0
マウントユニット
ユニットファイルはマウント時に作られる
systemctl list-units --type=mount で生成されたユニット名が見れる
ユニットファイル名はマウント先のディレクトリ名になっている( / は - に置き換わる)
# systemctl list-units --type=mount|cat UNIT LOAD ACTIVE SUB DESCRIPTION (中略) run-user-1000.mount loaded active mounted /run/user/1000 data-hoge.mount loaded active mounted /data/hoge
自動マウント、自動アンマウント
自動マウントにしていると、 .mount といっしょに .automount も作られる。
これが起動していると 自動アンマウントなどが制御される。
# systemctl status data-hoge.automount
* data-hoge.automount
Loaded: loaded (/etc/fstab; generated)
Active: active (waiting) since Thu 2026-01-20 19:37:21 JST; 37s agoこのユニットはfstab変更してもmountしても勝手には起動してこないので、手でstartするか 面倒だからシステムごと再起動する
オプションの意味
| オプション | 意味 |
|---|---|
| ro | リードオンリー |
| tcp | TCP指定(今どきはデフォでTCP) |
| soft | サーバ無反応時、タイムアウトする |
| hard | サーバ無反応時、待ち続ける |
| intr | タイムアウト待ちをCtrl+Cで停止可能にする(今どきはほぼ無視される) |
| nofail | マウントが失敗してもエラーとしない(起動を続行する) |
| _netdev | ネットワーク環境を前提とする(起動順序の制御用) |
| noatime | アクセス時間の記録をしない |
| timeo=100 | 通信のタイムアウト時間の指定(100ms単位) |
| retrans=3 | タイムアウト後のリトライ回数 |
| x-systemd.automount | アクセス時に初めてマウントする |
| x-systemd.mount-timeout=10s | マウント操作のタイムアウト時間 |
| x-systemd.idle-timeout=60s | マウント後アクセスなしでの自動アンマウントまでの時間 |
| nfsvers=4.2 | NFSバージョン指定(新しい方から順にネゴるので別にいらない) |