未解決
この投稿は5年以上前のものです
10 メッセージ
0
13634
NFSのマウントオプションについて
以下の構成でUnityを利用しています。
・NFSサーバー
Unity300(ソフトウェアバージョン:4.1.2.9257522)
→NFSv4は無効にしているため、NFSのバージョンは3です。
・NFSクライアント(複数台)
CentOS 7.2 64bit
Unityは、NFSサーバーとして稼働しており、
NFSクライアントとして、複数のLinuxサーバーがUnityの同じディレクトリにマウントし、同時に読み書きをしています。
要件としては、以下があります。
・複数のNFSクライアントが同時に同じディレクトリ、ファイルにアクセスした場合に、
アクセスするクライアントによって、ファイルの見え方が異なってしまうことがないようにする必要がある。
そのため、以下のように、クライアント側では、NFSのキャッシュを保持しないように「/etc/fstab」にマウントオプションで、
「noac」と「lookupcache=none」を指定しています。
---
XX.XX.XX.XX:/share/share/unity-test /mnt/Unity nfs rw,rsize=8192,wsize=8192,hard,intr,noac,lookupcache=none 0 0
---
こちらのオプションについて、疑問点があるのですが、
「lookupcache=none」を指定するだけでも、NFSクライアント側は、キャッシュを保持しない形となるため、
上記の要件は満たすことができ、「noac」は指定する必要はないと考えているのですが、正しいでしょうか?
「noac」を指定すると、NFSサーバーへの書込みが「同期(sync)」となり、書込み動作が遅くなるため、
できれば、「noac」はつけたくないと考えています。
「noac」をつけないと、上記の要件は満たせないのか、分かりますでしょうか?
ayas
Moderator
Moderator
•
6.7K メッセージ
0
2017年6月21日 02:00
Dell EMC の資料(特にUnity )にnoac とlookupcache=noneに関する差異の記載等は無かったですが
Linux関連のサイトにあった記述を鑑みるとryonさんの認識の通りどちらでもいい、Noacは無くてもいい、
と考えて間違いないと思います。
以下参考情報
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux_OpenStack_Platform/5/html/Release_Notes/ch02s04.htmlより。。
BZ#1112634
コンピュートインスタンスのストレージに、NFS 共有ストレージを使用する場合、Red Hat は、NFS クライアントがファイルの属性をキャッシュしないように、noac または lookupcache=none オプションでこの共有をマウントすることを推奨します (詳細は NFS の man ページを参照)。
これにより、パフォーマンスが若干低下するものの、共有ストレージを使用するコンピュートホスト間でインスタンスを移行またはリサイズすることができます。
Red Hat Enterprise Linux OpenStack Platform の今後のバージョンでは、この要件は削除される可能性があります。
noac or lookupcache=none オプションを有効にせずに、コンピュートインスタンスストアに NFS 共有ストレージを安全に使用できるようになった時点で、このリリースノートは更新される予定です。
http://www.linux-cmd.com/nfs.htmlから。。
lookupcache=none を使うことで、この挙動を指定できる。クライアントがディレクトリエントリをキャッシュしない場合に必要となる追加の NFS リクエストは、性能上のペナルティを発生させる。ルックアップキャッシュを無効にすることは、 noac を使うよりも性能上のペナルティは少なくなるはずであり、 NFS クライアントがどのようにファイルの属性をキャッシュするかに影響を与えない。
ryon1
10 メッセージ
0
2017年6月21日 05:00
参考情報ありがとうございます。
大変、助かります。
「noac」オプションは削除する方向で検討したいと思います。