この章では、/etc/lvm/md.tab ファイルの使い方と /etc/lvm/md.cf ファイルの目的について解説します。次の表を参考にして、必要な箇所を探してください。
/etc/lvm/md.tab は、metainit(1M)、metahs(1M)、metadb(1M) コマンドが入力ファイルとして使用する ASCII ファイルです。 /etc/lvm/md.tab ファイルを使用して、メタデバイス、ホットスペア集合、状態データベースの複製を (コマンド行や DiskSuite ツールを使用せずに) バッチ処理で作成することができます。このファイルを編集したら、 metainit(1M)、metahs(1M)、metadb(1M) コマンドによって、ファイルで定義したメタデバイス、ホットスペア集合、状態データベースの複製を有効にします。
/etc/lvm/md.tab ファイルを編集するときは、metainit(1M)、 metahs(1M)、metadb(1M) コマンドの構文を使用して、各行に 1 つの完全な構成エントリを指定します。
ファイルを編集したら、metainit(1M) コマンドで /etc/lvm/md.tab ファイルに定義されているメタデバイスを有効にします。metainit(1M) コマンドで -a オプションを使用すると、ファイルに定義されているすべてのメタデバイスが有効になります。-a オプションを使用するかわりに、ファイルに定義されている特定のメタデバイス名を指定することもできます。
DiskSuite は、/etc/lvm/md.tab ファイルに構成情報を書き込みません。 手作業で /etc/lvm/md.tab ファイルを編集してから、 metainit(1M)、metahs(1M)、metadb(1M) コマンドを実行して、DiskSuite オブジェクトを作成してください。
以下の節では、md.tab ファイルを使用して状態データベースの複製、メタデバイス、ホットスペア集合を作成するための方法を説明します。詳しい説明は、 md.tab(4) マニュアルページを参照してください。
この例では、3 つのディスクを持つサーバー上で初期状態データベースを設定しています。
# # (状態データベースと複製) # mddb01 -c 3 c0t1d0s0 c0t2d0s0 c0t3d0s0 |
このファイルエントリは、3 つのスライスのそれぞれに 3 つの状態データベースの複製を作成します。mddb01 は、メタデバイス状態データベースを識別します。-c 3 は、各スライスに状態データベースの複製を 3 つ作成することを指定します。 metadb(1M) コマンドを実行すると、このエントリが有効になります。
この例では、2 つのスライスを持つストライプ方式メタデバイス /dev/md/dsk/d15 を作成しています。
# # (2 つのディスクで構成されるストライプ) # d15 1 2 c0t1d0s2 c0t2d0s2 -i 32k |
数字の 1 は、シングルストライプ (1 つのストライプから構成されるストライプ方式メタデバイス) を作成することを指定します。数字の 2 は、ストライプのスライス数を指定します。-i 32k は、飛び越し値を 32 K バイトに設定します (デフォルトの飛び越し値は 16 K バイトです) 。
この例では、4 つのスライスを持つ連結方式メタデバイス /dev/md/dsk/d7 を作成しています。
# # (4 つのディスクの単純連結) # d7 4 1 c0t1d0s0 1 c0t2d0s0 1 c0t3d0s0 1 c0t4d0s0 |
数字の 4 は、4 つのストライプから構成される連結方式メタデバイスを作成することを指定します。各ストライプは 1 つのスライスから構成されるため、各スライスに対しては 1 を指定しています。
連結方式メタデバイスの先頭のディスクセクターには、ディスクラベルが書き込まれます。/dev/dsk/c0t2d0s0、/dev/dsk/c0t3d0s0、/dev/dsk/c0t4d0s0 のディスクラベルを守るために、DiskSuite はこれらのディスクの先頭シリンダをスキップしています。こうしておくことで、上位レベルのファイルシステムソフトウェアが、ブロック割り当てを正しく最適化できるようになります。
この例では、連結されている 2 つのストライプから構成されるメタデバイス /dev/md/dsk/d75 を作成しています。
# # (3 つのディスクで構成される 2 つのストライプの単純連結) # d75 2 3 c0t1d0s2 c0t2d0s2 c0t3d0s2 -i 16k ¥ 3 c1t1d0s2 c1t2d0s2 c1t3d0s2 -i 32k |
-i 16k は、最初のストライプの飛び越し値を 16 K バイトに設定します。-i 32k は、2 番目のストライプの飛び越し値を 32 K バイトに設定します。 各ストライプのアドレスブロックは、ストライプを構成する 3 つのディスクに分散 (飛び越し) されます。
この例では、1 面ミラー /dev/md/dsk/d50 と、後からミラーに接続して 3 面ミラーを作成するための 2 つの単純連結を作成しています。ミラーには何もデータは書き込まれません。
# # # (ミラー) # d50 -m d51 d51 1 1 c0t1d0s2 d52 1 1 c0t2d0s2 d53 1 1 c0t3d0s2 |
-m は、サブミラー d51 で構成される 1 面ミラーを作成します。他の 2 つのサブミラー (d52 とd53) は、後で mattach(1M) コマンドを使用してミラーに接続しなければなりません。この例のデフォルトの読み書きオプションは、読み取りオプションがラウンドロビン、書き込みオプションが並列です。
この例では、ロギングデバイスとマスターデバイスから構成されるトランスメタデバイス /dev/md/dsk/d1 を作成しています。
# # (トランス) # d1 -t d10 d20 d10 -m d11 d11 1 1 c0t1d0s2 d12 1 1 c0t2d0s2 d20 -m d21 d21 1 1 c1t1d0s2 d22 1 1 c1t2d0s2 |
-m は、 2 つの 1 面ミラー d10 および d20 を作成します。-t は、d10 をマスターデバイス、d20 をロギングデバイスとして作成します。後で d10 および d20 に対して metattach(1M) コマンドを実行することによって、サブミラー d12 および d22 をミラーに接続します。
この例では、3 つのスライスから構成される RAID5 メタデバイス d80 を作成しています。
# # (RAID デバイス) # d80 -r c0t1d0s1 c1t0d0s1 c2t0d0s1 -i 20k |
-r は、RAID5 メタデバイスを作成します。-i は、飛び越し値を 20 K バイトに設定します。DiskSuite は、データとパリティ情報をスライス c0t1d0s1、 c1t0d0s1、c2t0d0s1 上でストライプ化します。元の RAID5 メタデバイスにスライスを連結するには、metattach(1M) コマンドを使用します。
この例では、1 面ミラー /dev/md/dsk/d10 と、後でホットスペア集合に接続して 3 面ミラーを作成するための 2 つの単純連結を作成しています。そして、 3 つのホットスペア集合を作成して、サブミラーに関連付けます。
# # (ミラーとホットスペア) # d10 -m d20 d20 1 1 c1t0d0s2 -h hsp001 d30 1 1 c2t0d0s2 -h hsp002 d40 1 1 c3t0d0s2 -h hsp003 hsp001 c2t2d0s2 c3t2d0s2 c1t2d0s2 hsp002 c3t2d0s2 c1t2d0s2 c2t2d0s2 hsp003 c1t2d0s2 c2t2d0s2 c3t2d0s2 |
-m は、サブミラー d20 で構成される 1 面ミラーを作成します。他の 2 つのサブミラー (d30 とd40) は、後で mattach(1M) コマンドを使用してミラーに接続しなければなりません。-h は、どのホットスペア集合をどのサブミラーに関連付けるかを指定します。ホットスペアとして使用されるディスクは 3 つで、それぞれが 3 つのホットスペア集合 (hsp001、hsp002、hsp003) に関連付けられます。
/etc/lvm/md.tab ファイルを使用すれば、ホットスペア集合の作成とメタデバイスへの関連付けを同時に行えます。
/etc/lvm/md.cf ファイルは、ローカルディスクセット用の DiskSuite 構成のバックアップファイルです。故障が発生した場合には、md.cf ファイルを使用して復旧してください。構成を変更すると (ホットスペアの交換を除く) 、md.cf ファイルが自動的に更新されます。md.cf ファイルを直接編集することはありません。メタデバイス状態データベースの情報が失われても、その後でメタデバイスを変更したり作成したりしていなければ、md.cf ファイルを使用して復旧することができます。詳しい説明は、『Solstice DiskSuite 4.2.1 ユーザーズガイド』を参照してください。