/etc/fstab
に自動マウント設定を書いたら、スペルミスで立ち上がらなくなった経験が何度かあるので、systemd
を使った時の記録
環境
-
サーバ側
Synology製NAS -
クライアント側
Ubuntu 24.04.01 LTS
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
準備
前提パッケージのインストール
必要なパッケージをインストールする
$ sudo apt install nfs-common
マウント先ディレクトリの作成
/mnt
の下に好きな名前のディレクトリを作る
$ sudo mkdir -p /mnt/nfs
マウントの確認
$ sudo mount -t nfs -o vers=4 192.168.0.1:/nfs-volume /mnt/nfs
# sudo mount -t nfs -o vers=[NFSバージョン] [IPアドレス]:[NFSディレクトリのパス] [マウント先ディレクトリパス]
マウントできたことを確認したらアンマウントしておく
$ 例: sudo umount /mnt/nfs
# sudo umount [マウント先ディレクトリパス]
外部のファイルシステムをマウントするときはroot
権限が必須 1
systemdへ登録
/etc/systemd/system
に.mount
と.automount
ファイルを作成する
- ファイル名はマウント先のパスの基づいて名付ける 2
マウント先:/mnt/nfs
-> ファイル名:mnt-nfs.mount
-
.automount
は.mount
ファイルと同じ名前にする
mnt-nfs.mount
<->mnt-nfs.automount
.mount
ファイルの作成
$ sudo vi /etc/systemd/system/mnt-nfs.mount
net-mount.mount
[Unit]
Description=Mount network volume at boot
[Mount]
What=192,168.0.1:/nfs-volume
Where=/mnt/nfs
Options=vers=4
Type=nfs
TimeoutSec=10
[Install]
WantedBy=multi-user.target
- Description: 説明
- What: ネットワークボリュームの場所 ([IPアドレス]:[NFSディレクトリのパス])
- Where: マウント先
- Options: マウント時のオプション ここではNFSv4を指定
- Type: ファイルシステムの種類を指定
- Timeout: タイムアウト時間を設定 (秒)
- WantedBy: 依存関係を設定 (システム起動時に実行させる)
.automount
ファイルの作成
$ sudo vi /etc/systemd/system/mnt-nfs.automount
net-mount.automount
[Unit]
Desctiption=Automount network volume
[Automount]
Where=/mnt/nfs
[Install]
WantedBy=multi-user.target
- Description: 説明
- Where: マウント先パス
- WantedBy: 依存関係を設定 (システム起動時に実行させる)
オートマウントの登録 & 開始
.automount
のみ multi-user.target
に登録し起動する
※マウント先ディレクトリが存在しなければ作成される (らしい)
# 一応systemdをリロード
$ sudo systemctl daemon-reload
# `.automount`のみ`multi-user.target`に登録 & 起動
$ sudo systemctl enable mnt-nfs.automount
$ sudo systemctl start mnt-nfs.automount
これでNFSサーバから/mnt/nfs
にマウントができる
AutoFSの存在を知ったのはこの記事を書いてる途中でした