![データストアのレイアウトは仮想環境のディスク IO にどのように影響しますか?](https://rvso.com/image/617252/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B9%E3%83%88%E3%82%A2%E3%81%AE%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%81%AF%E4%BB%AE%E6%83%B3%E7%92%B0%E5%A2%83%E3%81%AE%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%20IO%20%E3%81%AB%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%BD%B1%E9%9F%BF%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F%20.png)
仮想インフラストラクチャを扱っているのですが、最近ディスクの問題に直面しています。
私のディスクは高速ディスクではないことはわかっているので、高速ディスクにアップグレードすることにしました。次に、VM は異なるノードに均等に分散されています (これは通常、ディスクの問題です)。しかし、ここでの懸念は、データ ストアがディスク IO や CPU IO に影響を与えるかどうかです。
注: 2 つの VM を除き、すべて同じデータストア上にあります。同じ書き込みで異なる負荷とより大きな IO が生成されるのも非常に興味深いことです (つまり、box1 の負荷平均は 10 でしたが、他の VM はそれぞれ 20、30、40 でした)。
仮想インフラストラクチャの経験がある方からの一般的なフィードバックをお待ちしています。
答え1
データストアの数、データストアへのアクセスに使用するプロトコル、またはデータストアへのアクセスに使用するパスが影響するかどうかを尋ねているのでしょうか?どれでもこれらは VM のパフォーマンスに影響を与える可能性があり、実際、ストレージ IO は仮想環境がボトルネックに遭遇する最初の場所であることがほとんどです。答えの一部は、ハイパーバイザーとして何を使用しているかによっても異なります。
一般的に、複数のデータストアを持つことでパフォーマンスが向上することはありません。以前は、ブロック レベルのディスクでロックの問題が発生する可能性がありましたが、新しいハイパーバイザーではこの問題は軽減されました。
2番目の質問にお答えすると、はい、ディスクIOはCPUのパフォーマンスに影響を与える可能性があります(そして、実際に影響を与えることがよくあります)。スレッドがディスクから情報を読み取るのを待っている場合、そのスレッドはその間キューを保留します。Linuxボックスでは、これはIO Waitと呼ばれます(上)。Windows では、perfmon の使用方法を学ぶと呼ばれます。
仮想環境でディスク IO の問題が発生した場合、最初に確認すべきはディスクの数です。次に、ディスクのレイアウト方法 (RAID レベル、ストライプあたりのスピンドルの数など)、3 番目はキャッシュです。読み取りキャッシュの大きさと IO 傾向 (読み取り/書き込みが多い、シーケンシャルかランダムか)、最後にパイプ (たとえば、1 ギガ イーサネットと 10 ギガ FC と 8 ギガ FC との比較) を確認します。
パイプの問題であることはめったにありません :)