差分ディスクを大量に使用する場合のマスターディスクのオーバーヘッドについて

一つのマスターイメージをもとにして、差分ディスクを大量に作成する場合、マスターイメージには大量のオーバーヘッドが生じてしまうのでしょうか。

差分ディスクとは?

差分ディスクを使うと、親ディスク(Parent VHD)から小ディスク(Child VHD)を複数作成することができます。

それで、親ディスク(Parent VHD)は読み取り専用の状態のまま、小ディスク(Child VHD)には、親ディスクとの差分だけが保存されていきます。

例えば、SYSPREPされたOSイメージを親ディスク(Parent VHD)が持ち、そこから複数の仮想マシンを作成して利用するといった場合です。

それぞれの仮想マシンは、それぞれの差分ディスクを持っています。

全ての変更は差分ディスクに書き込まれますが、大部分を占めるOSのデータは、共有マスターディスクに存在している状態です。

差分ディスクを使うとどんなことが生じる?

その結果、小ディスク(Child VHD)が親ディスク(Parent VHD)に対して、大量のI/Oを発生させることになります。

そうすると、親ディスク(Parent VHD)のパーフォーマンスがボトルネックになってしまう可能性があります。

パフォーマンスを落とさないためには

ですので、この状況を避けるためにも、親ディスク(Parent VHD)は、SSDのような、高性能なストレージに配置しておくべきです。

Windows Server 2012 R2のStorage Spaceでは、時間がたてば自動的に配置場所を最適化してくれる機能をもっていますが、最初からパフォーマンスを出すためにも、手動で親ディスク(Parent VHD)をSSDなどの、高性能なストレージスペースに配置しておくべきです。

もしSANを利用しているなら、親ディスク(Parent VHD)は多数のスピンドルを使っているLUNに配置されている方がよいでしょう。

さらに、親ディスク(Parent VHD)のデータは頻繁に読みだされるので、メモリ内のキャッシュを多用することも要注意です。

差分ディスクを利用する際の注意点 – 結論

結論としては、もし多数のVMに利用される親ディスク(Parent VHD)を利用しているなら、親ディスク(Parent VHD)が大量のRaad要求に答えられるパフォーマンスのストレージに配置されていることが重要です。

コメント