Oracle® VM Server for SPARC 3.2 管理ガイド

印刷ビューの終了

更新: 2015 年 5 月
 
 

ファイルおよびボリュームのエクスポート

ファイルまたはボリューム (たとえば ZFS または Solaris Volume Manager からの) は、slice オプションの指定の有無に応じて、フルディスクまたは 1 つのスライスディスクのいずれかとしてエクスポートされます。

フルディスクとしてエクスポートされるファイルまたはボリューム

slice オプションを設定しない場合、ファイルまたはボリュームはフルディスクとしてエクスポートされます。この場合、仮想ディスクドライバ (vds および vdc) は仮想ディスクから入出力を転送し、仮想ディスクのパーティション分割を管理します。最終的には、このファイルまたはボリュームは、仮想ディスクのすべてのスライスのデータ、およびパーティション分割とディスク構造の管理に使用されるメタデータを含むディスクイメージになります。

空のファイルまたはボリュームをフルディスクとしてエクスポートすると、未フォーマットのディスク、つまり、パーティションのないディスクとしてゲストドメインに表示されます。このため、ゲストドメインで format コマンドを実行して、使用可能なパーティションを定義し、有効なディスクラベルを書き込む必要があります。ディスクが未フォーマットの間、この仮想ディスクへの入出力はすべて失敗します。


注 - パーティションを作成するには、ゲストドメインで format コマンドを実行する必要があります。

ファイルをフルディスクとしてエクスポートする方法

  1. サービスドメインから、ファイル (fdisk0 など) を作成して仮想ディスクとして使用します。
    service# mkfile 100m /ldoms/domain/test/fdisk0

    ファイルのサイズによって、仮想ディスクのサイズが定義されます。この例では、100M バイトの空のファイルを作成して、100M バイトの仮想ディスクを取得しています。

  2. 制御ドメインから、ファイルを仮想ディスクとしてエクスポートします。
    primary# ldm add-vdsdev /ldoms/domain/test/fdisk0 fdisk0@primary-vds0

    この例では、slice オプションを設定していないため、ファイルはフルディスクとしてエクスポートされます。

  3. 制御ドメインから、ディスクをゲストドメインに割り当てます。

    たとえば、ディスク fdisk をゲストドメイン ldg1 に割り当てます。

    primary# ldm add-vdisk fdisk fdisk0@primary-vds0 ldg1
  4. ゲストドメインが起動されて Oracle Solaris OS が実行されたら、そのディスクがアクセス可能であり、フルディスクであることを確認します。

    フルディスクとは、8 つのスライスを持つ通常のディスクのことです。

    次の例は、ディスク c0d5 を表示して、そのディスクがアクセス可能であり、フルディスクであることを確認する方法を示しています。

    ldg1# ls -1 /dev/dsk/c0d5s*
    /dev/dsk/c0d5s0
    /dev/dsk/c0d5s1
    /dev/dsk/c0d5s2
    /dev/dsk/c0d5s3
    /dev/dsk/c0d5s4
    /dev/dsk/c0d5s5
    /dev/dsk/c0d5s6
    /dev/dsk/c0d5s7

ZFS ボリュームをフルディスクとしてエクスポートする方法

  1. フルディスクとして使用する ZFS ボリュームを作成します。

    次の例は、フルディスクとして使用する ZFS ボリューム zdisk0 を作成する方法を示しています。

    service# zfs create -V 100m ldoms/domain/test/zdisk0

    ボリュームのサイズによって、仮想ディスクのサイズが定義されます。この例では、結果的に 100M バイトの仮想ディスクになる、100M バイトのボリュームを作成します。

  2. 制御ドメインから、その ZFS ボリュームに対応するデバイスをエクスポートします。
    primary# ldm add-vdsdev /dev/zvol/dsk/ldoms/domain/test/zdisk0 \
    zdisk0@primary-vds0

    この例では、slice オプションを設定していないため、ファイルはフルディスクとしてエクスポートされます。

  3. 制御ドメインから、ボリュームをゲストドメインに割り当てます。

    次の例は、ボリューム zdisk0 をゲストドメイン ldg1 に割り当てる方法を示しています。

    primary# ldm add-vdisk zdisk0 zdisk0@primary-vds0 ldg1
  4. ゲストドメインが起動されて Oracle Solaris OS が実行されたら、そのディスクがアクセス可能であり、フルディスクであることを確認します。

    フルディスクとは、8 つのスライスを持つ通常のディスクのことです。

    次の例は、ディスク c0d9 を表示して、そのディスクがアクセス可能であり、フルディスクであることを確認する方法を示しています。

    ldg1# ls -1 /dev/dsk/c0d9s*
    /dev/dsk/c0d9s0
    /dev/dsk/c0d9s1
    /dev/dsk/c0d9s2
    /dev/dsk/c0d9s3
    /dev/dsk/c0d9s4
    /dev/dsk/c0d9s5
    /dev/dsk/c0d9s6
    /dev/dsk/c0d9s7

1 つのスライスディスクとしてエクスポートされるファイルまたはボリューム

slice オプションを設定すると、ファイルまたはボリュームは 1 つのスライスディスクとしてエクスポートされます。この場合、仮想ディスクには 1 つのパーティション (s0) のみが含まれ、このパーティションが直接ファイルまたはボリュームバックエンドにマップされます。ファイルまたはボリュームには仮想ディスクに書き込まれるデータのみが含まれ、パーティション情報やディスク構造などの追加データは含まれません。

ファイルまたはボリュームが 1 つのスライスディスクとしてエクスポートされると、システムは擬似的なディスクのパーティション分割のシミュレーションを行います。これにより、そのファイルまたはボリュームはディスクスライスとして表示されます。ディスクのパーティション分割のシミュレーションが行われるため、そのディスクに対してパーティションは作成しないでください。

ZFS ボリュームを 1 つのスライスディスクとしてエクスポートする方法

  1. ZFS ボリュームを作成して、1 つのスライスディスクとして使用します。

    次の例は、ZFS ボリューム zdisk0 を作成して、1 つのスライスディスクとして使用する方法を示しています。

    service# zfs create -V 100m ldoms/domain/test/zdisk0

    ボリュームのサイズによって、仮想ディスクのサイズが定義されます。この例では、100M バイトのボリュームを作成して、100M バイトの仮想ディスクを取得します。

  2. 制御ドメインから、その ZFS ボリュームに対応するデバイスをエクスポートします。このボリュームが 1 つのスライスディスクとしてエクスポートされるように slice オプションを設定します。
    primary# ldm add-vdsdev options=slice /dev/zvol/dsk/ldoms/domain/test/zdisk0 \
    zdisk0@primary-vds0
  3. 制御ドメインから、ボリュームをゲストドメインに割り当てます。

    次の例は、ボリューム zdisk0 をゲストドメイン ldg1 に割り当てる方法を示しています。

    primary# ldm add-vdisk zdisk0 zdisk0@primary-vds0 ldg1
  4. ゲストドメインが起動されて Oracle Solaris OS が実行されたら、ディスク (c0d9 など) を表示して、そのディスクがアクセス可能で、1 つのスライスディスク (s0) であることを確認できます。
    ldg1# ls -1 /dev/dsk/c0d9s*
    /dev/dsk/c0d9s0
    /dev/dsk/c0d9s1
    /dev/dsk/c0d9s2
    /dev/dsk/c0d9s3
    /dev/dsk/c0d9s4
    /dev/dsk/c0d9s5
    /dev/dsk/c0d9s6
    /dev/dsk/c0d9s7

ボリュームのエクスポートおよび下位互換性

    ボリュームを仮想ディスクとしてエクスポートする構成がある場合、ボリュームは 1 つのスライスディスクではなくフルディスクとしてエクスポートされるようになります。アップグレード前の動作を保持して、ボリュームを 1 つのスライスディスクとしてエクスポートするには、次のいずれかを実行する必要があります。

  • Oracle VM Server for SPARC 3.2 ソフトウェアで ldm set-vdsdev コマンドを使用して、1 つのスライスディスクとしてエクスポートするすべてのボリュームに slice オプションを設定します。ldm(1M) マニュアルページを参照してください。

  • 次の行を、サービスドメインの /etc/system ファイルに追加します。

    set vds:vd_volume_force_slice = 1

    /etc/system プロパティー値の正しい作成または更新については、/etc/system ファイルのプロパティー値の更新を参照してください。


    注 - この調整可能なオプションを設定すると、すべてのボリュームが強制的に 1 つのスライスディスクとしてエクスポートされ、ボリュームをフルディスクとしてエクスポートできなくなります。

各種のバックエンドのエクスポート方法のサマリー

バックエンド
スライスオプションなし
スライスオプションを設定
ディスク (ディスクスライス 2)
フルディスク

ディスク全体をエクスポートします。

1 つのスライスディスク

スライス 2 のみをエクスポートします。

ディスクスライス (スライス 2 以外)
1 つのスライスディスク

スライスは常に 1 つのスライスディスクとしてエクスポートされます。

1 つのスライスディスク
ファイル
フルディスク
1 つのスライスディスク
ボリューム (ZFS、Solaris Volume Manager、VxVM を含む)
フルディスク
1 つのスライスディスク

ファイルおよびディスクスライスを仮想ディスクとしてエクスポートする場合のガイドライン

このセクションでは、ファイルおよびディスクスライスを仮想ディスクとしてエクスポートする場合のガイドラインを示します。

ループバックファイル (lofi) ドライバの使用

ファイルを仮想ディスクとしてエクスポートするループバックファイル (lofi) ドライバを使用すると、余分なドライバレイヤーが追加されるため、仮想ディスクのパフォーマンスに影響します。代わりに、フルディスクまたは 1 つのスライスディスクとしてファイルを直接エクスポートすることができます。ファイルおよびボリュームのエクスポートを参照してください。

ディスクスライスの直接的または間接的なエクスポート

仮想ディスクとしてスライスを直接的に、または Solaris Volume Manager ボリュームを介すなどして間接的にエクスポートするには、prtvtoc コマンドを使用して、スライスが物理ディスクの最初のブロック (ブロック 0) で開始されていないことを確認します。

物理ディスクの最初のブロックから始まるディスクスライスを直接的または間接的にエクスポートする場合は、物理ディスクのパーティションテーブルを上書きして、そのディスクのすべてのパーティションにアクセスできないようにすることもできます。