設定ファイルに記述された物理ボリュームからアレイを自動的に構築する
「設定ファイル」に記述された物理ボリュームからアレイを自動的に構築します。環境について
以下のアレイを作成した環境でコマンドを実行しています。- RAID 0アレイを作成するコマンドの実行・作成したアレイの確認と利用
- RAID 1アレイを作成する基本的なコマンドの例・作成したアレイの確認と利用
- RAID 4アレイを作成する基本的なコマンドの例・作成したアレイの確認と利用
アレイ構築時の注意
「設定ファイル」に「ARRAY」の記述がないアレイを構築した場合、アレイに対し個別にオプションを指定することができません。例えば「ライトインテントビットマップ」を有効にし、「外部ビットマップ」でビットマップファイルを保存しているアレイは、ビットマップファイルの指定を行うことができません。
この場合、「ライトインテントビットマップ」が無効になります。
よく分からない場合は、この方法を用いず設定ファイルに「ARRAY」の記述を行ってアレイを構築したほうが良いでしょう。
設定ファイル
以下の「設定ファイル」を用意します。デフォルトの「設定ファイル」に記述してもよいのですが、今回は別の「設定ファイル」を作成し、そちらに記述しました。
「設定ファイル」のファイル名は「/home/ubuntu/myArray.conf」です。
ポイントは赤字の箇所です。
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
DEVICE /dev/sdd1 /dev/sde1 /dev/sdf1
DEVICE /dev/sdd2 /dev/sde2 /dev/sdf2
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
# This file was auto-generated on Wed, 23 Oct 2013 22:23:27 +0900
# by mkconf $Id$
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
DEVICE /dev/sdd1 /dev/sde1 /dev/sdf1
DEVICE /dev/sdd2 /dev/sde2 /dev/sdf2
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
# This file was auto-generated on Wed, 23 Oct 2013 22:23:27 +0900
# by mkconf $Id$
DEVICE
「DEVICE」にはチェック対象とする物理ボリュームの一覧を記述します。今回例として作成した「RAID 0」アレイと「RAID 1」アレイを構成する物理ボリュームを記述しています。
作成した「RAID 4」アレイの物理ボリュームは、例のため意図的に記述していません。
AUTO
「AUTO」には、構築対象にするアレイの条件を記述します。今回すべてのアレイを構築対象にするため、記述を行わずデフォルトの設定を適用しています。
コマンドの実行
設定ファイルを指定し、アレイを構築するコマンドを実行します。コマンドの実行
以下のコマンドを実行し、アレイを構築します。「設定ファイル」の指定は赤字の箇所です。
各オプションの説明は「設定ファイルからアレイを構築するコマンドの説明」を参考にしてください。
sudo mdadm --assemble --scan --config=/home/ubuntu/myArray.conf
コマンドの実行結果
以下のように実行結果が表示されます。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --assemble --scan --config=/home/ubuntu/myArray.conf
mdadm: /dev/md/RAID0Array has been started with 3 drives.
mdadm: /dev/md/RAID1Array has been started with 3 drives.
mdadm: /dev/md/RAID0Array has been started with 3 drives.
mdadm: /dev/md/RAID1Array has been started with 3 drives.
結果から以下のことが分かります。
- 「/dev/md/RAID0Array」が3つの物理ボリュームでアレイを構築しアレイを開始した
- 「/dev/md/RAID1Array」が3つの物理ボリュームでアレイを構築しアレイを開始した
作成した「RAID 4」アレイの物理ボリュームは、「sdd3」、「sde3」、「sdf3」ですが、「DEVICE」には記述していないため、アレイ構築の対象外になっています。
詳細情報の表示
「--verbose」オプションを追加すると、詳細情報が表示されます。以下のコマンドを実行します。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --assemble --scan --config=/home/ubuntu/myArray.conf --verbose
以下のように実行結果が表示されます。
赤字の箇所は、アレイの構築に関する箇所です。
ubuntu@vb-ubuntu1310:~$ sudo mdadm --assemble --scan --config=/home/ubuntu/myArray.conf --verbose
mdadm: looking for devices for further assembly
mdadm: /dev/sdd1 is identified as a member of /dev/md/RAID0Array, slot 0.
mdadm: /dev/sde1 is identified as a member of /dev/md/RAID0Array, slot 1.
mdadm: /dev/sdf1 is identified as a member of /dev/md/RAID0Array, slot 2.
mdadm: added /dev/sde1 to /dev/md/RAID0Array as 1
mdadm: added /dev/sdf1 to /dev/md/RAID0Array as 2
mdadm: added /dev/sdd1 to /dev/md/RAID0Array as 0
mdadm: /dev/md/RAID0Array has been started with 3 drives.
mdadm: looking for devices for further assembly
mdadm: /dev/sdd2 is identified as a member of /dev/md/RAID1Array, slot 0.
mdadm: /dev/sde2 is identified as a member of /dev/md/RAID1Array, slot 1.
mdadm: /dev/sdf2 is identified as a member of /dev/md/RAID1Array, slot 2.
mdadm: added /dev/sde2 to /dev/md/RAID1Array as 1
mdadm: added /dev/sdf2 to /dev/md/RAID1Array as 2
mdadm: added /dev/sdd2 to /dev/md/RAID1Array as 0
mdadm: /dev/md/RAID1Array has been started with 3 drives.
mdadm: looking for devices for further assembly
mdadm: looking for devices for further assembly
mdadm: /dev/sdd1 is busy - skipping
mdadm: /dev/sde1 is busy - skipping
mdadm: /dev/sdf1 is busy - skipping
mdadm: /dev/sdd2 is busy - skipping
mdadm: /dev/sde2 is busy - skipping
mdadm: /dev/sdf2 is busy - skipping
mdadm: looking for devices for further assembly
mdadm: /dev/sdd1 is identified as a member of /dev/md/RAID0Array, slot 0.
mdadm: /dev/sde1 is identified as a member of /dev/md/RAID0Array, slot 1.
mdadm: /dev/sdf1 is identified as a member of /dev/md/RAID0Array, slot 2.
mdadm: added /dev/sde1 to /dev/md/RAID0Array as 1
mdadm: added /dev/sdf1 to /dev/md/RAID0Array as 2
mdadm: added /dev/sdd1 to /dev/md/RAID0Array as 0
mdadm: /dev/md/RAID0Array has been started with 3 drives.
mdadm: looking for devices for further assembly
mdadm: /dev/sdd2 is identified as a member of /dev/md/RAID1Array, slot 0.
mdadm: /dev/sde2 is identified as a member of /dev/md/RAID1Array, slot 1.
mdadm: /dev/sdf2 is identified as a member of /dev/md/RAID1Array, slot 2.
mdadm: added /dev/sde2 to /dev/md/RAID1Array as 1
mdadm: added /dev/sdf2 to /dev/md/RAID1Array as 2
mdadm: added /dev/sdd2 to /dev/md/RAID1Array as 0
mdadm: /dev/md/RAID1Array has been started with 3 drives.
mdadm: looking for devices for further assembly
mdadm: looking for devices for further assembly
mdadm: /dev/sdd1 is busy - skipping
mdadm: /dev/sde1 is busy - skipping
mdadm: /dev/sdf1 is busy - skipping
mdadm: /dev/sdd2 is busy - skipping
mdadm: /dev/sde2 is busy - skipping
mdadm: /dev/sdf2 is busy - skipping
「DEVICE」に記述した物理ボリュームのみ、チェック対象になっていることが分かります。