Disk オブジェクト
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
ディスク オブジェクトは、ホストベースの物理ディスクをモデル化します。 ローカル ホストで実行されているソフトウェア プロバイダーは、LUN オブジェクトがローカル ホストにマスク解除されたときに、ディスクとして LUN にアクセスできます。 LUN マスクの詳細については、 LUN オブジェクトに関するページを参照してください。
各ディスク オブジェクトは、ちょうど 1 つのパック オブジェクトに貢献します。ただし、ディスクは、パック内の任意の数のボリュームにエクステントを提供できます。 ディスクをホット スペアとして指定できます。
パーティションとボリュームのマッピング
オペレーティング システムには、ベーシック ディスクとダイナミック ディスクの両方のサポートが含まれています。 VDS には、これらのディスクの種類を管理するための基本的なプロバイダーと動的プロバイダーが用意されています。 ベーシック ディスクはフォールト トレラントではありません。 オペレーティング システムでこのようなボリューム バインドが許可されている場合、ダイナミック ディスクはフォールト トレラントになる可能性があります。 基本ディスクとダイナミック ディスクには、マスター ブート レコード (MBR) または GUID パーティション テーブル (GPT) のいずれかのパーティション スタイルに従って構成されたパーティションを含めることができます。 MBR パーティション分割には、最大 4 つのプライマリ パーティション、または 3 つのプライマリ パーティションと、無限論理ドライブを持つ 1 つの拡張パーティションがあります。 GPT パーティション分割では、最大 128 個のプライマリ パーティションが提供されます。
以下の説明は、本質的に一般的です。 パーティションとボリュームの間の一般的な関係を示します。これにはいくつかの例外があります。 パーティションとボリュームのマッピングの詳細については、 IVdsAdvancedDisk インターフェイスを参照してください。 パーティションとボリュームのマッピングは、ディスクの種類 (基本または動的) によって異なります。
ベーシック ディスク
ベーシック ディスク上のパーティションは、ほとんどの場合、ボリュームに直接マップされ、MBR または GPT パーティションとしてスタイル設定できます。 次の図は、両方のバージョンの MBR パーティションのマッピングを示しています。 最初のケースでは、パーティション (P1 から P4) がボリューム (V1 から V4) に直接マップされます。 拡張パーティション (Ext) は、2 番目の MBR スタイルの P4 を置き換えます。 ボリュームにマップされる拡張パーティション内の論理ドライブの数は無制限です。
次の図の GPT パーティション (P1 から P128) は、使用可能なすべてのパーティションが使用中の場合、ボリューム (V1 から V128) に直接マップされます。 GPT ディスクは、使いやすさを向上させる方法として拡張パーティションを使用しません。
ダイナミック ディスク
ダイナミック ディスク上の特殊なパーティションの種類は、多数のボリュームにマップされます。 動的プロバイダーによって課される推定制限については、 pack オブジェクトを参照してください。 次の図に示すように、ボリュームにマップされる P1 内には、任意の数のエクステントを含めることができます。
ディスクの種類に関係なく、ディスクには 1 つ以上のディスク エクステントを含めることができます。 ディスク エクステントは、ディスクによって公開される論理ブロックの連続した範囲です。 たとえば、ディスク・エクステントは、ボリューム全体、スパン・ボリュームの 1 つの部分、ストライプ・ボリュームの 1 つのメンバー、またはミラー化ボリュームの 1 つのプレックスを表すことができます。
ディスクの操作
既存のパックにディスクを追加するには、 IVdsPack::AddDisk メソッドを使用します。 呼び出し元は、 IVdsPack::QueryDisks メソッドによって返される列挙から目的のディスク オブジェクトを選択することで、特定のディスクへのポインターを取得できます。 同様に、 IVdsDisk::GetPack メソッドを呼び出して、特定のディスクを含むパックを特定できます。
IVdsPack::MigrateDisks メソッドを呼び出すことで、1 つのパックから別のパックにディスクを移動できます。 (VDS では、基本プロバイダーによって制御されるパック間でのベーシック ディスクの移行はサポートされていません。パック内のすべてのディスクを新しいホストに物理的に移動することで、パックを別のホストに移動することもできます。 パックはディスクと共に移動し、新しいホスト上の外部パックとして表示されます。 手順については、「 パックへの外部ディスクの追加」を参照してください。
オブジェクト識別子、名前、アドレス、デバイスの種類、メディアの種類に加えて、ディスク オブジェクトのプロパティには、ディスクの状態、正常性、フラグが含まれます。バイト単位のサイズ、セクターあたりのバイト数、トラックあたりのセクター数、およびシリンダーあたりのトラック数。とバスとパーティションの種類。
次の表に、関連するインターフェイス、列挙体、および構造体を示します。
型 | 要素 |
---|---|
このオブジェクトによって常に公開されるインターフェイス |
IVdsDisk、IVdsDiskOnline、IVdsAdvancedDisk、IVdsAdvancedDisk2、IVdsDiskPartitionMF、IVdsDiskPartitionMF2、および IVdsCreatePartitionEx。Windows Server 2008:IVdsDiskPartitionMF2 インターフェイスはサポートされていません。 Windows Vista:IVdsDiskOnline インターフェイスは、Windows Vista Service Pack 1 (SP1) がインストールされるまでサポートされません。代わりに IVdsDisk2 を使用してください。 IVdsDiskPartitionMF2 インターフェイスはサポートされていません。 Windows Server 2003:IVdsAdvancedDisk2、IVdsDisk2、IVdsDiskOnline、IVdsDiskPartitionMF、および IVdsDiskPartitionMF2 インターフェイスはサポートされていません。 |
このオブジェクトによって公開される可能性があるインターフェイス |
IVdsRemovable。 (ディスクが LUN の場合に公開される追加のインターフェイスについては、「 LUN オブジェクト 」を参照してください)。 |
関連付けられた列挙 | VDS_DISK_FLAG、 VDS_DISK_STATUS、 VDS_PARTITION_FLAG、 VDS_PARTITION_STYLE、 VDS_DISK_EXTENT_TYPE。 |
関連付けられた構造体 | VDS_DISK_PROP、 VDS_DISK_NOTIFICATION、 VDS_INPUT_DISK、 VDS_PARTITION_PROP、 VDS_PARTITION_INFO_GPT、 VDS_PARTITION_INFO_MBR、 VDS_DISK_EXTENT。 |