NFS(Network File System) ローカルに接続されたストレージをネットワークを介して接続するファイルシステムのプロトコルになります。主にUnix系で利用されるプロトコルです。今回は Ubuntu Server 20.04 LTS にNFSサーバおよびNFSクライアントを設定方法を紹介します。
インストール環境
- 20.04.3 LTS (Focal Fossa)
NFSサーバの設定
NFSサーバのインストール
NFSサーバをインストールするとデーモン(nfs-server)が起動されてに自動起動(is-enabled)の設定がされています。
NFSサーバの設定ファイル ( /etc/exports )
NFSサーバがクラインに提供するディレクトリとして /nfsdata を設定するには /etc/exports に記述します。/etc/exports
上記の設定例は
- /nfsdata NFSサーバがクラインに公開するディレクトリ
- 172.28.0.0/16 NFSサーバがクライアントに公開するアドレスを指定。* 全ホストから接続が許可される形になります。
- (rw,no_root_squash) NFSサーバ設定オプションの指定になります。 rwは クラインとからの読み書きの許可、root_squash NFSクラインからroot権限でのアクセスした場合、NFSサーバ側も同じくroot権限として取り扱う 他のオプションは下記を参照
| パラメータ | 意味 |
|---|---|
| ro | クライアントからの読み込みを許可、書き込みを不許可(デフォルト) |
| rw | クライアントからの読み込み、書き込みを許可 |
| sync | クライアントからの書き込みを同期(即時)動作する。(デフォルト) サーバークラッシュ時にデータを損失を防げるが転送効率が悪い |
| async | クライアントからの書き込みを非同期動作する。 サーバからの書き込みをメモリ上にキャッシュするため転送効率が向上するが、クラッシュ時にデータ損失の可能性が上がる。 |
| 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 としてマッピングする。 |
オプションの一部を紹介 詳細は man exports コマンドで確認できます。
公開ディレクトリ作成
今回は新規のディレクトリのため作成します。
設定の反映
NFSクライアントの設定
NFSクライアントのインストール
マウントポイントのディレクトリ作成
一時的なマウント(接続)およびアンマウント(解除)
下記の方法は起動中は接続を維持していますが、再起動するとマウントが解除されます。
動作の確認
接続の解除(アンマウント)
解除の確認
恒久的なマウント(接続)
再起動後も起動時に自動的にマウントされます。
マウントの確認および動作
参考サイト
スポンサーリンク
Ubuntu 20.04 LTS Server 記事一覧
Ubuntu 20.04 LTS Server インストール
Ubuntu 20.04 LTS Server 設定記事一覧
- タイムゾーンを日本時間(JST)に変更
- ネットワークの設定 ( IPv4アドレス、DNS(resolve) 、デフォルトゲートウェイ、static route )
- シリアルからコンソールに接続する設定
- ファイアウォール ufw の設定方法