ZFS zvolsを使用してiostatの使用率を読む

ZFS zvolsを使用してiostatの使用率を読む

まず、5日前にServerfaultにこの質問を投稿しました。 UnixとLinuxのスタックにインポートしても問題にならないことを願っています。また、スタックに関連していない他の3つのウェブサイトにもこの質問をしましたが、答えはありません。回答が得られる場合は、すべてのウェブサイトで回答を更新する予定です。ここです。

iostat -x(特にZFS zvols)の出力を理解するのに問題があります。 Proxmox 4.4を実行しており、フルアップデート後に通常IOパフォーマンスが低下する現象を経験しています。

パフォーマンスの遅い問題を解決しながら、iostat -x 1を見て、ほぼ継続的な読み取りでこれらの使用率を確認しました。

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00   77.00  115.00   308.00   640.00     9.88     2.02   10.33    9.92   10.61   3.58  68.80
sdb               0.00     0.00   81.00  116.00   324.00   644.00     9.83     1.32    6.72    6.42    6.93   2.50  49.20
...
sde               0.00     0.00   77.00  117.00   308.00   640.00     9.77     1.16    6.25    5.25    6.91   2.35  45.60
sdf               0.00     0.00   78.00  116.00   312.00   640.00     9.81     1.25    6.45    5.64    7.00   2.47  48.00
...
zd32              0.00     0.00    0.00  197.00     0.00   788.00     8.00     1.09    5.54    0.00    5.54   5.06  99.60

私が混乱しているのは、zd32(私の仮想マシンのzvol)が100%活用されているのに対して、基本ストレージは約50%活用されているということです。

私の質問は:zvolの使用率は基本ストレージの使用率を反映してはいけませんか?

ちなみにシステムに異なる仮想マシンがありますが、今回のトラブルシューティングは数時間後に進行してアイドル状態です。この仮想マシンは使用量が多い唯一の仮想マシンであり、Windows Updateを実行しています。 zpoolは7200RPM SATAディスクのRAID-Z2なので、驚くべき速度を提供するようには作られていません。今は活用度が気になります。

ベストアンサー1

以下はいくつかのヒントです。はい、zfsボリュームはストレージデバイスのzpoolに作成されるため、そうする必要があります。ストレージが異なるリソース間で共有される場合、zfs プールとボリュームに影響を与える可能性があります。

残念ながら、Proxmoxは何であるかはわかりませんが、%utilは通常、デバイスに肯定的なトランザクションキューがある時間を示します。キューのトランザクション数は avgqu-sz です。どちらの値も、大規模なキューをサポートできるストレージシステムの種類とモデルによって異なります。したがって、これは悪い症状かもしれません。したがって、まずボリュームに実際のワークロードとパフォーマンスの問題があるかどうかを確認するには、wait、r/s、w/s、rkB/s、wkB/s を確認するのが最善です。

特別なコマンドがあります:zpool iostatzpool統計を監視します。

おすすめ記事