適切な専門用語を使用していない場合(私は長年のLinuxユーザーですが、管理者ではありません)、またはこれがFAQ)の場合はお詫びします(SEの検索で多くのヒットがありましたが) 、私はこの質問のようなものを見ませんでした):
私はサイエンスクラスターのユーザーです(ジョブはRHEL5、FWIWでPBS/Torqueによって管理されています)。私は最初の本当に大きな仕事を始めようとしているので、愚かな間違いを避けるために、管理者にいくつかの構成の質問をしました。私はほとんど正しかったが、彼は「ディスクサーバーにI/Oが多すぎないことを確認する」というアドバイスを追加し、「トップを使用してnfsがうまくいかないかどうかを確認する」というフォローアップを行った。
どうやってするか?これはクラスターであるため、私には透過的な「舞台裏」で多くのことが行われています。さらに、私には次の特権がありません。私もSSH経由のCLIに制限されていますが、それが私の問題の最小です。プラスの面では、ディスクが接続されているノードを含め、どの計算ノードにもShellを実行できるようです。
だから私は疑問に思っています、ユーザーランドからNFSを監視するための最良の方法は? top
とNFSについて少し知っているので、できることはわかっています
top -p$(pgrep nfsd -d ',')
nFSプロセスのリストを取得する(いいえ?)しかし、私が本当に知りたいことは、もう一度、RHEL5のユーザー(私はSudo
もrootも持っていない)です(はい、まだ実行しています)。
top
または別のツールから、出力をスクレイピングしたり自分で計算したりせずに取得できるものですか? nfsd
以外のプロセスを監視する必要がありますか?注:top
はこのタスクに使用するツールではないようですが、少なくとも私は利用できます。 利用できないツールのリストには次のものがあります。
トップ出力を見るのは完全に間違っています。それはIOPSについてです。 NFS統計のビューを取得するには、nfsstat
を使用します。
Server rpc stats:
calls badcalls badauth badclnt xdrcall
40833255 0 0 0 0
Server nfs v3:
null getattr setattr lookup access readlink
0 0% 1411374 3% 107 0% 43169 0% 747514 1% 790 0%
read write create mkdir symlink mknod
38138706 93% 0 0% 0 0% 0 0% 0 0% 0 0%
remove rmdir rename link readdir readdirplus
0 0% 0 0% 0 0% 0 0% 0 0% 491559 1%
fsstat fsinfo pathconf commit
6 0% 12 0% 6 0% 0 0%
監視プログラム(ferインスタンス、Zabbix)がある場合は、UserParameterを追加して監視できます。
# NFS stats
UserParameter=nfs.v3.server[*],nfsstat -s -l | awk 'BEGIN {FS=": *"}/v3 server.*$1:/ {print $$2}'
きれいなグラフを作成します:
高さは高すぎますか?それは完全にあなたのワークロードに依存します:
ファイルシステムとディスクlatencyを監視して、ディスクが過負荷になっていないか確認する必要があります。