ユーザが、新しく購入した超大型SANで高速のリストアパフォーマンスを期待していたが、良い数値が得られないという話を聞きます。特に、オールフラッシュアレイ(AFA)を購入し、すべてが順調に進むことを期待していたユーザにとっては、ショックでイライラすることでしょう。では、一体何がこの問題を引き起こしているのでしょうか?最近ではほとんどのVM(仮想マシン)がシンプロビジョニングされているため、リストア時にディスクに書き込む際、ESXiはデータを書き込む前にゼロを書き込む必要があります。最近のSANには、ディスク領域をゼロにするためのハードウェアアクセラレーション(通称VAAI)が搭載されており、VMの作成やVMDKのフォーマット時にかかる時間やネットワーク負荷を大幅に軽減することができます。また、帯域幅やIOPSが制限されている場合のパフォーマンス回復にも役立ちます。この機能がないと、ESXiは従来の方法でゼロを書き込む必要があり、書き込み量が事実上2倍になってしまいます。しかし、この機能はハードウェアのWRITE_SAMEコマンドに依存しています。WRITE_SAMEコマンドはシリアル化されたコマンドであるため、ほとんどのドライブやコントローラーはこの呼び出し中に他のすべてのIOをブロックし、同様に一部のシステムは特定の速度でロックされてしまいます。
実際にこれはTRIMコマンドの動作と非常によく似ています。大量のTRIMコマンドを発行すると、ドライブ全体の実行が停止し、他のI/Oはただ待っているだけのような状態になります。同様にコントローラはWRITE_SAMEコマンドを完了しないと、I/O処理に戻ることができません。イメージベースのリストアは「ブロック単位」で行われるため、このゼロイングアウト(zeroing out)によって各リクエストにかなりのレイテンシーが加わることになります。おそらく数ミリ秒程度だとは思いますが、1MBのブロックでは1msの遅延でも1秒間に1000回の書き込み、つまり理論上の最大値は1000MB/sになります。2~3msの場合は、それぞれ500MB/s、333MB/sにまで落ち込みます。しかし、AFAのようなマイクロ秒単位の書き込み応答時間を持つ超高速ストレージに書き込む場合、各リクエストにミリ秒単位のレイテンシーを加えると、これらのシステムが提供できる実パフォーマンスに大きな影響を与えます。しかし、この機能はランタイム中に無効にすることができるので、リストア前にオフにし、その後オンにすることをお勧めします。
この方法についてのVMware KBの記事は以下の通りです。> Disabling Hardware Accelerated Init (WRITESAME) in ESXi
(注)TRIMはオペレーティング・システムからソリッドステートドライブ(SSD)の未使用領域を内部的に消去するために用いられるコマンド
*バックアップ仙人のアドバイスから
関連トピックス:
- ESXサーバー起動時の vsd-mount のエラーについて【仮想化プラットホーム VMware vSphere】
- VMware Power CLIのコマンドサンプル紹介
- 【VMware】vSphereのセキュリティ設定について
- vSphereのセキュリティ設定について【仮想化プラットホーム VMware vSphere】
- Data Recoveryインストール【仮想化プラットホーム VMware vSphere】
- Windows Server 2012のタスクマネージャーにディスクの読み書き情報を表示させる方法
- VMwareのTech Support Modeを使用した高度なESXiトラブルシュート
- vSphereのリソース監視コマンドの紹介