Hyper-V 2.0 で仮想ディスクには、「容量可変」「容量固定」「差分」の選択肢があります。
仮想マシン作成ウィザードに従って仮想ディスクを作成すると、「容量可変」の仮想ディスクが作成されます。
しかし、一般的に仮想ディスクは「容量固定」の方がディスクパフォーマンスは良いと言われます(ロジック的にも理解できます)
では、Hyper-V 仮想ディスクの「容量可変」と「容量固定」ではディスク性能にどれくらいの性能差が出るのでしょうか
ディスクパフォーマンス測定テスト環境説明
物理マシン (以下、ホスト)
OS: Windows Server 2008 R2 Enterprise Edition SP1 (Hyper-V 2.0)
メモリ: 32GB
HDD: 1.3TB程度
RAIDレベル: RAID5 (SAS 450GB 15krpm ×4)
アレイコントローラの設定により、2パターンでテスト(ライトスルー・ライトバック)
仮想マシン
OS: Windows Server 2008 R2 Enterprise Edition SP1 (Hyper-V 2.0)
メモリ: 4GB
vCPU: 1
仮想HDD容量: 40GB
上記仮想マシンに対して、「容量可変」と「容量固定」でディスク性能差を「CrystalDiskMark 3.0.1 x64」を使用しパフォーマンス測定します
仮想マシンの仮想ディスク構成は以下
仮想マシンのEドライブが「容量可変」の仮想ディスク
仮想マシンのFドライブが「容量固定」の仮想ディスク
物理ホスト上では
仮想マシンのEドライブがtest-nofix.vhd
仮想マシンのFドライブがtest-fix.vhd
に相当する。
テスト後に、容量が増えた容量可変仮想ディスクが、再テストの前に削除し再作成する
ちなみに、テスト後の仮想マシンのvhdファイルは以下
テストパターン1(ディスク書き込みが遅い状況)
上記「ライトスルー設定時の読み書き性能(メーカー標準)測定結果」環境での仮想ディスク「容量可変」「容量固定」のディスク読み書き性能差をテストを実施
テスト1:物理マシン(ホスト)のディスク性能パフォーマンス結果
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 575.193 MB/s
Sequential Write : 25.468 MB/s
Random Read 512KB : 82.782 MB/s
Random Write 512KB : 20.110 MB/s
Random Read 4KB (QD=1) : 1.290 MB/s [ 314.9 IOPS]
Random Write 4KB (QD=1) : 0.476 MB/s [ 116.3 IOPS]
Random Read 4KB (QD=32) : 9.973 MB/s [ 2434.8 IOPS]
Random Write 4KB (QD=32) : 2.423 MB/s [ 591.7 IOPS]
Test : 4000 MB [D: 9.0% (105.5/1176.0 GB)] (x5)
Date : 2012/01/27 14:19:46
OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
テスト1:仮想マシン上での容量可変仮想ディスクのディスク性能パフォーマンス結果
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 563.372 MB/s
Sequential Write : 20.667 MB/s
Random Read 512KB : 88.656 MB/s
Random Write 512KB : 17.120 MB/s
Random Read 4KB (QD=1) : 1.328 MB/s [ 324.3 IOPS]
Random Write 4KB (QD=1) : 0.487 MB/s [ 118.9 IOPS]
Random Read 4KB (QD=32) : 9.904 MB/s [ 2417.9 IOPS]
Random Write 4KB (QD=32) : 2.514 MB/s [ 613.8 IOPS]
Test : 4000 MB [E: 0.2% (0.1/40.0 GB)] (x5)
Date : 2012/01/27 16:33:45
OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
テスト1:仮想マシン上での容量固定仮想ディスクのディスク性能パフォーマンス結果
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 563.448 MB/s
Sequential Write : 20.360 MB/s
Random Read 512KB : 93.638 MB/s
Random Write 512KB : 17.363 MB/s
Random Read 4KB (QD=1) : 1.376 MB/s [ 336.0 IOPS]
Random Write 4KB (QD=1) : 0.535 MB/s [ 130.7 IOPS]
Random Read 4KB (QD=32) : 11.263 MB/s [ 2749.8 IOPS]
Random Write 4KB (QD=32) : 2.865 MB/s [ 699.5 IOPS]
Test : 4000 MB [F: 0.2% (0.1/40.0 GB)] (x5)
Date : 2012/01/27 17:15:21
OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
テスト1: 物理ホストマシン、容量可変仮想ディスク、容量固定仮想ディスクによる性能差
まず仮想ディスク性能は物理ホストに比べ、若干のディスク性能の劣化が見られるが、予想されるオーバーヘッド程度という結果になった。
また、今回の物理ホストのディスク構成では、仮想ディスクの容量固定と容量可変によるディスクパフォーマンス性能差は顕著に見られなかった。
テストパターン1構成では、仮想マシンの容量固定と容量可変では、物理ディスクに空き容量の多い状況ではあまり違いがないと思われる
(物理ディスクの空き容量の少ないフラグメンテーション化したような環境では未テストだが容量固定と容量可変で性能差が出る可能性はある)
テストパターン2(ディスク書き込みが速い状況)
上記「ライトバック設定時の読み書き性能測定結果」環境での仮想ディスク「容量可変」「容量固定」のディスク読み書き性能差をテストを実施
テスト2:物理マシン(ホスト)のディスク性能パフォーマンス結果
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 606.201 MB/s
Sequential Write : 524.550 MB/s
Random Read 512KB : 93.222 MB/s
Random Write 512KB : 84.823 MB/s
Random Read 4KB (QD=1) : 1.368 MB/s [ 334.0 IOPS]
Random Write 4KB (QD=1) : 2.946 MB/s [ 719.3 IOPS]
Random Read 4KB (QD=32) : 10.129 MB/s [ 2472.9 IOPS]
Random Write 4KB (QD=32) : 2.755 MB/s [ 672.7 IOPS]
Test : 4000 MB [D: 12.4% (145.6/1176.0 GB)] (x5)
Date : 2012/01/27 19:32:44
OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
テスト2:仮想マシン上での容量可変仮想ディスクのディスク性能パフォーマンス結果
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 612.486 MB/s
Sequential Write : 209.317 MB/s
Random Read 512KB : 95.058 MB/s
Random Write 512KB : 94.325 MB/s
Random Read 4KB (QD=1) : 1.284 MB/s [ 313.5 IOPS]
Random Write 4KB (QD=1) : 3.264 MB/s [ 796.9 IOPS]
Random Read 4KB (QD=32) : 9.386 MB/s [ 2291.4 IOPS]
Random Write 4KB (QD=32) : 3.092 MB/s [ 754.9 IOPS]
Test : 4000 MB [E: 0.2% (0.1/40.0 GB)] (x5)
Date : 2012/01/27 19:45:55
OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
テスト2:仮想マシン上での容量固定仮想ディスクのディスク性能パフォーマンス結果
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 603.410 MB/s
Sequential Write : 591.747 MB/s
Random Read 512KB : 102.546 MB/s
Random Write 512KB : 92.310 MB/s
Random Read 4KB (QD=1) : 1.460 MB/s [ 356.5 IOPS]
Random Write 4KB (QD=1) : 2.740 MB/s [ 668.9 IOPS]
Random Read 4KB (QD=32) : 11.406 MB/s [ 2784.7 IOPS]
Random Write 4KB (QD=32) : 3.070 MB/s [ 749.5 IOPS]
Test : 4000 MB [F: 0.2% (0.1/40.0 GB)] (x5)
Date : 2012/01/27 19:52:53
OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
テスト2: 物理ホストマシン、容量可変仮想ディスク、容量固定仮想ディスクによる性能差
まず仮想ディスク容量固定性能は物理ホストに比べ、若干のディスク性能の劣化が見られるが、予想されるオーバーヘッド程度という結果になった。
今回の物理ホストのディスク構成では、仮想ディスクの容量固定と容量可変によるディスクパフォーマンス性能差がみられた。
Seq Write(シーケンシャルライト)で容量可変では大きな性能劣化があった。
テストパターン2のような書き込みが速い環境では、シーケンシャルライトがある仮想マシンでは容量固定の方が有利と思われる
(物理ディスクの空き容量の少ないフラグメンテーション化したような環境では未テストだが容量固定と容量可変で性能差が出る可能性はある)
Hyper-v2: 仮想HDDの容量固定と容量可変のディスク性能パフォーマンスの違い(性能差)まとめ
仮想ディスクの容量固定と容量可変は、メリットデメリットを理解し選択する必要がる。
パフォーマンスのみを考えると、やはり仮想ディスクの容量固定に軍配が上るが、容量可変よりディスクパフォーマンス性能が上るのはシーケンシャルライトが多い仮想マシン環境になる。(バックアップサーバー以外は、そうそう無い気もする・・・)
物理ディスクのフラグメンテーションが発生するような空き容量が少なくてファイルの書き消しが多い状況でも容量固定の方がパフォーマンスが良くなりそうだが、Hyper-Vの仮想ディスク専用の物理ディスクドライブを考えると、仮想マシンで容量可変で増えた容量は物理ホスト上で減る(消し)ことは無いので、フラグメンテーションの影響も少ないように思われる。
(フラグメンテーションは最適化可能ではあるが、実際運用中に最適化するのは難しいと思われる)
逆に容量可変の場合、物理ホスト上の物理ディスクを有効効率よくに使えると言える(コストパフォーマンス的にも)、実際に仮想マシンが必要としている容量のみしか物理ディスクに配置されないからです。
また、バックアップする時も、必要容量のみバックアップするのでバックアップ時間が短い。
運用面・運用者面で容量可変は軍配が上る
容量固定とのパフォーマンス性能差は限定的で、大きくは無いため、業務的・運用的にどちらに重きを置くかで仮想ディスクの「容量可変」もしくは「容量固定」を選定する必要がある
また容量可変の仮想ディスクは、最適化や・容量固定仮想ディスクへの変換が可能です
作成日:2012/01/29
更新日: