NFS

Contents

サーバ設定


設定ファイルは次のパスにある。

/etc/exports


コメントは行頭に#を書く。

 

共有設定



 

 



オプション

 

sync


ファイルの更新を行った場合、更新が完了するまでは当該ファイルの次のアクセスをブロックする。
デフォルトで有効

async


ファイルの更新を行った場合、更新が完了していなくても当該ファイルへのアクセスを許可する。

wdelay


NFSサーバが次回書き込みがすぐに行われると予測した場合、現在の書き込みを遅延させて次回書き込みとまとめて行おうとする。
これによりディスクアクセス負荷を抑えることができる。
syncオプションが有効な場合のみ使用可能である。

no_wdelay


wdelayオプションによる書き込み遅延を行わない。

root_squash


クライアントがrootユーザでアクセスする際、代わりにnfsnobodyユーザでアクセスさせる。

no_root_squash


クライアントがrootユーザでアクセスする際、root権限のままアクセスさせる。

all_squash


クライアントがNFSサーバにアクセスする際、全てのユーザを特定のユーザ権限でアクセスさせる
これはrootユーザも含まれる
どのユーザに割り当てるかはanonuidオプションで指定する。
どのグループに割り当てるかはanongidオプションで指定する。

anonuid


root_squash、all_squashオプションで使用するユーザ(uid)を指定する。

anongid


root_squash、all_squashオプションで使用するグループ(gid)を指定する。

subtree_check


ファイルアクセス時に共有しているディレクトリの親ディレクトリがアクセス可能状態かの権限等のチェックを行う。
このため、セキュリティ強度は上がるが、負荷が高まり、さらにリモートからファイルにアクセス中にそのファイル名がローカルで変更されてしまうと影響を受ける可能性がある。

no_subtree_check


共有しているディレクトリが、そのディレクトリが属するファイルシステム全体ではなく一部であるときに使用する。
このオプションによってリモートからファイルにアクセス中にそのファイル名がローカルで変更されてしまっても影響を受けない。
一方ファイルアクセス時に共有しているディレクトリの親ディレクトリがアクセス可能状態かの権限等のチェックを省略するため、セキュリティレベルは下がる。

クライアント設定

 

パッケージインストール


NFSサーバをマウントするにはnfs-utilsが必要である。

yum install nfs-utils -y

 

マウント設定

 

fstab



autofs


NFSサーバに頻繁にアクセスしないならautofsでマウントするとよい。
fstabの場合、常にマウントし続け、リソースを消費するが、autofsの場合、一定時間使用しないと自動でアンマウントし、再度アクセス時に再度マウントするため、リソース消費を抑えられる。

sed "s/^\/misc/#\/misc/g" -i /etc/auto.master
sed "s/^\/net/#\/net/g" -i /etc/auto.master
echo "/- /etc/auto.nfs" >> /etc/auto.master
echo "<マウントポイント> -fstype=nfs,proto=tcp,hard,timeo=300,intr,rw,rsize=32768,wsize=32768 <NFSサーバ>:<マウントパス>" > /etc/auto.nfs
systemctl enable autofs
systemctl restart autofs
systemctl status autofs

マウントに成功すると次のコマンドで状態が表示される

df -h



ツール

 

showmount

NFSサーバのディレクトリをマウントしているNFSクライアントを出力する

exportfs

NFSサーバで現在エクスポートしているディレクトリと公開範囲を出力する

 

rpcinfo

NFSサーバの稼働中のデーモンを確認する。疎通確認としても使用できる。

 

 


Notice: Trying to get property 'queue' of non-object in /usr/local/wordpress/wp-includes/script-loader.php on line 2876

Warning: Invalid argument supplied for foreach() in /usr/local/wordpress/wp-includes/script-loader.php on line 2876