X

WHS2011のサーバーバックアップ(Windows Server バックアップ)とAdvanced Format HDD に関する考察

このブログでも、512バイトセクターから4KBセクター(Large Sectorとも呼ばれます)への移行の流れは何度かご説明をしてきました。現在はこの移行の過渡期にあり、OSやアプリケーションによってサポート/非サポートがあったり、パフォーマンスへの影響が発生します(Advanced Format Technology 採用HDDに関する続報 – 薩摩藩中仙道蕨宿別邸)。

Large Sector には、4K ネイティブ(物理セクター/論理セクターともに4KB) と 512バイト エミュレーション(4KBの物理セクターと512バイトの論理セクター:Advanced Formatや512eディスクと呼ばれる) の2種類がありますが、4KネイティブをサポートするWindowsは現在ありませんし、4KネイティブHDD製品もまだ市場には出ていません。

HDDのタイプ

物理セクター

論理セクター

サポートしているOS/機能

4K ネイティブ

(Advanced Format)

(4n)

4Kbyte

4Kbyte

現在サポートしているOSはなし

512eディスク

(Advanced Format)

(512バイトエミュレーション)

4Kbyte

512byte

  • Windows Vista※1
  • WIndows 7※2
  • Windows Server 2008 ※1 ※3
  • Windows Server 2008 R2 ※2 ※3

※1 Hotfixの適用が必要

※2 SP1またはKB982018のインストールが必要
※3 Hyper-Vを除く

その他SQL Server、WHS V1、Exchange Server等が非対応とされている。

512bネイティブ

(512n)

512byte

512byte

すべてのOS、アプリケーション

ここで今日注目したいのは、Hyper-VがAFT非対応とされていることです。

Hypver-V(正確にはHyper-Vで利用されるVHD)が512eディスク上に置かれた際にパフォーマンスの低下が発生するメカニズムをおさらいします。

Advanced Format Technology(AFT)採用HDD上にVHDを置いた際の影響

ディスクへの書き込みは物理セクターを更新することになりますので、512eディスクの場合は512byteの論理セクターを更新する場合でも4Kbの物理セクター全体を更新することとなります。内部的には以下のような3つのステップの処理をディスクがエミュレーションすることで書き込みが行われます。このステップは”Read-Modyfy-Write”とか”RMW”と呼ばれます。

  • 書き込みされる512バイトの論理セクタが含まれる4Kbの物理セクター全体をキャッシュに読み込む
  • 4Kbのキャッシュの中に含まれる、書き込み対象の512バイトを更新する
  • 更新した4Kbのキャッシュ全体をディスクの物理セクターに書き込む

(図はUnderstanding the Impact of Large Sector Media for IT Prosより)

このRMWステップが次のような理由によってVHDのパフォーマンスの低下をもたらします。

  1. 容量可変および差分VHDはデータペイロードの前に512バイトのセクタービットマップを保持しています。加えて、フッター/ヘッダー/ペアレント ロケ-ターはすべてこの512バイトセクターに割り当てされています。したがって、VHDではこれらのデータを更新するために、上記で説明した512バイト単位の書き込み(RMW)が構造的に生じる仕組みとなっています。
  2. アプリケーションはNTFSのデフォルトクラスターサイズである4Kb単位の読み書きを行うのが一般的ですが、容量可変および差分VHDはデータペイロードブロックの前に、512バイトのセクタービットマップが存在するため、NTFSの4Kbブロックは物理セクターの4Kbのセクターに割り当てられていません。ペイロードデータを更新するためにアプリケーションから発行される4Kb単位の読み書きは、結果的にディスク上の2つの物理セクターの読み込みに変換され、更新されたのちに再び2つの物理セクターに書き込まれます。
  3. 現在のVHDドライバーはHDDの物理セクターを512バイトと想定しており、512バイトの論理セクターをもった仮想ディスクしか発行できないため、仮にアプリケーションが4Kb単位に最適化されたディスクIOに対応していても、ディスクパフォーマンスの最適化を意図して512バイト単位に最適化したディスクIOを発行しつづけることとなります。これがRMWを継続して発生させることになります。

結果、上記のプロセスによって512eディスク上のVHDのパフォーマンスは低下していくこととなります。

同様に4nのAFT対応HDDが仮に存在したとして、その上で容量可変または差分VHDを作成すると、VHDは512バイト単位のIOを発行する一方で4nディスクは512バイトセクターのエミュレートを実行してくれないため、VHDを開くことが出来ません。

本題:WHS2011のサーバーバックアップとAFT対応HDDの関係

現在公開されているMSの技術文書には、WHS2011のサーバーバックアップとAFTの関係や、そもそもWindows Server バックアップとAFTの関係について解説した文書があまり見あたらないように思われます(というよりも、私には見つけられませんでした)。従って以下は完全な私見です。

Windows Server バックアップがVHDとVSSという2つの技術から成り立っている以上、この問題は避けて通れないものと思われ、Windows Server バックアップをベーステクノロジーとするWHS2011のサーバーバックアップも同様ではないかと思われます。

WHS2011のサーバーバックアップに失敗する、サーバーバックアップに異様に時間がかかるという声をたまに耳にするのですが、そもそもサーバーのバックアップは非常に時間がかかる場合があります(A Scheduled Server Backup May Take An Excessive Amount of Timeを参照)。それでも極端に時間がかかりすぎる、または失敗するといった場合、サーバーのバックアップ用ディスクのAFT採用HDDを使っていないか確認してみてください。HDDをAFTではないHDDに変更することで、パフォーマンスが改善される場合があると思います。バックアップに利用するVHDを容量固定に出来ればこの問題も回避できる可能性がありますが、残念ながら現時点ではその方法は見つけられていません。
追記:

 やはり、Windows Server バックアップで 512e ディスクを利用する場合、パフォーマンスの問題が発生するようです。
Problem with Windows Server Backup 2008 R2 with Advanced Format (4K) drive.

ださっち: