この節では、ディスクセットの作成方法、およびそれにホストとディスクドライブを実装する方法について説明します。
現在、ディスクセットは、SPARCstorage Array ディスクでのみサポートされます。
ディスクセットとは、1 つまたは 2 つのホストで (同時にではなく) 排他的に共有が可能な DiskSuite オブジェクトが収められている共有ディスクドライブの場合です。ディスクセットによって、ホストの障害回復シナリオが実行可能となります。
ディスクセットに接続される各ホストには、DiskSuite をインストールしなければならなりません。
メタデバイス状態データベースは、共有ディスクセットごとに 1 つ、および「ローカル」ディスクセットに 1 つ存在します。ディスクセットを作成するには、各ホストにローカルなメタデバイス状態データベースが設定されていなければなりません。
ローカルなメタデバイス管理とは異なり、ディスクセット上で状態データベースの複製を手作業で作成したり削除したりする必要はありません。DiskSuite は、ディスクセット内のすべてのドライブを通じて、適切な数の複製を均一に配置しようとします。
ディスクセット内の各ホストには、共有ディスクセットとは別にローカルディスクセットが必要です。ホスト用のローカルディスクセットは、共有ディスクセットに含まれないすべてのドライブから構成されます。
ディスクセット内のホスト間で共有しようとするすべてのディスクは、各ホストに接続し、各ホスト上で同じ名前になっていなければなりません。ディスクセット構成で使用するためのハードウェアの設定は、少々やっかいです。ディスクドライブは対称でなければなりません。つまり、共有ドライブのデバイス番号は同じでなければなりません。このことは、デバイスの名前 / 番号 (コントローラ / ターゲット / ドライブ) が同じであることを暗示します。「ディスクセット用のディスクドライブデバイス名を設定する方法 (コマンド行)」を参照してください。
1 つのホストをもつディスクセットを作成し、後から 2 番目のホストを追加することができます。
使用中のドライブをディスクセットに追加することはできません。ドライブを追加する前に、そのドライブがファイルシステム、データベース、またはその他のアプリケーションで現在使用されていないことを確認してください。
ディスクセットに対して、保存する必要のあるデータをもつドライブを追加しないでください。これをディスクセットに追加すると、ディスクのパーティション再分割が行われ、すべてのデータが破壊されます。
ドライブがディスクセットとして受け付けられると、ディスクセット用のメタデバイス状態データベースの複製をドライブに置けるように、DiskSuite がこれのパーティションを再分割します。スライス 7 が正しく設定されていない場合にだけ、ドライブのディスクセットへの追加時に、ドライブのパーティション再分割が行われます。各ドライブのスライス 7 に、DiskSuite で使用するための小さな領域が確保されます。各ドライブの残りの領域は、スライス 0 になります。ディスク上のデータは、パーティション再分割によって失われます。ディスクセットにドライブを追加した後、必要に応じてパーティションを再分割できます。ただし、スライス 7 は例外であり、いかなる方法でも変更できません。スライス 7 がシリンダ 0 から始まり、しかも状態データベースの複製を収めるだけの大きさがある場合、ディスクはパーティションに再分割されません。
ディスクセットにドライブが追加されると、DiskSuite は、残りのドライブ全体にわたって、状態データベースの複製のバランスを再調整します。必要ならば、後から metadb(1M) コマンドを使用して、複製の配置を変更できます。
ディスクセットを作成するには、root がグループ 14 のメンバーであるか、または ./rhosts ファイルに (各ホスト上の) 他のホスト名のエントリが含まれていることが必要です。
ディスクセットの作成と構成には、DiskSuite のコマンド行インタフェースを使用する必要があります。ディスクセットを作成したら、DiskSuite ツールまたはコマンド行ユーティリティを使用して、ディスクセット内でホットスペア集合、メタデバイス、状態データベースの複製を管理できます。
ディスクセットを作成する手順を次に示します。
ホストをディスクセットに追加 (これでディスクセットを作成)
ドライブをディスクセットに追加
ディスクセットを作成する前に、次の作業を行います。
ディスクセット内の各ホストでディスクドライブのデバイス名が同じになるよう、ディスクドライブのデバイス名を設定する。
共有されるドライブを両方のホストに接続する。
各ホスト上で、ローカルメタデバイスの状態データベースの複製を構成する。
ディスクセット内の共有ドライブに同じデバイス名を設定する方法については、「ディスクセット用のディスクドライブデバイス名を設定する方法 (コマンド行)」を参照してください。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「ディスクセットを作成するための予備情報」) を読んでいることを確認する。
デバイスにアクセスできるホストを定義することによって、ディスクセットを作成する。
# metaset -s <セット名> -a -h <ホスト>... |
-s <セット名> |
metaset(1M) が作用するディスクセットの名前を指定します。 |
-a |
指定されたディスクセットにホストを追加します。DiskSuite では、ディスクセットあたり最大 2 つのホストをサポートします。 |
-h <ホスト>... |
ディスクセットに追加される 1 つ以上のホストを指定します。最初のホストを追加すると、セットが作成されます。2 番目のホストは後で追加できますが、指定されたホスト上でセット内のすべてのドライブが見つからない場合、これは受け付けられません。<ホスト>には、/etc/nodename にあるものと同じ名前を指定します。 |
metaset(1M) コマンドにより、新しいディスクセットの状態をチェックする。
# metaset |
red# metaset -s relo-red -a -h red blue red# metaset -s relo-blue -a -h red blue red# metaset Set name = relo-red, Set number = 1 Host Owner red blue Set name = relo-blue, Set number = 2 Host Owner red blue |
この例では、ホスト red から、relo-red と relo-blue の 2 つの共有ディスクセットを作成します。ホスト名は red と blue であり、それぞれに専用のローカルディスクセットを保有しています。metaset コマンドで状態が表示されます。この時点では、どちらのセットにも所有者はありません。セットにディスクを追加するホストは、デフォルトで所有者となります。
ドライブがディスクセットに受け付けられるためには、次の条件が満足されなければなりません。
メタデバイス内で使用されていたり、状態データベースの複製を含んでいてはならない。
現在マウントされていたり、スワップされていたり、アプリケーションでの使用のために開かれていてはならない。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「ディスクセットを作成するための予備情報」) を読んでいることを確認する。
ドライブをディスクセットに追加する。
# metaset -s <セット名> -a <ドライブ名>... |
このコマンドでは、
-s <セット名> |
metaset(1M) が作用するディスクセットの名前を指定します。 |
-a |
指定されたディスクセットにドライブを追加します。 |
<ドライブ名>... |
ディスクセットに追加するドライブを指定します。ドライブ名の形式は cxtxdx です。名前の最後に、「sx」スライス識別子は存在しません。これらは、ディスクセット内のすべてのホストで同じあることが必要です。 |
ディスクセットにドライブを追加する最初のホストが、ディスクセットの暗黙の所有者となります。
データのあるディスクを追加しないでください。これをディスクセットに追加すると、ディスクのパーティションが再分割され、すべてのデータが破壊されます。
metaset(1M) コマンドを使用して、ディスクセットとドライブの状態を確認する。
# metaset |
red# metaset -s relo-red -a c1t2d0 c1t3d0 c2t2d0 c2t3d0 c2t4d0 c2t5d0 red# metaset Set name = relo-red, Set number = 1 Host Owner red Yes blue Drive Dbase c1t2d0 Yes c1t3d0 Yes c2t2d0 Yes c2t3d0 Yes c2t4d0 Yes c2t5d0 Yes Set name = relo-blue, Set number = 2 Host Owner red blue |
この例では、ホスト名は red と blue であり、それぞれ専用のローカルディスクセットを保有します。共有された 2 つのディスクセットは、relo-red と relo-blue です。セット relo-red 内のディスクは、通常はホスト red によってアクセスされますが、red に障害が発生した場合、ホスト blue からもアクセスできます。この時点では、ディスクセット relo-blue には、まだディスクが追加されていません。