0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[systemd] システム起動時にNFSをマウント

Posted at

/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の存在を知ったのはこの記事を書いてる途中でした

参考

NFS - ArchWiki

  1. linux - mount.nfs: failed to apply fstab options when mount nfs file system in fedora 32 - Server Fault

  2. Systemd mount fails. Where= setting doesn't match unit name - Unix & Linux Stack Exchange

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?