ディスクのチャートを使用して、平均的なディスク負荷を監視し、ディスク使用量のトレンドを判断します。たとえば、ハード ディスクに頻繁に読み取りおよび書き込みを行うアプリケーションを使用すると、パフォーマンスの低下に気づくことがあります。ディスクの読み取りまたは書き込み要求の数が急増した場合、負荷の高いアプリケーションが実行されていたかどうかを確認してください。
問題
- kernelLatency データ カウンタの値が 4 ミリ秒を超えます。
- deviceLatency データ カウントの値が 15 ミリ秒より大きい場合は、ストレージ アレイに問題が発生した可能性がある。
- queueLatency データ カウンタがゼロを超えます。
- 待ち時間が急増します。
- 読み取り/書き込み要求が異常に増加します。
原因
- ホスト上の仮想マシンは、構成でサポートされるよりも多くのスループットをストレージ システムに送信しようと試みています。
- ストレージ アレイに内部的な問題が発生している可能性があります。
- ワークロードが大きすぎて、アレイはデータを十分な速度で処理できません。
解決方法
- ホスト上の仮想マシンは、構成でサポートされるよりも多くのスループットをストレージ システムに送信しようと試みています。CPU 使用量を確認し、キュー深度を増やしてください。
- アクティブな VMDK をより多くのスピンドルを持つボリュームに移動するか、LUN にディスクを追加してください。
- 仮想マシンのメモリを増やす。これによってオペレーティング システムのキャッシュが増え、I/O のアクティビティが減少します。注:ホスト メモリを増やす必要がある場合があります。ワークロードによってはシステム メモリを活用してデータをキャッシュするため、メモリを増やすとディスク アクセスが減り、データ格納の必要性が減少する場合があります。
- ゲスト OS のスワップ統計情報を確認して、仮想マシンのメモリが適切かどうかを確認します。ホストのメモリ スワップが過剰に行われない程度にゲスト メモリを増やします。VMware Tools をインストールして、メモリのバルーニングが発生するようにします。
- すべてのゲストのファイル システムを最適化する。
- 現在の環境で適切である場合は、VMDK および VMEM ファイルで、アンチウイルスのオンデマンド スキャンを無効にする。
- ベンダーのアレイ ツールを使用してアレイのパフォーマンス統計を確認する。多くのサーバがアレイ上の共通の要素に同時にアクセスしている場合、ディスクの問題が解決しないことがあります。アレイ側を改善してスループットの向上を検討してください。
- Storage vMotion を使用して、I/O の多い仮想マシンを複数のホストに分散する。
- 使用可能なすべての物理リソースでディスク負荷を調整する。さまざまなアダプタがアクセスする LUN 全体で、使用量の多いストレージを分散します。各アダプタで別々のキューを使用すると、ディスクのパフォーマンスが向上します。
- 最適に利用できるように HBA および RAID コントローラを構成する。RAID コントローラでキューの深さおよびキャッシュの設定が最適であることを確認します。最適でない場合、Disk.SchedNumReqOutstanding パラメータを調整し、待機する仮想マシンのディスク要求数を増やします。
- リソースが集中する仮想マシンの場合、システム ページ ファイルで、ドライブから仮想マシンの物理ディスク ドライブを分ける。これによって、使用量が多くなる期間のディスク スピンドルの競合が軽減します。
- 大きな RAM を搭載するシステムでは、仮想マシンの .VMX ファイルに
MemTrimRate=0
の行を追加し、メモリのトリミングを無効にする。 - ディスク I/O の合計が 1 つの HBA のキャパシティよりも大きい場合、マルチパスまたは複数のリンクを使用する。
- ESXi ホストの場合、事前割り当て済みの仮想ディスクを作成する。ゲスト OS の仮想ディスクを作成する場合は、[今すぐすべてのディスク領域を割り当て] を選択します。追加のディスク容量を再割り当てしてもパフォーマンスの低下は発生せず、ディスクはあまり断片化しません。
- 最新のハイパーバイザー ソフトウェアを使用する。