Ubuntu22.04LTS_Server

NFS ( Network File System ) Server/Client Ubuntu Server 22.04 LTS 設定方法

NFS(Network File System) ローカルに接続されたストレージをネットワークを介して接続するファイルシステムのプロトコルになります。主にUnix系で利用されるプロトコルです。今回は Ubuntu Server 22.04 LTS にNFSサーバおよびNFSクライアントを設定方法を紹介します。

インストール環境

  • Ubuntu 22.04 LTS

NFS サーバーの設定

NFSサーバーのインストール

下記コマンドを実行してインストールします。

NFSサーバーをインストールするとデーモンが起動されて、自動起動(is-enabled)の設定がされている状態になります。

NFSサーバーの設定ファイル ( /etc/exports )

NFSサーバーの設定は /etc/exports に記述します。

上記の設定例は

  • /nfsdata NFSサーバがクラインに公開するディレクトリ
  • NFSサーバがクライアントに公開するアドレス(10.3.101.0/24)を指定。
  • (rw,no_root_squash,no_subtree_check) NFSサーバ設定オプションの指定になります。 rwは クラインとからの読み書きの許可、root_squash NFSクラインからroot権限でのアクセスした場合、NFSサーバ側も同じくroot権限として取り扱う、no_subtree_check サブツリーのチェックを無効にする最近のnfsではこの設定値を推奨。 他のオプションは下記を参照
パラメータ意味
roクライアントからの読み込みを許可、書き込みを不許可(デフォルト)
rwクライアントからの読み込み、書き込みを許可
syncクライアントからの書き込みを同期(即時)動作する。(デフォルト)
サーバークラッシュ時にデータを損失を防げるが転送効率が悪い
asyncクライアントからの書き込みを非同期動作する。
サーバからの書き込みをメモリ上にキャッシュするため転送効率が向上するが、クラッシュ時にデータ損失の可能性が上がる。
no_subtree_checkサブツリーのチェックを無効にする。パフォーマンス、セキュリティ的にも最近のNFSでは推奨値
root_squashクライアント側からrootとして読み込み、書き込みの要求を匿名(anonymous UID/GID)として処理する。
no_root_squashクライアント側からrootとして読み込み、書き込みの要求をrootとして処理する。
no_all_squashクライアント側のroot以外のUID/GIDの読み込み、書き込みの要求を、そのままのUID/GIDで処理される。(デフォルト動作)
サーバ、クライアントでUID/GIDが一致させる必要がある。
all_squash クライアント側のroot以外のUID/GIDの読み込み、書き込みの要求を匿名(anonymous UID/GID)として処理する。
anonuid=UID指定のUIDを anonymous UID としてマッピングする。
anonuid=GID指定のGIDを anonymous GID としてマッピングする。
exports オプション

オプションの一部を紹介 詳細は man exports コマンドで確認できます。

公開ディレクトリ作成

今回は新規のディレクトリのため作成します。

設定の反映

下記コマンドで設定が反映されます。

NFSクライアントの設定

NFSクライアントのインストール

マウントポイントの作成

NFSサーバーとの接続用のマウントポイントのディレクトリを作成します。

一時的なマウント(接続)およびアンマウント(接続解除)

上記コマンドで NSFサーバー( 10.3.101.1 )の /nfsdata を /mnt/nfsdata にマウントすることになります。
※mountコマンドではは再起動後には自動的に接続されないので注意すること

接続の確認

下記はサーバ側で該当のディレクトリを確認するとNFSサーバ側にクライアントで作成された test.txt ファイルを確認することができます。

再起動されたらNFSサーバとの接続も解除されますが、下記コマンドでアンマウント(接続解除)することができます。

接続解除の確認

恒久的(再起動後も接続)なマウント(接続)

再起動後も起動時にマウントするには /etc/fstab に追記することで設定できます。

設定の反映

マウントの確認および test1.txt ファイルの作成

下記はサーバ側で該当のディレクトリを確認するとNFSサーバ側にクライアントで作成された test1.txt ファイルを確認することができます。

参考サイト

Ubuntu 22.04 LTS Server 記事一覧

Ubuntu 22.04 LTS Server インストール

Ubuntu 22.04 LTS Server 環境変更

Ubuntu 22.04 LTS Server ソフトインストール

-Ubuntu22.04LTS_Server