Pack オブジェクト
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
パック オブジェクトは、ディスク グループをモデル化します。これは、基本ソフトウェア プロバイダーまたは動的ソフトウェア プロバイダーによって管理されるディスクとボリュームのコレクションです。 プロバイダーには、複数のパック オブジェクトを含めることができます。
アプリケーションは API を使用して、VDS に 1 つ以上のディスクをパックに追加し、ディスクをボリュームにバインドし、必要に応じてディスクをホスト間のユニットとして移動するように指示できます。 既存のボリュームをパックにインポートすることはできません。
注意
パックのメンバーシップは、パフォーマンス、メディア、相互接続プロトコル、またはその他の特性に関するディスク間の一貫性を意味するものではありません。
ディスク オブジェクトは、未割り当てで VDS によって管理されるか、または 1 つのパックのメンバーです。 基本ソフトウェア プロバイダーには、0 個以上のパックを含めることができます。それぞれに 1 つのベーシック ディスクが含まれています。 プロバイダーでは、ベーシック ディスク上のボリュームの数に制限はありません。 動的プロバイダーは、各パックに複数のダイナミック ディスクを含む 0 個以上のパックを含めることができます。 このプロバイダーは、論理ディスク マネージャー (LDM) データベースの 1 メガバイト サイズに基づいて、ディスク上のボリュームの数を制限します。 1 つのボリュームに少なくとも 1 つのプレックスと 1 つのディスク・エクステントがあることを考えると、パックに対するボリュームの最大数は約 1000 です。 最大数は、ディスクの数が増加すると減少します。
ディスク オブジェクトに加えて、パックには、1 つ以上のハードウェア プロバイダーによって実装された 1 つ以上の LUN オブジェクトを含めることができます。 Windows カーネルでは、LUN は単なる別のディスクです。 (LUN オブジェクトは、プロバイダー プログラムを実行しているコンピューターにマスク解除する必要があります)。ディスクが LUN の場合、LUN オブジェクトは IVds Lun インターフェイスと IVdsDisk インターフェイス の両方を 公開します。 パック オブジェクトは、IVds Lun ではなく IVdsDisk を使用して、パック内の LUN を列挙します。 LUN の詳細については、LUN オブジェクトに関するページを参照してください。
次の図は、ディスクと LUN の 2 つのメンバーを持つパックを示しています。 アプリケーションは、これらのオブジェクトをオンライン パックに追加し、スピンドルで表される基になるディスクとドライブエクステントからボリュームを作成できます。
新しいパック オブジェクトを作成するには、 IVdsSwProvider::CreatePack メソッドを使用します。 呼び出し元は、 IVdsSwProvider:: QueryPacks メソッドによって返される列挙から目的のパック オブジェクトを選択することで、特定のパックへのポインターを取得できます。 pack オブジェクトを使用すると、パックのメンバーを追加、削除、または置き換えることができます。 ディスク オブジェクトをパックに追加すると、VDS によってディスクが初期化され、既存のすべてのボリュームのバインドが解除されます。 これに対し、LUN は、パックに追加されるときにすべてのバインディングの詳細を保持します。 パックから最後のディスクを削除すると、呼び出し元がオブジェクトへの最後の参照を解放すると、VDS によってパック オブジェクトが削除されます。
オブジェクトのプロパティには、オブジェクト識別子、名前、パックの状態、フラグが含まれます。 オンライン パックは構成と使用に使用でき、オフライン パックは使用できません。 VDS では、任意の数のオンライン パックとオフライン パックがサポートされます。
Windows Server 2003: 一度に 1 つのオンライン パックのみをサポートします。
VDS は、パック内のオンライン ディスクのクォーラムを強制します。 クォーラムは、パックにオンライン状態を設定できるかどうかを決定し、複数のホストが同じパックにオンライン状態を付与できないようにします。 パック内のオンライン ディスクの数がクォーラム (n/2 + 1) を下回った場合、VDS はオンライン パックをオフラインにします。
次の表に、関連するインターフェイス、列挙体、および構造体を示します。
型 | 要素 |
---|---|
このオブジェクトによって常に公開されるインターフェイス | IVdsPack と IVdsPack2* |
関連付けられた列挙 | VDS_PACK_FLAG と VDS_PACK_STATUS。 |
関連付けられた構造体 | VDS_PACK_PROP と VDS_PACK_NOTIFICATION。 |
*Windows Server 2003: このインターフェイスは、Windows Vista までサポートされていません。