タイガーラック クリエイティブブログ
2024
October
17

【Linux】NFSサーバーの設定方法

今回はLinux間でディレクトリを共有することが出来るNFS(Network File System)の設定方法について説明していきます。
尚、今回説明するNFSのバージョンは4となります。

環境

  • さくらのVPS
  • サーバー2台
  • CentOS Linux 7

サーバー2台はそれぞれ

サーバー名役割設定IP
サーバーANFSサーバー192.168.1.1
サーバーBNFSクライアント192.168.1.2

という形で扱っていきます。

また、IPは以前説明したスイッチ接続によって設定しています。

サーバー側

NFSのインストール

yum -y install nfs-utils

まずNFSサーバーを利用するのに必要なnfs-utilsパッケージをインストールします。

公開ディレクトリの作成

mkdir /nfs
vi /etc/exports

次に公開ディレクトリの作成と、ディレクトリの公開設定を行います。
公開設定は/etc/exportsを編集することで設定可能です。

/nfs 192.168.1.2/24(rw,async,no_root_squash)

/etc/exports内には、公開するディレクトリ、アクセスを許可するクライアントのIP、(オプション)の順で記入していきます。クライアントのIPとオプションの間にスペースを開けないように注意してください。
クライアントのIPには*を記入することですべての対象に公開することも出来ます。
オプションに関しての詳細は下記を参照してください。

オプション機能
rw読み書きを許可する
ro読み取りのみを許可する
async非同期書き込みを有効にする
sync同期書き込みを有効にする
no_root_squashroot権限の状態でアクセス可能にする
root_squashroot権限のユーザーでアクセスした際に
nobody状態でのアクセスに変更する
all_squashすべてのアクセスをnobody状態として扱う

公開ディレクトリ設定の反映

exportfs -rv

exportfsコマンドを使用することで/etc/exportsの設定が反映されます。
exportfsのオプションに関しての詳細は下記を参照してください。

オプション機能
-a全てのディレクトリのエクスポート
-r全てのディレクトリを再エクスポート
-v現在のエクスポートリストを表示する
他のオプションと併用すると処理の状態を表示する
-u特定のディレクトリをアンエクスポートする
-aと併用すると全てのディレクトリをアンエクスポートする

firewallの開放

firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload

firewallの開放はfirewall-cmdのサービスにNFSが登録されている為、–add-serviceから行えます。
–add-portから指定したい場合は、NFSで使用するポートはデフォルトでTCPの2049なので、
–add-port=2049/tcpで設定できます。

nfs-serverの起動

systemctl start nfs-server
systemctl enable nfs-server

nfs-serverの起動と、自動起動の有効化をします。

クライアント側

NFSのインストール

yum -y install nfs-utils

サーバーAと同様にnfs-utilsパッケージをインストールします。

公開ディレクトリのマウント

mkdir /mnt/nfs
mount -v -t nfs 192.168.1.1:/nfs /mnt/nfs

サーバーAで公開しているディレクトリをマウントするために、まずマウント先になるディレクトリを作成し、それからmountコマンドを使用してサーバーAの公開ディレクトリをマウントします。
mountコマンドの-tオプションはファイルシステムのタイプを指定するオプションとなっており、そこにnfsを指定することでNFSのマウントが可能となります。

接続確認

サーバーBで以下のコマンドを入力します。

cd /mnt/nfs
touch test

その後、サーバーAで

cd /nfs
ll

と入力し、testというファイルが存在していれば、NFSの設定が完了しています。

備考

今回紹介したNFSバージョン4を使用する場合、サーバーが起動するサービスはnfs-serverのみですが、何らかの理由でNFSバージョン3を使用する場合、追加でrpcbindサービスの起動が必要になるので注意してください。

このカテゴリの最新記事

関連記事

SHOP LIST

タイガーラック株式会社

〒577-0056
大阪府東大阪市長堂1-3-14 TOKUYASU Bld.