自分でやるSOHOのためのITスキルアップ

 SOHOのためのIT技術情報を連載中
 とにかく自分でやってみよう !!


HOME > SOHO DIY INDEX  > mdadm(8) ver.1.0 man page [日本語] POWERED BY IOSS

資料1: mdadm(8) ver.1.0 man page [日本語]


訳者注:本ドキュメントはmdadm version 1.0のman page[日本語]です。最新版のmdadm version 1.5のman page[日本語]は ここ にあります。

MDADM(8)

名 称

mdadm - LinuxソフトウェアRAID mdデバイスの管理

書 式

mdadm [モード] <RAIDデバイス> [オプション] <RAID構成デバイス(のリスト)>

概 要

RAIDデバイスは2つ以上の実ブロックデバイスを用いて作られた仮想デバイスである。複数のディスクドライブやパーティションをまとめて一つのファイルシステムとして利用することができる。RAIDのレベルによるが、データの記録を冗長化させることができるためディスクの故障によるデータの損失を回避できることが期待できる。

LinuxのソフトウェアRAIDはmd(Multiple Devices)デバイスドライバとして実装されている。 現状LinuxではリニアmdデバイスによるRAID0(ストライピング),RAID1(ミラーリング),そしてRAID4とRAID5がサポートされている。

最近のカーネル(2002年現在)ではMULTIPATHというモードもサポートされるようになったが、このmdadmではまだこのモードを完全にはサポートできていない。 mdadmはmdデバイスの作成,管理,そしてモニタを行うためのプログラムである。機能的には既存のraidtoolsと似ているが、mdadmには次のような特徴がある。

  • mdadmはコマンドの集合ではなく一つのプログラムである
  • mdadmではほとんどの機能が設定ファイル無しで実行できる。また設定ファイルの管理も行うことができる。
  • mdadmはraidtoolsでは得られないアレイに関する様々な情報を表示することができる。(Query,Detail,Examineなどによる)

モード

mdadmには次の6つの主操作モードがある

Assemble
以前存在していたアレイの構成情報を元に一つのアクティブアレイを作る。構成要素は明示的に指定することも、検索することもできる。mdadmは構成要素をチェックした上でアレイを作成するが、お望みなら偽のスーパーブロック情報を使って欠陥のあるアレイを作ることもできる。
Build
デバイスごとのスーパーブロックをもたない古いタイプのアレイ(レガシーアレイ)を作る。
Create
デバイスごとのスーパーブロックをもつアレイを作る
Manage
既にあるアレイについて、スペアデバイスを追加したり、欠陥のあるデバイスをアレイから外すなどの管理を行う。
Misc
このモードは個々のデバイスに対して様々な操作を行う。例えばMDスーパーブロックの調査,スーパーブロックの消去,アクティブアレイの停止など。
Follow or Monitor
一つ以上のmdデバイスをモニタし、状態変化を検出して指定したアクションを起こさせる。

オプション

オプションは次の通り。

-A, --assemble
以前存在していたアレイを構成する
-B, --build
スーパーブロックをもたないアレイ(レガシーアレイ)を作る
-C, --create
アレイの新規作成
-Q, --query
mdデバイスやmdアレイの構成要素についての情報を表示する。
-D, --detail
一つまたは複数のデバイスの詳細な情報を表示する。
-E, --examine
一つまたは複数のデバイスのスーパーブロックの内容を表示する。
-F, --follow, --monitor
モニタモードを選択する。
-h, --help
ヘルプメッセージを表示する。このオプションに続いてモードを付加することでそのモードについてのヘルプメッセージを表示する。
-V, --version
mdadmのバージョンを表示する。
-v, --verbose
バーボーズ表示。より多くの情報を表示する。
-b, --brief
概要表示。これは --detail--examineと共に用いられる。
-f, --force
特定の操作をより強制的に行う。正確な意味は各モードのオプションを参照のこと。
-c, --config=
コンフィグファイルの指定。デフォルトは /etc/mdadm.conf
-s, --scan
不足情報を補うためにコンフィグファイルか /proc/mdstat をスキャンする。このオプションはmdadmに対して、不足する情報・・・例えばアレイの構成要素であるデバイス,アレイデバイス,アレイのID,アラート通知先などをコンフィグファイルである/etc/mdadm.confから得ることを許可する。
ただしMISCモードにおいて--detailまたは--stop オプションと一緒に用いられたときは、アレイのリストを /proc/mdstat から得る。

Create またはBuildモードのオプション:

-c, --chunk=
処理単位(チャンクサイズ)をキロバイトで指定。デフォルトは64。
--rounding=
リニアアレイにおける丸め係数を指定 (=チャンクサイズ)。
-l, --level=
RAIDのレベルを指定。指定できる値は次の通り。
Linear, raid0, 0, stripe, raid1, 1, mirror, raid4,4, raid5, 5, multipath, mp
これらのいくつかは同じ意味である。RAIDの新規作成時は最初の4つのみが有効である。
-p, --parity=
RAID5のパリティ生成アルゴリズムを指定する。指定できる値は次の通り。
left-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs
デフォルトはleft-symmetricである。
--layout=
--parityと同じ。
-n, --raid-devices=
アレイ内のアクティブなデバイスの数。
-x, --spare-devices=
元のアレイに対するスペア(剰余)デバイスの数。スペアは後から追加したり外したりできる。
-z, --size=
RAID1/4/5における各ドライブの使用容量をキロバイトで指定。これはチャンクサイズの倍数でなければならない。またドライブの最終部にスーパーブロックのためのエリア約128Kbを残しておく必要がある。
もしこれが指定されないとドライブの中の最小のサイズが用いられる。またドライブ間のサイズの差異が1%以上あると警告が出される。

Assembleモードのオプション:

-u, --uuid=
アレイのuuidを指定。このuuidをもたないデバイスはアレイ作成の対象外となる。
-m, --super-minor=
作成されるアレイのマイナーデバイス番号を指定。この番号を持たないデバイスはアレイ作成の対象外となる。アレイが/dev/md1として作られると、全てのスーパーブロックはマイナー番号1という値をもつようになる。これは後でアレイが/dev/md2として作られたとしても変わらない。
-f, --force
スーパーブロックが古くてもアレイの作成を行う
-R, --run
アレイを構成するドライブの数が必要数に満たなくてもアレイを起動させる。通常ドライブの数が足りない場合で --scan が指定されない場合はアレイは作られても起動はしない。このオプションにより、とにかく起動させることができる。

Manage modeモードのオプション:

-a, --add
指定されたデバイス(群)をアレイを止めずに追加する(hotadd)
-r, --remove
指定されたデバイス(群)を削除する。対象デバイスはアクティブであってはならない。つまり異常が見つかって切り離されたデバイスかスペアデバイスなどに限る。
-f, --fail
指定されたデバイス(群)に対し、不良であることを示すマークを付ける
--set-faulty
--fail と同じ。

Misc modeモードのオプション:

-R, --run
部分的に構成されたアレイを起動させる。
-S, --stop
アレイを非アクティブにし、すべてのリソースを開放する。
-o, --readonly
アレイに読取り専用マークを付ける
-w, --readwrite
アレイに読書き可マークを付ける
--zero-superblock
デバイスが有効なmdスーパーブロックをもつ場合、その内容をゼロで上書きする。-fオプションを付けると、スーパーブロックの正常・異常にかかわらずスーパーブロックに相当する部分をゼロで上書きする。

Monitor modeモードのオプション:

-m, --mail
アラートメールの送付先を指定。
-p, --program, --alert
イベントを検出した時に起動するプログラムを指定。
-d, --delay
mdadmがmdアレイの状態をポーリングする周期を秒で指定。

ASSEMBLE モード

Usage: mdadm --assemble device options...
Usage: mdadm --assemble --scan options...

既存のアレイ構成要素からアレイ(群)を作成する。このためにはそれぞれのアレイについてmdデバイス,アレイのID,そして構成要素の数を知る必要がある。それにはいくつかの方法がある。

Mdデバイスについては、前もって--scan オプションでスキャンするか、コンフィグファイルから読み取られるかのいずれかの方法で知ることになる。後者の方法では一回のmdadmコマンド発行で複数のmdデバイスを起動させることができる。

アレイのIDについては、--uuid オプションまたは--super-minorオプションで与えられるか、コンフィグファイルから見つけるか、またはコマンドラインのアレイ構成デバイスリストの先頭のデバイスの値を用いるかのいずれかの方法による。

デバイスについては、コマンドラインかコンフィグファイルのいずれかから得られる。正しいIDをもつ正常なスーパーブロックをもつデバイスだけが対象となる。

コンフィグファイルは--config で明示的に指定されるか、--scan が指定されたときに参照される。後者の場合はデフォルトの/etc/mdadm.confが参照される。もし--scan が与えられなかった場合、コンフィグファイルは単にmdアレイのIDを知るためにのみ参照される。

このモードで作成されたアレイは自動的に起動される。しかし --scan が与えられない場合で縮退運転となる場合(アレイを構成するためのデバイスが不足する場合)は、エラーの発生を防止するために起動がかからない。もし起動をかけたい場合は --run をつける。RAID1やRAID5ではこういうケースがありうる。

BUILD モード

Usage: mdadm --build device --chunk=X --level=Y --raid-devices=Z devices

この使い方は --create と似ている。異なるのはBUILD では古いタイプのアレイ・・・すなわちスーパーブロックをもたないアレイを作ることである。このようなアレイは最初にアレイを作った場合も後からアレイを構成した場合も全く変わらない。ただ違うのは後者の場合は、願わくば貴重なデータが残っていてくれることだ。

RAIDレベルは0,raid0,linearのいずれかである。全てのデバイスはコマンドラインで与えられなければならない。アレイの作成が完了すると自動的に起動する。

CREATE モード

Usage: mdadm --create device --chunk=X --level=Y --raid-devices=Z devices

新しいmdアレイを初期化し、新しいデバイスをそれに加え、そして起動する。加えられるデバイスはRAIDスーパーブロックかファイルシステムがあるかどうかがチェックされる。またデバイスの容量の差異が1%を超えていないかどうかもチェックされる。

何らかの矛盾が見つかるとアレイは起動しない。ただし --run が与えらた場合は起動がかかる。

アレイを縮退状態(デバイスの数が不足した状態)で立ち上げたい場合は、missing という単語をデバイス名の代わりに与える。これによりmdadmは対応するスロットを空にしたままにする。

RAID4とRAID5の場合は1スロットの不足のみ許される。またRAID1の場合は最低1台の有効なデバイスがあれば良く、他は不足していても良い。

--create と共に用いられる一般的な管理オプションは次の通りである。

--run
いくつかのデバイスが使用中の可能性があってもアレイを起動する。
--readonly
アレイを読込み専用で起動する。これはまだサポートされていない。

MANAGE モード

Usage: mdadm device options... devices...

個々のデバイスに対し、削除,追加,そして不良と認識させたりすることができる。一つのコマンドラインで複数の操作を指定できる。例えば、

mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 /a /dev/hda1

は、最初にアレイ/dev/md0 を構成する要素である/dev/hda1に不良マークを付け、それからアレイから削除し、最後にスペアとして再追加する。1回のコマンドで操作できるのは一つのmdアレイに限る。

MISC モード

Usage: mdadm options ... devices ...

MISCモードでは異なるデバイスに対する操作を識別するための番号を含むことがある。

可能な操作は次の通り。

--query
指定されたデバイスがアクティブなmdアレイか、mdアレイの構成要素の場合、その状態が調べられ表示される。
--detail
指定されるデバイスはアクティブなmdデバイスであること。mdadmはそのアレイについての詳細情報を表示する。--brief--scan が与えられると、表示される情報は少なくなるが、/etc/mdadm.confに記述するのに都合が良い形式となる。
--examine
指定されるデバイスはmdアレイの構成要素であること。mdadmはそのmdスーパーブロックを読取り、内容を表示する。--brief--scan が与えられると、一つのアレイを構成する複数のデバイスが1つのエントリとしてグループ化された形で報告される。これは/etc/mdadm.confに記述するのに都合の良い形式である。
もしデバイスを指定せずに --scanを与えると、configファイルに記述された全てのデバイスに対する調査が行われる。
--stop
指定されたデバイスが現在使われていない場合に限り、アクティブなmdデバイスを非アクティブにする。
--run
部分的に構成されたアレイをフルにアクティブにする。
--readonly
指定されたデバイスが現在使われていない場合に限り、指定されたアクティブなアレイを読取り専用とする。
--readwrite
読取り専用となっているアレイを読書き可能とする。
--scan
--examine を除く全ての操作においては、操作の対象は/proc/mdstatから読取ったアレイ全てとなる。--examine については、コンフィグファイルに記述された全てのデバイスを対象とする。

MONITOR モード

Usage: mdadm --monitor options... devices...

すべてのmdアレイに対するポーリングを行うことで異常等を検出し、報告させる。このモードにおいてmdadmは監視対象となるアレイが存在する限り、一度起動すると終了しない。このため通常はバックグランドプロセスとして実行される。

またmdadm は故障したアレイにスペアドライブが無い場合、他のアレイのスペアドライブを流用させるようにすることもできる。

コマンドラインにデバイスのリストが与えられていれば、mdadmは指定されたデバイスのみ監視を行う。デバイスの指定が無い場合はコンフィグファイルに記載されたデバイスを対象とする。更に--scan が与えれられると/proc/mdstatから見つけたデバイスも対象として加える。

モニタリング中に何らかのイベントが発生すると、外部プログラムが指定されている場合はそれを起動し、メールアドレスが指定されている場合はそこへアラートメールを送信する。

外部プログラムはイベントが発生するたびに 2 つないし 3 つの引数を与えられて起動される。 1つ目の引数はイベントの名称(下記参照),2 つ目は影響を受けた md デバイス名、そして 3 つ目は対象となるデバイス名である。 3 つ目の引数は、例えばアレイの構成要素であるブロックデバイスの 1 つが故障した場合などに付加される。

--scan が与えられた場合は、外部プログラムかメールアドレスが mdadm のコマンドラインかコンフィグファイルで指定されている必要がある。 どちらにも指定されていない場合は mdadm は監視を行わない。 これに対し、--scanが与えられていない場合は、プログラムやメールアドレスが指定されていなくても監視は行われる。 イベントが起きた場合はその内容を単に標準出力に出力する。

イベントの種類は次の通り:

DeviceDisappeared
いままで組み込まれていたはずの md アレイが無くなった。
RebuildStarted
md アレイの再構築が始まった。
RebuildNN
md アレイの再構築が NN パーセント終わった。 NN は 20,40,60,80 のいずれか。
Fail
アクティブなアレイ構成デバイスの 1 つが不良とマークされた。
FailSpare
スペアデバイスによる不良ドライブの置換えが失敗した。
SpareActive
スペアデバイスによる不良ドライブの置換え・再構築が完了しアクティブとなった。
NewArray
新しいmdアレイが /proc/mdstat 内に検出された。
MoveSpare
スペアドライブが本来のアレイでない別のアレイの置換えに流用された。

FailとFailSpareイベントによりメールが送られる。また全てのイベントで指定されたプログラムが実行される。プログラムには2つか3つの引数が渡される。それらは順にイベント名,アレイデバイス名,そしてイベントによっては第3引数である第2デバイス名が続く。

それぞれのイベントはアレイデバイス(/dev/md1など)と、(イベントによるが)第2デバイスが関連付けられる。Fail,FailSpare,SpareActiveでは第2デバイスはアレイ構成要素である実ブロックデバイスとなり、MoveSpareではスペアドライブの移動元となる。

mdadmがスペアを本来のアレイから別のアレイに流用できるようにするためには、それらのアレイは、コンフィグファイル内で同じスペアグループ名をもたなければならない。スペアグループ名はどんな文字列でも良い。単に他のスペアグループと区別できる名前であれば良い。

もしmdadmが、あるアレイの必要アクティブデバイス数より少ない状態であることを検出し、そのアレイ用のスペアデバイスが無い場合、同一スペアグループ内の余剰スペアドライブがないかどうか調べる。余剰スペアドライブとは、アレイが正常な状態でかつスペアドライブが待機している状態である。mdadmはこの余剰スペアドライブを削除し、不足しているアレイに追加しようとする。削除が成功しても追加に失敗した場合は、その元のアレイのスペアドライブに戻される。

実行例

  • あるデバイスがRAIDアレイか、またはその一部かを調べる。
    mdadm -Q /dev/name-of-device
  • 標準コンフィグファイルに記述されているすべてのアレイを構成し、起動する。
    mdadm -As
  • 現在使われていないアレイをすべて停止する。
    mdadm --stop --scan
  • メールアドレスとプログラムがコンフィグファイルに記述されている前提で、すべてのアレイを監視する。ただしポーリング周期は2分とする。
    mdadm -Fs --delay=120
  • /dev/hda1と/dev/hdc1を使ってRAID1アレイ/dev/md0を作成する。
    mdadm -C /dev/md0 -l1 -n2 /dev/hd['ac']1
  • 現在アクティブなIDEまたはSCSIドライブパーティションで構成されたアレイを基準とし、コンフィグファイルの雛形を作成する。
    echo 'DEVICE /dev/hd*['0-9'] /dev/sd*['0-9']' > mdadm.conf
    mdadm --detail --scan >> mdadm.conf
    ここで作成されたファイルには不要な詳細情報も含まれるため、実際に使用する前に編集する必要があることに注意。
  • どのIDEまたはSCSIデバイスがアレイとして使われているかを調べる。パーティションではないことに注意。
    echo 'DEVICE /dev/hd['a-z'] /dev/sd*['a-z']' > mdadm.conf
    mdadm -Es -c mdadm.conf >> mdadm.conf
    ここで作成されたファイルには不要な詳細情報も含まれるため、実際に使用する前に編集する必要があることに注意。特にdevice= のエントリは要チェック。
  • Createモードに関するヘルプを表示する。
    mdadm --create -help
  • コンフィグファイルの書式についてのヘルプを表示する。
    mdadm --config --help
  • ただのヘルプ
    mdadm --help

FILES

/proc/mdstat
すべてのアクティブなmdデバイスの情報を表示する。mdadmではモードとオプションの組合せにより、この情報を用いる場合がある。
/etc/mdadm.conf
このコンフィグファイルにはMDスーパーブロック検出のためのスキャンを行うべきデバイスが記述される。また既知のMDアレイについてのUUIDなどの識別情報も記述される。
詳細は mdadm.conf(5) を参照のこと。

NOTE

mdadmは以前はmdctlという名前だった。

SEE ALSO

RAIDの各レベルについて知りたい人は次を参照のこと。

http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/

RAIDドライバの最新版は次のサイトから入手できる。

ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
または
http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/

mdadm.conf(5), md(4) raidtab(5), raid0run(8), raidstop(8), mkraid(8)

日本語訳

石川泰光 (ishikawa@ioss.jp)
本ドキュメントの再配布は自由とする。ただし本翻訳物に関する著作権は放棄しない。
2004年4月30日

Version 1.0 20 May 2002 MDADM(8)





  • 本記事の無断転載を禁止します。
  • 本記事の内容を実践されることは各人の責任のもとで行なって下さい。いかなる結果についても当社では関知しません。

IOSS Home



日本の商品を海外にお届け



日本の情報発信
バイリンガルブログ
Bridge Japan Blog




TTWWTP稲葉技術士事務所

Copyright © 2003-2015 Ishikawa Open System Solutions Co., Ltd. All Rights Reserved.