名前 | 形式 | 機能説明 | 使用例 | ファイル | 関連項目 | 制限事項 | 注意事項
/etc/lvm/md.tab /etc/lvm/md.cf
/etc/lvm/md.tab は、バッチに類似したモードでメタデバイス、ホットスペア集合、メタデバイス状態データベースの複製を構成するために metainit(1M) および metadb(1M) によって使用されるファイルです。Solaris ボリュームマネージャは、/etc/lvm/md.tab ファイルには構成情報を格納しません。 以下のコマンドを使用すると、このファイルを作成できます。
metastat -p > /etc/lvm/md.tab |
md.tab ファイルを使用するときには、ファイル内に指定するそれぞれのメタデバイス、ホットスペア集合、または状態データベースの複製は、一意なエントリである必要があります。エントリには以下のものを含むことができます。単純メタデバイス (ストライプ、連結、連結ストライプ) ミラー、ソフトパーティション、RAID5 メタデバイス、ホットスペア集合、状態データベースの複製。md.tab にはユーザーが入力したエントリだけが含まれるので、システム上である時点のメタデバイス、ホットスペア集合、複製の現在の構成についてはこのファイルを信用しないでください。
タブ、スペース、コメント (# 記号で指定) と行継続子 (バックスラッシュと改行文字を組み合わせたもの) を使用できます。
一般に、メタデバイスは metainit コマンド行で指定した情報に従って設定します。同様に、状態データベースの複製は metadb コマンドで設定します。
コマンド行を使用する代わりに、md.tab ファイルを使用することもできます。メタデバイスと状態データベースの複製は、任意の順序で md.tab ファイルに指定でき、metainit コマンドと metadb コマンドを使用してバッチに類似したモードで起動されます。
md.tab ファイルを編集する場合には、各行で 1 つの完結した構成エントリを指定します。メタデバイスは metainit コマンドで要求されるのと同じ構文を使用して定義します。次に、-a オプションを指定して md.tab ファイルにあるすべてのメタデバイスを有効にするか、または特定の構成エントリに対応するメタデバイス名を指定して metainit コマンドを実行します。
metainit は、-a および -n 両方のフラグを使用して metainit が実行された場合は、既に作成されていると仮定されるボリュームの状態を維持しません。md.tab ファイルの最初の行でデバイス d0 を作成して、後ろの行で d0 の存在を仮定している場合、metainit -a を実行すると、成功する場合がありますが、metainit -an を実行すると、後ろの行は失敗します。
状態データベースの複製は以下のように /etc/lvm/md.tab ファイルに定義されます。mddb number options [ slice... ]。mddb number は、mddb という文字列の後ろに、状態データベース複製を識別する 2 桁以上の番号を追加したものです。slice には、物理スライスを指定します。以下に例を示します。mddb05 /dev/dsk/c0t1d0s2。 /etc/lvm/md.cf は障害からの回復用に使用される構成のバックアップです。ボリュームマネージャ構成が変更されると、いつでもこのファイルは自動的に更新されます (ホットスペアが発生するときを除きます)。このファイルを直接編集してはいけません。
# # (4 台のディスクの連結) # d7 4 1 c0t1d0s0 1 c0t2d0s0 1 c0t3d0s0 1 c0t4d0s0
数値 4 は、この連結に 4 つの独立したストライプがあることを 示しています。各ストライプは 1 つのスライスで構成されているので、各スライスの最初に数値 1 が示されています。上記のすべてのデバイスの最初のディスクセクターには、ディスクラベルが含まれています。デバイス /dev/dsk/c0t2d0s0、/dev/dsk/c0t3d0s0、/dev/dsk/c0t4d0s0 のラベルを保存するために、連結の境界を越えてアクセスを割り当てるときには、メタディスクドライバがこれらのディスクの少なくとも最初のセクターをスキップする必要があります。最初のセクターだけをスキップすると、ディスクのジオメトリが不規則になるので、ディスクの最初のシリンダ全体がスキップされます。このため、上位のファイルシステムソフトウェアによってブロックの割り当てが最適化できます。
この例は、2 つのストライプで構成されるメタデバイス /dev/md/dsk/d15 を示しています。
# # (2 つのディスクで構成されるストライプ) # d15 1 2 c0t1d0s2 c0t2d0s2 -i 32k
数値 1 は、1 つのストライプが作成されることを示しています。このストライプは 2 つのスライスで構成されるため、その後に数値 2 が続きます。オプションの -i の後ろには 32k が指定され、飛び越しサイズが 32 キロバイトになることが示されます。飛び越しサイズが指定されなかった場合には、ストライプはデフォルト値の 16 キロバイトを使用します。
この例では、3 台のディスクの 2 つのストライプの連結で構成されるメタデバイス /dev/md/dsk/d75 を示しています。
# # (それぞれ 3 台のディスクで構成される 2 つのストライプの連結) # d75 2 3 c0t1d0s2 c0t2d0s2 c0t3d0s2 -i 16k \ 3 c1t1d0s2 c1t2d0s2 c1t3d0s2 -i 32k
最初の行では、-i とその後ろの 16k でストライプの飛び越しサイズが 16 キロバイトであることを指定しています。2 番目の組み合わせは、ストライプの飛び越しサイズが 32 キロバイトになることを指定しています。2 番目の組み合わせが 32 キロバイトを指定していなければ、この組み合わせはデフォルトの飛び越し値 16 キロバイトを使用します。3 台のディスクの各組み合わせのブロックは、3 台のディスクにまたがって飛び越しされます。
この例は、3 つのサブミラーで構成されている 3 面ミラー /dev/md/dsk/d50 を示します。このミラーには、既存のデータは含まれていません。
# # (ミラー) # d50 -m d51 d51 1 1 c0t1d0s2 d52 1 1 c0t2d0s2 d53 1 1 c0t3d0s2
この例では、最初に -m オプションを使用して 1 面ミラーが定義されます。この 1 面ミラーは、サブミラー d51 で構成されます。ほかの 2 つのサブミラー d52 と d53 は、 metattach コマンドを使用して後で追加されます。この例の読み取りおよび書き込みのデフォルトオプションでは、すべてのサブミラーに対して、読み取りはラウンドロビン (巡回的) に処理され、書き込みは並列処理されます。したがって、/etc/lvm/md.tab ファイル内でミラーを定義する順序は、重要でありません。
この例は、3 つのスライスで構成される RAID5 メタデバイス d80 を示します。
# # (RAID デバイス) # d80 -r c0t1d0s1 c1t0d0s1 c2t0d0s1 -i 20k
この例で、RAID5 メタデバイスは -r オプションによって飛び越しサイズ 20 キロバイトで定義されます。データとパリティーセグメントは、c0t1d0s1、c1t0d0s1、c2t0d0s1 のスライスにまたがってストライプされます。
この例は、9G バイトのディスク全体を再フォーマットするソフトパーティション d85 を示しています。状態データベースの複製用に予約されている領域である、スライス 7 が保持する数メガバイトを除き、スライス 0 はディスクをすべて占有します。スライス 7 は最小 4M バイトですが、ディスクのジオメトリに応じて大きくすることもできます。d85 は c3t4d0s0 上にあります。
ドライブがディスクセットに追加される時にドライブのパーティションが再設定されるのは、スライス 7 が正しく設定されていない場合のみです。各ドライブのわずかな一部が、ボリュームマネージャで使用するためスライス 7 で予約されます。各ドライブの残り容量は、スライス 0 に配置されます。パーティションを再設定した後、ディスク上の既存のデータは失われます。ディスクセットにドライブを追加した後、必要に応じてドライブをパーティションを再設定することができます。しかし、スライス 7 は、移動または削除したり、ほかのパーティションと重複させないでください。
ソフトパーティションのオフセットと範囲を手入力で指定することはお勧めできません。この例は、ファイルが自動的に生成された場合にファイルをよりよく理解できるよう、また完全を期すために含まれています。
# # (ソフトパーティション) d85 -p -e c3t4d0 9g
この例では、ソフトパーティションの作成と、状態データベースの複製に必要な容量で、ディスク c3t4d0 の 9G バイトすべてを占有しています。
この例では、2 つの範囲を持つソフトパーティションの再作成に使用されるコマンドを示します。2 つの範囲は、オフセット 20483 から始まり 20480 ブロックの幅がある第 1 の範囲と、135398 から始まり 20480 ブロックの幅がある第 2 の範囲です。
# # (ソフトパーティション) # d1 -p c0t3d0s0 -o 20483 -b 20480 -o 135398 -b 20480
この例は、3 つのサブミラーと 3 つのホットスペア集合で構成される 3 面ミラー /dev/md/dsk/d10 を示します。
# # (ミラーとホットスペア) # 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 オプションで 1 面ミラーが定義されます。サブミラーは、metattach(1M) コマンドによって、後で追加します。使用するホットスペア集合は、-h オプションによってサブミラーに結合します。この例では、3 台のディスクがホットスペア集合に定義され、別々のホットスペアとして使用されています。ホットスペア集合には、hsp001、hsp002、hsp003 という名前が付けられています。コンポーネントごとにホットスペアを 1 つ割り当てるのではなく、3 つのホットスペア集合を設定すると、ハードウェアの可用度を最大にすることができます。このように構成すると、最初に最も適したホットスペアが選択されるように指定することができ、利用可能なホットスペアを増やすことによってディスクの使用効率が高くなります。エントリの末尾には、使用するホットスペアを定義します。ホットスペアとメタデバイスを対応付けるために md.tab ファイルを使用するときには、ホットスペア集合を対応の前に存在させる必要はありません。md.tab ファイルを使用する場合、ボリュームマネージャがメタデバイスやホットスペアを作成する順序を考慮します。
この例では、3 台のディスクを持つサーバー上で、初期状態データベースと 3 つの複製を設定します。
# # (状態データベースと複製) # mddb01 -c 3 c0t1d0s0 c0t2d0s0 c0t3d0s0
この例では、3 つの状態データベースの複製が 3 つのスライスにそれぞれ保存されます。上記のエントリを /etc/lvm/md.tab ファイルに入力した場合は、-a オプションと -f オプションの両方を指定して metadb コマンドを実行してください。たとえば、以下のコマンドを入力すると、3 つのスライス上に 1 つの状態データベースの複製が作成されます。
# metadb -a -f mddb01
mdmonitord(1M), metaclear(1M), metadb(1M), metadetach(1M), metahs(1M), metainit(1M), metaoffline(1M), metaonline(1M), metaparam(1M), metarecover(1M), metarename(1M), metareplace(1M), metaroot(1M), metassist(1M), metaset(1M), metastat(1M), metasync(1M), metattach(1M), md.cf(4), mddb.cf(4), attributes(5), md(7D)
ミラー化を再帰的に行うことはできません。つまり、ミラーを別のミラーの定義で使用することはできません。
また、ロギングを再帰的に行うこともできません。
ストライプと RAID5 メタデバイスに含まれるものは、スライスまたはソフトパーティションだけでなければなりません。
RAID5 メタデバイスをミラー化することはできません。
ソフトパーティションはスライス上に直接構築したり (アプリケーションにより直接アクセス可能な) 最上位レベルに配置したりできますが、上下にその他のメタデバイスが存在する位置に配置することはできません。
トランスメタデバイスは UFS ロギングに置き換えられています。既存のトランスデバイスはロギングを行わず、基礎デバイスにデータを直接渡します。UFS ロギングの詳細については、mount_ufs(1M) を参照してください。