先日勉強会に行った際に仕入れたネタなのですが、備忘録として載せておきます。
VHDのパフォーマンスについての話なのですが、Windows Server 2008 R2のHyper-VにおいてはVHDのパフォーマンスが改善され、固定VHDにすればほぼネイティブと同等のパフォーマンスを提供するのは皆さんご存知だと思います。
しかし、HW(HDDの仕様)次第では大幅にパフォーマンス劣化が起こるそうです。
それはAFT(Advanced Format Technology)に起因するものになります。AFTはHDDの容量拡大を目的とした高密度化に伴い、セクタサイズを4Kバイトに変更(BigSector)、現在のWindowsでサポートされる512バイトセクタを論理セクタとしてエミュレーションする技術で「512 byte emulation drives」、「512e」とも呼ばれます。
Windows のドライブのセクター サイズが大きいのマイクロソフトのサポート ポリシーの詳細について
3Tや4Tのディスクが増えてきましたが、それらの2Tを超えるディスクにはAFTが使われています。また最近では2T以下のディスクにも使われるようになりました。
Using Hyper-V with large sector drives on Windows Server 2008 and Windows Server 2008 R2
こちらを見ると、Hyper-VのVHDを使用した場合、サポートはするもののVHDドライバは512バイトを前提としている為パフォーマンス劣化が30%程度起こると記載されています。
現状のHDD製品をまとめてあるブログがありました。
また、AFTを確認するにはコマンドプロンプトより次のコマンドを実行。
Fsutil fsinfo ntfsinfo x: [x: はチェックするドライブ]
「セクターあたりのバイト数」と「物理セクターあたりのバイト数」の値を使用して、ドライブの種類を確認するには
セクターあたりのバイト数 | 物理セクターあたりのバイト数 | 種類 |
4096 | 4096 | ネイティブの 4 K |
512 | 4096 | 高度な形式、または呼び出された 512E |
512 | 512 | ネイティブの 512 |
とまあ、現状ではこのような状況であり、今後ほとんどのHDDはAFTとなるのは時代の流れなのでしょう。
現状ではWindows Server 2008 R2 のHyper-Vを使用する際には、AFTディスクは避けるべきというのが現状での最良の方法だと思います。
しかし、Windows Server 8 ではこのAFTに対応し512e と 4K ネイティブ、両方の AFTディスクを完全にサポートする初のOSとして登場するようです。
大容量ディスクとセクター サイズ拡大に対応する Windows 8
ですので、Windows Server 8 Hyper-V(あえて、Hyper-V3.0とは書きません。どうやら、このHyper-V3.0という呼び方は改められるようです)ではこのような問題は解消されると思われます。
ピンバック: AFT(Advanced Format Technology)対応の確認の仕方 « たいちの何か。
ピンバック: Windows Server 2012 R2 Hyper-V の仮想ディスク配置先のセクターサイズ | SE の雑記