Top>Linux>サーバー>NFS |
機能名 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NFS(ネットワークファイルシステム) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
説明 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
外部端末のディスクをローカルマシーンのディスクとして利用する機能。 Windowsでいうところのネットワークドライブのような機能を提供する。 WindowsからでもNFSクライアントとして動作可能なようだがここでの説明は省略する。 必ずネットワーク通信が発生するので、頻繁にアクセスが発生するような利用には不向きかと思われる。 バックアップファイルの保存などには適していいるかと思われる。 ファイバーチャネルなどの専用の高速ネットワークで接続されている場合はDBなどの共有ディスクとしての利用も可能かもしれない。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
環境 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NFSサーバ端末 ホスト名:sv052 IPアドレス:192.168.1.52 OS:CentOS 7.9 公開ディレクトリ:/opt/share NFSクライアント端末 ホスト名:sv053 IPアドレス:192.168.1.53 OS:CentOS 7.9 マウントポイント:/opt/share |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.サーバー側の設定 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.1.NFSが利用可能か確認する。 次のコマンドでパッケージがインストールされているか確認する。 インストールされている場合はパッケージが表示される。 [root@sv052 ~]# rpm -qa | grep nfs nfs-utils-1.3.0-0.68.el7.2.x86_64 nfs4-acl-tools-0.3.3-21.el7.x86_64 libnfsidmap-0.25-19.el7.x86_64 [root@sv052 ~]# インストールされていない場合はパッケージをインストールする。 [root@sv052 ~]# yum install nfs-utils |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.2.nfsサービスを開始する。 下記のコマンドでサービスを起動する。 [root@sv052 ~]# systemctl start nfs サービスが起動しているか確認する。 [root@sv052 ~]# systemctl status nfs> サーバー起動時にサービスも起動するように設定する。 [root@sv052 ~]# systemctl enable nfs Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service. [root@sv052 ~]# サーバー起動時にサービスも起動する設定となっているか確認する。 [root@sv052 ~]# systemctl is-enabled nfs enabled [root@sv052 ~]# |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.3.公開するディレクトリを準備する。 ここでは /opt/share ディレクトリを公開するものとする。対象ディレクトリを作成する。 [root@sv052 ~]# mkdir /opt/share パーミッションを設定する。 クライアント側で所有者以外のユーザにディレクトリ操作、ファイルの読み書きを許可するためここではパーミッションとして777を設定する。 なお、ここで設定するパーミッションはそのままクライアント側へ反映される。 [root@sv052 ~]# chmod 777 /opt/share また、公開確認用にテキストファイル(test.txt)を作成する。 [root@sv052 ~]# echo test > /opt/share/test.txt |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.4.公開設定を行う。 NFS の設定ファイルに公開情報を記載する。 設定ファイル:/etc/exports 書式:<ディレクトリ> <ホスト1>(<オプション1>) <ホスト2>(<オプション2>)... ・<ディレクトリ>:公開対象のディレクトリ。 ・<ホスト>:公開先(クライアント)のホスト名、IPアドレス、ネットワークアドレス、ネットグループ名(@mynet など)。 ・<オプション>:下記の表のエクスポートオプションを指定する。複数オプションがある場合はカンマ区切りで指定する。 ここでは192.168.1.53のホストからの読み書きを許可するため /etc/exports に下記の内容を設定する。 /opt/share 192.168.1.53(rw) ファイル属性に関するオプション
ユーザ属性に関するオプション
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.5.設定を有効にする。 下記のコマンドで設定を反映する。 [root@sv052 ~]# exportfs -a 反映された内容を確認する。 [root@sv052 ~]# exportfs -v /opt/share 192.168.1.53(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash) [root@sv052 ~]# |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.6.その他-公開情報を削除する。 公開情報を削除する場合は下記のコマンドで公開情報を削除する。 書式:exportfs -u <ホスト>:<公開ディレクトリ> ※このコマンドで削除しても /etc/exports ファイルには反映されない。 [root@sv052 ~]# exportfs -u 192.168.1.53:/opt/share [root@sv052 ~]# exportfs -v [root@sv052 ~]# |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.7.その他-NFSマウント状況を確認する。 マウントしているホストを表示する場合は次のコマンドを使用する。 [root@sv052 ~]# showmount マウントされているディレクトリを表示する場合は次のコマンドを使用する。 [root@sv052 ~]# showmount -d マウントしているホストとマウントされているディレクトリの両方を表示する場合は次のコマンドを使用する。 [root@sv052 ~]# showmount -a |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.クライアント側の設定 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.1.マウントポイントを作成する。 ここでは (sv052)192.168.1.52の/opt/share ディレクトリをローカルの/opt/share ディレクトリにマウントする。 そのためローカルに /opt/share ディレクトリを作成する。 ※作成したディレクトリのパーミッションはマウント時にサーバー側で設定されているパーミッションに変更される。 [root@sv053 ~]# mkdir /opt/share |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.2.手動でマウントする場合。 手動でマウントする場合は mount コマンドを利用する。 書式:mount -t nfs <公開ホスト>:<公開ホストのディレクトリ> <マウントポイント> ここでは (sv052)192.168.1.52の/opt/share ディレクトリをローカルの/opt/share ディレクトリにマウントする。 [root@sv053 ~]# mount -t nfs 192.168.1.52:/opt/share /opt/share [root@sv053 ~]# ls /opt/share/ test.txt [root@sv053 ~]# |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.3.クライアント起動時にマウントする場合。 起動時に自動マウントする場合は /etc/fstab ファイルにマウント情報を記載する。 書式:<公開ホスト>:<公開ホストのディレクトリ> <マウントポイント> nfs <オプション> 0 0 マウントオプション
ここでは (sv052)192.168.1.52の/opt/share ディレクトリをローカルの/opt/share ディレクトリにマウントする。 記載内容は次のとおりとなる。 192.168.1.52:/opt/share /opt/share nfs soft 0 0 設定後サーバーを再起動しマウントされるか確認する。 また、ファイルの読み書き、ディレクトリの作成削除などが可能か確認する。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.4.マウントを解除(アンマウント)する場合。 マウントを解除する場合は umount コマンドを利用する。 書式:umount <マウントポイント> [root@sv053 ~]# umount /opt/share |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.その他の事項、留意事項等 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.1.ユーザIDとグループIDについて。 Linuxではユーザの識別をユーザID,グループIDで行っているが、端末間でユーザを作成する順番がことなるとそれらIDの整合性が合わなくなるので注意すること。 例えばサーバ側でuser01というユーザを作成し、クライアント側でuser01を作成せずにuser02を作成すると、user02が作成したファイルをサーバー側でみるとuser01が作成したように見えてしまう。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.2.マウント障害について。 NFSクライアントが起動時にNFSマウントを行うようになっている場合。NFSサーバー側に障害が発生した場合に、設定によってはクライアント側の起動に時間がかかる、もしくは起動しないということが起こりえるので、その点も十分留意して設計、テストを行うこと。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3.シンボリックリンクについて。 NFSマウントするディレクトリ内にシンボリックリンクがある場合は、リンク先が実際はどこになるのかよく留意すること。 デフォルトの設定ではリンク先が絶対パスから相対パスに変換されない。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.4.再帰的マウント NFSマウントするディレクトリ内のディレクトリを再帰的に別のクライアントへエクスポートするような場合は、デッドロックによって関連する端末全体が起動しないということも発生しかねない。 このような構成は極力避けることが望ましいように思われる。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.5.オートマウントについて。 オートマウントという機能があるがここでの説明は省略する。 |
最終更新日:2022/02/09 |
- Published By MINDKERNEL.COM - |