LUN オブジェクト
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
LUN (論理ユニット番号) オブジェクトは、ハードウェア プロバイダーによって作成され、サブシステムによって表示されるアドレス指定可能記憶域の論理ユニットをモデル化します。 各 LUN は少なくとも 1 つの LUN プレックスで構成され、1 つ以上のドライブからのエクステントで構成されます。
VDS では、シンプル、スパン、ストライプ、ミラー化、パリティ付きストライプの 5 種類の LUN がサポートされています。 シンプル、スパン、ストライプの LUN はフォールト トレラントでありません。ミラー化された LUN とパリティ LUN はフォールト トレラントです。 このセクションの残りの部分では、各 VDS LUN の種類について説明します。
- 単純な LUN は、1 つのドライブから 1 つの連続したドライブ エクステントで構成されるフォールト トレラントでない LUN です。 連続するエクステントは、1 つの範囲のブロックまたは複数の範囲のブロックで構成できます。
- スパン LUN は、フォールト トレラントでない LUN であり、複数のドライブからの複数の連続しないエクステントで構成されます。 データは、最初のドライブのすべてのエクステントが塗りつぶされるまで、最初のドライブの各エクステントに直線的に書き込まれ、次に 2 番目のドライブの各エクステントに書き込まれます。 スパン LUN を使用すると、さまざまなサイズのドライブで構成されるサブシステムでドライブ領域を効率的に使用できます。
- ストライプ LUN は、複数のドライブから複数のインターリーブされた連続したエクステントで構成されるフォールト トレラントでない LUN です。 ストライプ LUN は RAID-0 構成を使用します。これにより、データは、コントリビューティング ドライブ上のエクステント全体で循環的に "ストライピング" されます。 ストライプ LUN は、同じサイズ、モデル、製造元のドライブで最適に動作します。
- ミラー化された LUN は、データを複数の LUN プレックスに複製することでディザスター リカバリーを実現するフォールト トレラント LUN です。 ミラー化された LUN 内の各プレックスには、元のプレックスに格納されているデータのコピーが含まれています。 各プレックスは、別のドライブに存在します。 ミラー化された LUN に書き込まれるすべてのデータは、各プレックスに同時に書き込まれます。 影響を受けるドライブの 1 つが故障した場合、そのドライブ上のプレックスは使用できなくなりますが、システムは影響を受けないプレックスまたはプレックスを使用して動作し続けます。 ミラー化された LUN には、任意の数のプレックスを含めることができます。
- パリティ LUN を使用したストライプは、3 つ以上のドライブ間でパリティ データを断続的にストライピングすることでディザスター リカバリーを実現するフォールト トレラント LUN です。 影響を受けるドライブの 1 つに障害が発生した場合は、失われたデータを残りのデータとパリティから再作成できます。
VDS では、アプリケーションが LUN を作成できる 4 つのモデルがサポートされています。明示的な方向付け、部分的な方向付け、自動マジック、ベンダー固有です。 すべてのハードウェア プロバイダーは、明示的および部分的に指示された LUN の作成をサポートする必要があり、自動マジック LUN の作成をサポートすることを強くお勧めします。 (ベンダー固有の LUN の作成は、このガイドの範囲外です)。
明示的に指示された LUN を作成すると、呼び出し元は LUN のすべての属性を指定できます。 部分的に指示された LUN を作成すると、呼び出し元は特に関心のある属性のみを指定し、プロバイダーが残りの属性を選択できるようになります。 Automagic LUN の作成では、呼び出し元が LUN の種類とサイズを一連の "自動マジック ヒント" (LUN 属性の定義済みの基本設定) と共に指定し、プロバイダーが LUN を自動的に作成できるようにする必要があります。
VDS では、この機能を提供するサブシステムの LUN のマスク解除がサポートされています。 すべての LUN は、プロバイダーが実行されているコンピューターに表示されます。 LUN のマスク解除を使用すると、呼び出し元は選択した LUN をネットワーク上の他のコンピューターに "マスク解除" できます。 LUN をコンピューターにマスク解除すると、そのコンピューターは LUN にアクセスできます。 LUN がマスクされているコンピューターは、マスクされません。
マスクされていない LUN は、 IVds Lun インターフェイスと IVdsDisk インターフェイス の 両方をローカル ホストに公開します。 IVdsDisk を使用して、LUN をソフトウェア プロバイダー パックに追加したり、ボリュームを作成および削除したり、ドライブ文字を割り当てたりすることができます。 ディスクで実行される操作の詳細については、ディスク オブジェクトに関するページを参照してください。
LUN がターゲット マシンにマスク解除されるか、ターゲット マシンからマスクされた後、バスの再スキャンが実行されるまで、そのマシンでの LUN の可視性が変更されない可能性があります。 ターゲット マシン上の VDS アプリケーションは、 IVdsService::Reenumerate を呼び出してバスの再スキャンを開始します。 バスの再スキャンの開始は、ハードウェア プロバイダーではなく、VDS アプリケーションの責任です。
マルチパス I/O (MPIO) をサポートするハードウェア プロバイダーは、LUN とローカル ホスト間のパスに負荷分散ポリシーを設定できます。 この機能をサポートする LUN は、 IVds LunMpio インターフェイスをローカル ホストに公開します。
新しい LUN オブジェクトを作成するには、 IVdsSubSystem::Create Lun メソッドを使用します。 IVdsSubSystem によって公開される Query Luns メソッドを呼び出すことで、特定のサブシステムによって表示される LUN に対してクエリを実行できます。 呼び出し元は、 Query Luns によって返される列挙から目的の LUN オブジェクトを選択することで、特定の LUN へのポインターを取得できます。 LUN オブジェクトを使用すると、LUN の状態を設定できます。すべてのアクティブなコントローラー、プレックス、および自動マジック ヒントのクエリ。LUN を拡張および縮小する。プレックスを追加および削除する。set masks;ヒントを適用する。LUN を削除します。
LUN オブジェクトのプロパティには、オブジェクト識別子、名前、シリアル番号に加えて、LUN の種類、サイズ、状態、正常性、遷移状態、フラグが含まれます。マスク解除リスト。リビルド優先度の設定を指定します。
次の表に、関連するインターフェイス、列挙体、および構造体を示します。
型 | 要素 |
---|---|
このオブジェクトによって常に公開されるインターフェイス | IVdsLun |
VDS 1.1 および 2.0 ファイバー チャネル プロバイダーでのみ、このオブジェクトによって常に公開されるインターフェイス | IVdsLunControllerPorts |
VDS 1.1 および 2.0 iSCSI プロバイダーでのみ、このオブジェクトによって常に公開されるインターフェイス | IVdsLunIscsi |
このオブジェクトによって公開される可能性があるインターフェイス* |
IVdsMaintenance、 IVdsLunMpio、 IVdsLunNaming、 IVdsLunNumberWindows Server 2008、Windows Vista、Windows Server 2003:IVdsLunNumber インターフェイスはサポートされていません。 |
関連付けられた列挙体 | VDS_LUN_FLAG と VDS_LUN_STATUS、 およびVDS_LUN_TYPE |
関連する構造体 | VDS_LUN_INFORMATION、 VDS_LUN_PROP、 VDS_LUN_NOTIFICATION |
* LUN がローカル ホスト コンピューター上のディスクとしてマスクされていない場合に公開される追加インターフェイス (IVdsDisk) については、ディスク オブジェクトに関するページを参照してください。