この章では、Solaris ボリュームマネージャの状態データベースの複製に関連する作業について説明します。これらの作業に関連する概念については、第 6 章「状態データベース (概要)」を参照してください。
次の表に、Solaris ボリュームマネージャの状態データベースの複製を管理するのに必要な作業を示します。
| 
 作業  | 
 説明  | 
 参照先  | 
|---|---|---|
| 
 状態データベースの複製の作成  | 
 Solaris ボリュームマネージャの GUI か metadb -a コマンドを使って状態データベースの複製を作成します。  | |
| 
 状態データベースの複製の状態チェック  | 
 Solaris ボリュームマネージャの GUI か metadb -a コマンドを使って、既存の複製の状態をチェックします。  | |
| 
 状態データベースの複製の削除  | 
 Solaris ボリュームマネージャの GUI か metadb -a コマンドを使って状態データベースの複製を削除します。  | 
Solstice DiskSuite 製品から Solaris ボリュームマネージャにアップグレードしていて、状態データベースの複製とファイルシステムまたは論理ボリュームの間でスライスが共有されている (それぞれが異なるスライス上に置かれていない) 場合は、既存の複製を削除して同じ場所に新しいデフォルトの複製を作成してはなりません。
Solaris ボリュームマネージャの状態データベースの複製のデフォルトサイズは 8192 ブロックですが、Solstice DiskSuite 製品のデフォルトサイズは 1034 ブロックです。Solstice DiskSuite 製品で作成されたデフォルトサイズの状態データベースの複製を削除し、Solaris ボリュームマネージャで新しくデフォルトサイズの複製を追加する場合は、注意してください。共有スライスの残りの部分を占有しているファイルシステムの先頭 7158 ブロックが上書きされるので、データが破壊されます。
ファブリック接続型記憶領域 (FAS)、SAN などの、システムに直接接続されていない記憶領域に、状態データベースの複製を格納しないでください。Solaris ボリュームマネージャをブートできなくなる可能性があります。複製は、従来の SCSI または IDE ドライブにブートプロセス時に使用できる記憶デバイスに格納しなければなりません。
「Solaris ボリュームマネージャコンポーネントを作成するための前提条件」を確認します。
スーパーユーザーになります。
次のどちらかの方法で状態データベースの複製を作成します。
Solaris 管理コンソール内の「拡張ストレージ」から「状態データベースの複製」ノードを開きます。「アクション (Action)」、「複製の作成 (Create Replicas)」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metadb コマンドを実行します。metadb(1M) のマニュアルページを参照してください。
# metadb -a -c number -l length-of replica -f ctds-of-slice  | 
状態データベースの複製を追加または作成することを指定します。
複製が存在しなくても、強制的に操作を実行することを指定します。最初の複製を強制的に作成するには、-f フラグを指定します。
特定のスライスに追加する複製の数を指定します。
新しい複製のサイズをブロック数で指定します。デフォルトのサイズ (8192) は、数千の論理ボリュームを持つ構成を含め、事実上すべての構成に適しています。
複製を格納するコンポーネントの名前を指定します。
コマンド行にオプションを指定しないで metadb コマンドを入力すると、すべての状態データベースの複製の状況が示されます。
# metadb -a -f c0t0d0s7
# metadb
        flags         first blk      block count
...
     a      u         16             8192            /dev/dsk/c0t0d0s7
 | 
最初の状態データベースの複製を作成するには、-f オプションを -a オプションとともに使用する必要があります。-a オプションは、状態データベースの複製をシステムに追加します。- f オプションは、最初の複製を強制的に作成します (システムに補助的な複製を追加する場合は省略可能)。
# metadb -a -c 2 c1t3d0s1
# metadb
        flags         first blk      block count
...
     a        u         16              8192            /dev/dsk/c1t3d0s1
     a        u         8208            8192            /dev/dsk/c1t3d0s1
 | 
-a オプションは、状態データベースの複製をシステムに追加します。-c 2 オプションは、指定したスライスに 2 つの複製を格納します。metadb コマンドは、複製が metadb コマンド出力の a フラグで示されたとおり、アクティブであるかどうかを調べます。
既存の状態データベースの複製を置き換える場合は、複製のサイズを指定しなければならない場合があります。特に、ファイルシステムとスライスを共有している状態データベースの複製がすでに存在している場合は (たとえば、Solstice DiskSuite 製品からアップグレードした場合など)、既存の複製を同じサイズの複製で置き換えるか、別の場所に新しい複製を作成する必要があります。
# metadb -a -c 3 -l 1034 c0t0d0s7
# metadb
        flags         first blk      block count
...
     a      u         16             1034            /dev/dsk/c0t0d0s7
     a      u         1050           1034            /dev/dsk/c0t0d0s7
     a      u         2084           1034            /dev/dsk/c0t0d0s7
 | 
-a オプションは、状態データベースの複製をシステムに追加します。-l オプションでは、追加する複製の長さをブロック数で指定します。
スーパーユーザーになります。
次のどちらかの方法で状態データベースの複製の状態をチェックします。
Solaris 管理コンソール内の「拡張ストレージ」から「状態データベースの複製 (State Database Replicas)」ノードを開いて、存在するすべての状態データベースの複製の状態を表示します。詳細は、オンラインヘルプを参照してください。
metadb コマンドを実行して、状態データベースの複製の状態を表示します。-i オプションを指定すると、すべての状態フラグについての説明が表示されます (次の例を参照)。metadb(1M) のマニュアルページを参照してください。
# metadb -i
        flags           first blk       block count
     a m  p  luo        16              8192            /dev/dsk/c0t0d0s7
     a    p  luo        8208            8192            /dev/dsk/c0t0d0s7
     a    p  luo        16400           8192            /dev/dsk/c0t0d0s7
     a    p  luo        16              8192            /dev/dsk/c1t3d0s1
      W   p  l          16              8192            /dev/dsk/c2t3d0s1
     a    p  luo        16              8192            /dev/dsk/c1t1d0s3
     a    p  luo        8208            8192            /dev/dsk/c1t1d0s3
     a    p  luo        16400           8192            /dev/dsk/c1t1d0s3
 r - replica does not have device relocation information
 o - replica active prior to last mddb configuration change
 u - replica is up to date
 l - locator for this replica was read successfully
 c - replica's location was in /etc/lvm/mddb.cf
 p - replica's location was patched in kernel
 m - replica is master, this is replica selected as input
 W - replica has device write errors
 a - replica is active, commits are occurring to this replica
 M - replica had problem with master blocks
 D - replica had problem with data blocks
 F - replica had format problems
 S - replica is too small to hold current data base
 R - replica had device read errors
 | 
状態表示の後にすべてのフラグの説明が表示されます。デバイス名の前の文字はデバイスの状態を示します。大文字は障害状態を、小文字は「Okay」状態を示します。
Solaris ボリュームマネージャ構成を保守するために、状態データベースの複製を削除しなければならない場合があります。たとえば、ディスクドライブを交換する場合、ドライブを取り外す前に、状態データベースの複製を削除します。そうしないと、Solaris ボリュームマネージャからエラーが報告されます。
スーパーユーザーになります。
次のどちらかの方法で状態データベースの複製を削除します。
Solaris 管理コンソール内の「拡張ストレージ」から「状態データベースの複製 (State Database Replicas)」ノードを開いて、存在するすべての状態データベースの複製の状態を表示します。次に、削除する複製を選択してから「編集 (Edit)」、「削除 (Delete)」の順に選択して複製を削除します。詳細は、オンラインヘルプを参照してください。
次の形式の metadb コマンドを実行します。
# metadb -d -f ctds-of-slice  | 
状態データベースの複製の削除を指定します。
複製が存在しなくても、強制的に操作を実行することを指定します。
複製が格納されているコンポーネント名を指定します。
削除したい状態データベースの複製が格納されているすべてのスライスを指定する必要があります。詳細は、metadb(1M) のマニュアルページを参照してください。
# metadb -d -f c0t0d0s7  | 
この例では、スライスから最後の複製を削除します。
システム上にある最後の複製を強制的に削除するには、-f オプションを指定する必要があります。