VMware vSANの暗号化:HyTrust DataControlで暗号化と重複排除


暗号化と重複排除がどのように連動するかという問題は、頻繁に発生する問題です。データを暗号化すると、すべてのブロックが異なり、重複排除が機能しなくなり、以前よりも多くのストレージが必要になるという懸念がありますが、いくつかのストレージでは必ずしもそうではありません。この記事では、HyTrust DataControlの暗号化が、VMware vSANストレージと重複排除をサポートするストレージアレイによって提供される重複排除機能と連携してどのように機能するかを説明します。

ディスクの暗号化と重複排除はどのように機能するのか

HyTrust DataControlは、WindowsおよびLinuxサーバーのパーティションレベルでディスク暗号化を提供します。次の図は、暗号化前後のブロックデバイスを示しています。

 

すべてのブロックは、暗号化される前にブロックが同一であっても、暗号化された後のすべての暗号化されたブロックが他のすべての暗号化されたブロックと異なるように暗号化されます。暗号化を有効にするには、すべてのブロックが異なる必要があることを覚えておいてください。

通常の重複排除は次の図のように機能します:

左側には、ディスク内にいくつかのブロックが表示されています。「緑色」ブロック(0,2およびn)は同一であり、ブロック1およびn-1は互いに異なり、「緑色」ブロックとは異なります。ブロックが重複排除レイヤーを通過すると、重複排除エンジンはブロックを「ハッシュ」します。また同じ値にハッシュするブロックはすべて同一とみなされます。これが発生すると、3つのコピーができるため、それが対応するデバイス内のどのブロックであるかを特定するために、3つの同一のコピー、1つのコピーおよび一部のメタデータを格納する必要はありません。

最も効果的な重複排除は、どこで実施されるのか?

Windows VMが1,000台ある場合は、1,000個のWindowsオペレーティングシステムがインストールされています(C:ドライブと考える)。ほとんどのVMは単一のゴールドテンプレートからデプロイされるため、VMディスクは同一のものから始まります。これらの仮想マシンは、基本的に重複除外を使用して(割り当てられたストレージスペースの)単一のコピーに減らすことができます。また正確に100%ではないかもしれませんが、非常に近いものとなります。

時間が経つにつれて、これらのWindows VMは異なっていきます。C:(Windows OS)はあまり変更されませんが、データドライブは変更される可能性が高いです。また異なるデータベース、異なるWebサーバー、その他の種類のアプリケーション、ユーザーデータなどもあります。 これらの違いは、重複が時間の経過とともに効果が少なくなる可能性が高いことです。

スペースを節約するためにDataControlは何をするのか?

上記の暗号化の例から、各ディスクのブロックごとに異なる暗号化ブロックを取得したところから、VMをどのように展開するかを考え、これがどうして起こりそうにないかについて説明します。ただし、それを回避するためにHyTrustソリューションを詳細に調査し、記述する1つの例外があります。

割り当てられたものだけを暗号化する

次に、以下に示すように少し異なる方法を見てみましょう。

  1. ディスクはシンプロビジョニングされています。つまり、VMによって書き込まれたブロックだけが実際に割り当てられます。ここでの目標は重複排除と同じです – ストレージスペースを節約してください!これらの「未使用」ブロックを暗号化していないので、追加のスペースは必要ありません。
  2. シックプロビジョニングの場合、すべてのブロックは、OSがインストールされる前に割り当てられ、ディスク上にファイルシステムが作成されます。この方法では、ファイルシステムで使用されているブロックのみを暗号化し、他のブロックは重複排除エンジンを実行してストレージの量を大幅に削減できます。

注 – デフォルトでは、WindowsのDataControlは「穴」(ブロックが割り当てられていないブロックまたはゼロで埋められているブロック)を検出し、それらを暗号化しません。

クローンとテンプレート

DataControlは、2種類のテンプレート/クローンをサポートしています:

  1. 暗号化されたVMをコピーし、関連する暗号化キーを複製する機能。
  2. 暗号化されたVMからテンプレートを作成し、新しいVMがクローンからスピンアップする際に関連する暗号化キーを複製する機能。

図4では、新しいVMがクローンから作成されたときの状態を示しています。

またクローンを作成する場合、2つの方法があります。

  1. コピーオンライト。 この場合、ブロックは、第2のVMがディスクブロックのいずれかに書き込むときにのみ割り当てられます。したがって、第1のVMのディスクは暗号化されているにもかかわらず、クローンをとった後に記憶容量が増加することはありません。
  2. ディスクのフルコピー。ここでは、すべてのブロックが元のVMのディスクから割り当てられ、コピーされます。しかし、重複排除の観点からは、割り当てられたストレージに変更はありません。VM-2のディスクのブロック0は、VM-1のディスクのブロック0と同じですので、重複排除エンジンは参照カウントを増加させるだけです。

いずれの場合も、各VMがストレージに書き込むと、ブロックが変更され、一意になります。この場合、データが暗号化されているかどうかにかかわらず、ストレージが増加します。

重複排除ストレージのさらなる最適化

暗号化と重複がうまく機能しない場合は、次の使用例で要約できます。すでに100個のWindows VMがインスタンス化されており、暗号化する必要があります。オペレーティングシステムにはC:があり、データにはD:があります。各VMにDataControl Policy Agentをインストールし、すべてのドライブを暗号化します。

もしC:ドライブが暗号化されない場合、データドライブが一意(VMごと)である可能性が非常に高いため、重複排除が大幅に削減されることはほとんどありません。もちろん、これはデータの種類に非常に依存しています。

しかしC:ドライブを暗号化したいと仮定しましょう。Windowsの100個のコピーが既にインスタンス化されている場合、100個のC:ドライブを暗号化するために100個のキーが作成されます。また、暗号化が完了すると、各VMのすべてのC:ドライブにある暗号化されたブロックがすべて異なるため、重複はありません。

これらの100個のCドライブに1つの暗号化キーを使用するとなにが起きるでしょうか?これらの100個のC:ドライブが同一であると仮定しましょう。この場合、重複結果は下の図のようになります。

ブロック0を例にしてみましょう。100台のVMのそれぞれで、結果の暗号化されたブロックは、キーが同じなので同一になります。ブロック1についても同様です。したがって、記憶層では、ブロック0については、単一のブロックを記憶するだけであり、参照カウントは100となります。唯一の欠点は、単一のVM C:ドライブ内の同一ブロックの重複であり、これは最小限に抑えられると考えています。

したがって、HyTrust DataControlで利用可能なこの機能を使用することで、VMの展開方法や暗号化が行われているかどうかにかかわらず、重複排除の効率が少し低下するだけです。VMの範囲全体で単一の鍵を使用したVSANテストでは、暗号化なしで取得できる重複排除の約90%が表示されます。

 

 

 

関連トピックス