NFS サーバーはアイドル状態でも高い負荷を発生します。

NFS サーバーはアイドル状態でも高い負荷を発生します。

何も実行されない場合でも、負荷が10より大きいUbuntu(12.04)NFSサーバーがあります。

特に、ストレージは5つの論理ボリューム(LVM)といくつかのext4パーティションを持つiSCSIデバイスを介して提供されます。すべてのサービスが停止してエクスポートされていない(つまりクライアントトラフィックなし)、負荷は10です。 iostatを実行すると、特定のマッピングされたデバイス(/dev/dm-1)が常に記録されていることがわかります(出力が正しく解釈された場合)。

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.00         0.00         0.00          0          0
sdb             342.00         0.00         9.21          0          9
dm-0              0.00         0.00         0.00          0          0
dm-1            615.00         0.00        11.71          0         11

(sdbはiSCSIデバイスが表示される場所、dm-nは各論理ボリュームです)。私は実際に実行されている他のすべてのサービスを(ほぼ)すべて停止しましたが、NFSサーバーを起動すると負荷が上がり、停止すると負荷が減ると自信を持って言うことができます。どうしたの?ディスクに記録されている内容をどのように確認できますか? (lsofを試しましたが、プロセスは表示されませんでした)。

追加する必要に応じて情報を追加します。

稼働時間説明する:

18:27:15 up 1 day,  9:59,  2 users,  load average: 14.22, 12.42, 11.55

仮想マシンの状態説明する:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  1    960 865924  51604 23204424    0    0    43     4    7   20  0  2 86 12

統計資料説明する:

Linux 3.2.0-26-generic-pae (leitrim)    12/25/2012  _i686_  (8 CPU)

06:33:53 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:33:53 PM  all    0.08    0.04    0.96   11.62    0.00    0.88    0.00    0.00   86.43

dstat -cdD sdb -ng 60 3

----total-cpu-usage---- --dsk/sdb-- -net/total- ---paging--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out 
  0   1  86  12   0   1| 324k 8729k|   0     0 |   1B    8B
  0   1  87  12   0   1|  17k 8953k|8064k 9652k|   0     0 
  0   1  86  12   0   1|1229B 9081k|8010k 9796k|   0    68B
  0   1  89  10   0   1|3209B 8364k|7703k 9014k|   0     0 

RPC情報

  program version netid     address                service    owner
    100000    4    tcp6      ::.0.111               portmapper superuser
    100000    3    tcp6      ::.0.111               portmapper superuser
    100000    4    udp6      ::.0.111               portmapper superuser
    100000    3    udp6      ::.0.111               portmapper superuser
    100000    4    tcp       0.0.0.0.0.111          portmapper superuser
    100000    3    tcp       0.0.0.0.0.111          portmapper superuser
    100000    2    tcp       0.0.0.0.0.111          portmapper superuser
    100000    4    udp       0.0.0.0.0.111          portmapper superuser
    100000    3    udp       0.0.0.0.0.111          portmapper superuser
    100000    2    udp       0.0.0.0.0.111          portmapper superuser
    100000    4    local     /run/rpcbind.sock      portmapper superuser
    100000    3    local     /run/rpcbind.sock      portmapper superuser
    100024    1    udp       0.0.0.0.172.13         status     116
    100024    1    tcp       0.0.0.0.229.210        status     116
    100024    1    udp6      ::.137.98              status     116
    100024    1    tcp6      ::.175.197             status     116
    100021    1    udp       0.0.0.0.171.56         nlockmgr   superuser
    100021    3    udp       0.0.0.0.171.56         nlockmgr   superuser
    100021    4    udp       0.0.0.0.171.56         nlockmgr   superuser
    100021    1    tcp       0.0.0.0.153.54         nlockmgr   superuser
    100021    3    tcp       0.0.0.0.153.54         nlockmgr   superuser
    100021    4    tcp       0.0.0.0.153.54         nlockmgr   superuser
    100021    1    udp6      ::.206.206             nlockmgr   superuser
    100021    3    udp6      ::.206.206             nlockmgr   superuser
    100021    4    udp6      ::.206.206             nlockmgr   superuser
    100021    1    tcp6      ::.132.23              nlockmgr   superuser
    100021    3    tcp6      ::.132.23              nlockmgr   superuser
    100021    4    tcp6      ::.132.23              nlockmgr   superuser
    100003    2    tcp       0.0.0.0.8.1            nfs        superuser
    100003    3    tcp       0.0.0.0.8.1            nfs        superuser
    100227    2    tcp       0.0.0.0.8.1            -          superuser
    100227    3    tcp       0.0.0.0.8.1            -          superuser
    100003    2    udp       0.0.0.0.8.1            nfs        superuser
    100003    3    udp       0.0.0.0.8.1            nfs        superuser
    100227    2    udp       0.0.0.0.8.1            -          superuser
    100227    3    udp       0.0.0.0.8.1            -          superuser
    100003    2    tcp6      ::.8.1                 nfs        superuser
    100003    3    tcp6      ::.8.1                 nfs        superuser
    100227    2    tcp6      ::.8.1                 -          superuser
    100227    3    tcp6      ::.8.1                 -          superuser
    100003    2    udp6      ::.8.1                 nfs        superuser
    100003    3    udp6      ::.8.1                 nfs        superuser
    100227    2    udp6      ::.8.1                 -          superuser
    100227    3    udp6      ::.8.1                 -          superuser
    100005    1    udp       0.0.0.0.154.132        mountd     superuser
    100005    1    tcp       0.0.0.0.217.173        mountd     superuser
    100005    1    udp6      ::.165.76              mountd     superuser
    100005    1    tcp6      ::.141.19              mountd     superuser
    100005    2    udp       0.0.0.0.183.55         mountd     superuser
    100005    2    tcp       0.0.0.0.214.84         mountd     superuser
    100005    2    udp6      ::.233.222             mountd     superuser
    100005    2    tcp6      ::.211.16              mountd     superuser
    100005    3    udp       0.0.0.0.188.56         mountd     superuser
    100005    3    tcp       0.0.0.0.158.62         mountd     superuser
    100005    3    udp6      ::.152.158             mountd     superuser
    100005    3    tcp6      ::.201.200             mountd     superuser

答え1

もう少し調べたら、私の質問に少なくとも部分的に答えることができます。

  1. NFSクライアントのいずれかが狂ったように実行されているプロセスが原因で、デバイスの1つへの書き込みが発生しました。一度に1つのクライアントを閉じることでこれを達成します。どのクライアントがNFSサーバーに書き込んでいるかを確認するコマンドがあればいいのですが、クライアントがある場合は見つかりません。

関連情報