これがないと困ると思うんですよね。
それまでどうやってDiskの帯域制御してたんですかね。
# VMWareとかだとこんなのジョーシキ?
# 仮想OSにいっこずつ物理Diskを割り当てるのがジョーシキだったのかもしれませんが。
Storage Quality of Service for Hyper-V
Configure Storage Quality of Service
たとえば、ゲストOSが二つ動作するとき、仮想Diskが二つで同じ物理ドライブ上にあったとしたら、片方のOSがDiskにアクセスしまくると、もう片方のOSはDiskにアクセスできなくなりますよね。
アクセスできないというのは、アクセスしようとして、IOで待たされるということです。
ドライバレベルでは非同期なので、仮想CPUがビジーになるわけではないでしょうが、アプリレベルではファイルアクセスは同期がほとんどなので、ほんの数KBの設定ファイルのアクセスに時間がかかってしまうような状況では、ほかの処理ももっさりしてしまうでしょう。
たとえばウチのHYper-V環境では、以下のようにたった1MB/sのリードライトがあるだけで、ほかのVMはコマ送り動作になってしまいます。
そのとき、ホストもゲストもCPU使用率は10~20%だったりします。CPUがあそんでしまうわけですね。
なのでふたつのVMを動かすなら、重要度が低いほうにIOPSの最大値を設定しておけば、よさそうですね。
とりあえずHyper-V 2012をR2にアップグレードしてみることにします。
Hyper-V 2012 to 2012 R2 Upgrade Options Hyper-V content from Windows IT Pro
ほんとにこんなに簡単にいくのだろうか・・・
(続き)
Hyper-V 2012 R2のStorage QoS その後 - IGINブルネイ-syasudaの日記(MT版)
VMゲストがモッサーしてたのはストレージI/Oが原因ではありませんでした。
コメント