名前 | 形式 | 機能説明 | オプション | 使用例 | ファイル | 終了ステータス | 属性 | 関連項目 | 注意事項
/sbin/metadb -h
/sbin/metadb [-s setname]
/sbin/metadb [-s setname] -a [-f] [-k system-file] mddbnn
/sbin/metadb [-s setname] -a [-f] [-k system-file] [-c number] [-l length] slice...
/sbin/metadb [-s setname] -d [-f] [-k system-file] mddbnn
/sbin/metadb [-s setname] -d [-f] [-k system-file] slice...
/sbin/metadb [-s setname] -i
/sbin/metadb [-s setname] -p [-k system-file] [mddb.cf-file]
metadb コマンドは、メタデバイス状態データベースの複製を作成または削除します。状態データベースの複製は、専用スライス上、あるいはあとで単純メタデバイス (連結またはストライプ)、または RAID5 メタデバイスの一部になるスライス上に作成できます。状態データベースの複製は、ファブリック接続ストレージ、SAN、またはシステムに直接接続されていないほかのストレージに格納しないでください。複製は、ブートプロセス中、従来の SCSI ドライブまたは IDE ドライブと同じ時点で利用できるストレージに格納する必要があります。注意事項を参照
メタデバイス状態データベースには、システム上のすべてのメタデバイスとホットスペア集合の構成情報が含まれています。さらに、メタデバイス状態データベースは、メタデバイスとホットスペア集合、およびそのコンポーネントの現在の状態を保存し続けています。Solaris ボリュームマネージャは、構成や状態が変化すると、メタデバイス状態データベースを自動的に更新します。状態の変化の例としては、サブミラーで障害が発生する場合が挙げられます。構成の変化の例としては、新しいメタデバイスの作成が挙げられます。
メタデバイス状態データベースは、実際には、データベースを複製した複数のコピーの集合です。それぞれのコピーは複製と呼ばれ、正確さを保証するために厳密な一貫性検査が行われます。
複写されたデータベースには、どのデータベースが有効で正確なデータを持っているかを判断する点において、複写に伴った問題点があります。この問題点を解決するために、ボリュームマネージャは多数決アルゴリズムを使用しています。このアルゴリズムでは、データベース複製の過半数が利用可能な状態にないと、複製を有効と判断することができません。このアルゴリズムでは、少なくとも最初に 3 つの複製を作成することを強くお勧めします。3 つの複製があり、そのうち少なくとも 2 つが使用可能であれば合意は成立します。複製が 1 つしかない場合にシステムがクラッシュすると、メタデバイス構成データのすべてが失われる可能性があります。
多数決アルゴリズムは、ほとんどの最新のデータが実際には 1 つの複製にある場合でも、多数決で決まらなければ失敗するという点で保守的であるといえます。このアプローチによって、どのようにして起きた失敗かに関わらず、古くなったデータを誤って使用することがなくなります。多数決アルゴリズムでは、システムが半数以上の複製で稼動しつづけていること、システムは複製の半数以上が使用できない状態であると混乱してしまうこと、システムは全複製の半数以上がないとリブートしないことを考慮に入れてください。
オプションを指定せずに metadb コマンドを実行すると、メタデバイス状態データベースの状態が簡単に出力されます。出力されるフラグフィールドについての説明を参照するには、metadb -i を実行してください。
新しく状態データベースを作成するには、 metadb コマンドに -a オプションと -f オプションを指定し、その後に複製を置くスライスを指定します。-a オプションによって、(この場合は初期の) 状態データベースの複製が作成されます。-f オプションによって、状態データベースが存在しない場合は作成されます。(状態データベースが存在しない場合だけ、-a オプションと -f オプションを同時に指定してください。)
初期に作成された複製に加えて、追加の複製をシステムに加えることもできます。追加の複製は既存の複製と同じ情報を持ち、構成情報が失われるのを防ぎます。構成情報が失われると、メタデバイスが動作しなくなります。追加の複製を作成するには、metadb -a コマンドの後に複製を置くスライス名を指定します。同じスライスに置く複製はすべて同時に作成してください。
同一のスライス上にあるすべての複製を削除するには、metadb -d コマンドの後にスライス名を指定します。
metadb -i を実行すると、メタデバイス状態データベースの状態が表示されます。ハードウェア障害が発生したときや、状態データベースが追加または削除されたときに、状態データベースの状態が変わります。
エラー状態にある複製を修正するには、いったんその複製を削除してから追加し直します。
メタデバイス状態データベース (mddb) には、該当するディスクセット (ローカルディスクセットまたは共有ディスクセット) の複製の位置の一覧も含まれています。
ローカルセットの mddb には、該当するノードが属する各共有ディスクセットのホスト情報とドライブ情報も含まれている場合があります。ローカルセットの mddb に保存されているディスクセットのホスト情報とドライブ情報を除くと、ローカルディスクセットの mddb と共有ディスクセットの mddb は機能的に同じです。
mddb が書き込まれるのは、ミラーの再同期中、コンポーネントの障害発生中、あるいは構成の変更中です。1 つの複製に構成の変更または障害が発生する可能性もあり (mddb の削除またはディスクの障害)、ほかの複製はこの障害情報により更新されます。
-h と -i 以外のオプションを実行するには、スーパーユーザー になる必要があります。
metadb コマンドで使用できるオプションを以下に示します。ただし、すべてのオプションが同じコマンド行で使用できるとは限りません。サポートされているオプションの使用方法については、「形式」を参照してください。
新しいデータベースデバイスを追加します。/kernel/drv/md.conf ファイルが新しい情報に自動的に更新され、/etc/lvm/mddb.cf ファイルも更新されます。複製を /etc/lvm/md.tab ファイルに定義し、コマンド行で、mddbnn という形式で名前を指定する方法でも複製を作成すること ができます (nn には、/etc/lvm/md.tab ファイルで定義した 2 桁の番号を指定します)。/etc/lvm/md.tab ファイルで複製を設定する方法については、md.tab(4) マニュアルページを参照してください。
各デバイスに置く複製の数を指定します。デフォルト値は 1 です。
指定されたスライス slice 上にある複製をすべて削除します。/kernel/drv/md.conf ファイルが新しい情報に自動的に更新され、/etc/lvm/mddb.cf ファイルも更新されます。
最初に状態ファイルを作成するときに使用します。このオプションは、強制的に全ての複製を削除する (削除により最低限必要な個数である 1 個を下回る数にする) ときにも使用します。(-a オプションと -f オプションは、状態データベースが存在しないときにだけ同時に指定できます。)
使用方法に関するメッセージを表示します。
複製の状態を表示します。-i オプションの出力では、デバイス名の前に状態データベースの状態を示す文字を表示します。次に、複製の状態に続いて表示される文字の意味を示します。
この複製には、デバイス ID が対応付けられていません
この複製は、mddb 構成の最後の変更より前にアクティブでした
この複製は最新です
この複製の位置情報は正常に読み込まれました
この複製の位置は /etc/lvm/mddb.cf に記述されていました
この複製の位置はカーネルでパッチされました
この複製はマスターです。つまり、これは入力として選択された複製です
この複製には、デバイス再配置情報がありません
この複製には、タグ付きデータが関連付けられています
この複製で、デバイス書き込みエラーが発生しました
この複製はアクティブです。コミットが行われています
この複製には、マスターブロックに問題がありました
この複製には、データブロックに問題がありました
この複製には、フォーマットに問題がありました
この複製は小さすぎて、現在のデータベースを格納できません
この複製で、デバイス読み取りエラーが発生しました
この複製に関連付けられているタグ付きデータは無効です
複製情報を書き込むカーネルファイルの名前を指定します。デフォルトの system-file は、/kernel/drv/md.conf です。このオプションは、ローカルディスクセットに対してのみ使用します。
各複製のサイズを指定します。デフォルトの length は 8192 ブロックであり、ほとんどのデバイス構成に適しています。128 ブロックより小さい複製のサイズを指定することお勧めしません。
/etc/lvm/mddb.cf ファイルの情報に基づき、システムファイル (/kernel/drv/md.conf) を更新します。このオプションは通常、新しく作成したシステムファイルをはじめて起動する前に更新するために使用します。実行するシステム以外で新しいシステムが作成された場合は、引数にローカルマシン上の mddb.cf の位置を指定します。更新対象となるシステムファイルは、-k オプションで変更できます。このオプションは、ローカルディスクセットに対してのみ使用します。
metadb コマンドを実行するディスクセットの名前を指定します。このオプションを使用すると、指定したディスクセット内で metadb が実行されます。このオプションを指定しない場合は、ローカルデータベースの複製に対して metadb が実行されます。
/dev/dsk/c0t0d0s3 などの物理スライス (パーティション) の論理名を指定します。
以下は、新しいシステムにはじめて状態データベースの複製を作成する例です。
# metadb -a -f c0t0d0s7 c0t1d0s3 c1t0d0s7 c1t1d0s3 |
-a オプションと -f オプションで、最初のデータベースと複製を強制的に作成します。これによって、システムの有効利用をするために、これらと同じスライスを使用してメタデバイスを作成できます。
この例は、現在ボリュームマネージャが稼動しているシステムに接続された 2 つの新しいディスク上に 2 つの複製を追加する方法を示しています。
# metadb -a c0t2d0s3 c1t1d0s3 |
この例は、システムから 2 つの複製を削除する方法を示しています。この複製は、/dev/dsk/c0t2d0s3 上と /dev/dsk/c1t1d0s3 上に設定されていたものとします。
# metadb -d c0t2d0s3 c1t1d0s3 |
複製をすべて削除することもできますが、メタデバイスが存在している場合はすべてを削除しないでください。すべての複製を削除すると、既存のメタデバイスが使用不能になります。
メタデバイス状態データベースの複製の位置を記録するファイル
メタデバイスデータベースを設定する作業領域ファイル
システムのすべてのメタデバイスのデータベース複製情報。Solaris ボリュームマネージャ構成情報も含まれています。
以下の属性については、attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWmdr |
mdmonitord(1M), metaclear(1M), metadetach(1M), metahs(1M), metainit(1m), metaoffline(1M), metaonline(1M), metaparam(1M), metarecover(1M), metarename(1M), metareplace(1M), metaroot(1M), metaset(1M), metassist(1M), metastat(1M), metasync(1M), metattach(1M), md.tab(4), md.cf(4), mddb.cf(4), attributes(5), md(7D)
複製は、ファブリック接続ストレージ、SAN、またはシステムに直接接続されていないほかのストレージに格納することはできません。複製は、ブートプロセス中、従来の SCSI ドライブまたは IDE ドライブと同じ時点で利用できるストレージに格納する必要があります。複製は以下の場所に格納できます:
専用のローカルディスクパーティション
ボリュームの一部になるローカルパーティション
UFS ロギングデバイスの一部になるローカルパーティション
名前 | 形式 | 機能説明 | オプション | 使用例 | ファイル | 終了ステータス | 属性 | 関連項目 | 注意事項