2012年9月17日月曜日

CentOSでRAID0

前回のブログでawsのEC2インスタンスでエフェメラルディスクを使う方法を記載した。
EC2インスタンスサイズによっては複数のディスクを使用する事ができる。
という事で折角なのでCentOSでRAID0を組んでみたので、設定方をを記載してみる。
ちなみにCentOSは6.3を使用。


・最初に
CentOSでソフトウェアRAIDを組む場合はmdadmを使用します。パッケージが組み込まれて
いない場合はyumでインストールできます。
# yum -y install mdadm

・デバイスの確認
エフェメラルディスクがOS上でどのように認識されているか確認します。
# ls -l /dev |grep xvd
→基本的にはEC2インスタンス作成時に割り当てたデバイス名とリンクしています。
 sdbで指定した場合は/dev/xvdbとなります。

今回はディスクを/dev/xvdi、/dev/xvdjの二つ使用する事とします。

・ディスクの初期化
fdiskを使用してディスクを初期化します。
# fdisk /dev/xvdi
→対話型となるため下記の流れで応答します。
 n 新たに領域を作成する
 p 基本領域 (1-4)
 1 一番目
   空Enter(開始シリンダを一番最初)
   空Enter(終了シリンダを一番最後)
 w 書き込み終了

同様に/dev/xvdjも初期化します。

・デバイスの作成
新規でRAID用デバイスを作成します。
# mknod /dev/md1 b 210 1
→オプション説明
 /dev/md1 デバイスファイル名。mdXとするため今回は/dev/md1を指定
 b デバイス種別。ブロックデバイスのためbを指定
 210 メジャー番号。空いている番号であれば良いため今回は210を指定
 1 マイナー番号。メジャー番号の中で空いている番号であれば良いため1を指定

・RAIDの作成
mdadmを使用してRAIDを作成します。
# mdadm --create --verbose /dev/md1 --level=0 --raid-devices=2 /dev/xvdi /dev/xvdj
→オプション説明
 --create 作成
 --verbose 画面表示
 /dev/md1 RAIDを作成するデバイス名
 --level= RAIDのレベル。今回はRAID0のため0を指定。
 --raid-devices= RAIDに組み込むディスク数。今回は二つのため2を指定。
 /dev/XX 組み込むディスクデバイス名。今回は/dev/xvdi、/dev/xvdjを指定

・RAID構成の確認
指定した内容で作成されているか確認します。
# cat /proc/mdstat

・ファイルシステムの作成
作成したRAIDデバイスを使用してファイルシステムを作成します。今回はex4とします。
# mkfs.ext4 /dev/md1

・mdadm.confの作成
再起動後も使用できるようにmdadm.confファイルを作成します。
# vi /etc/mdadm.conf
→下記の内容を記載します。

DEVICE /dev/xvd[a-z]*
ARRAY /dev/md1 devices=/dev/xvdi,/dev/xvdj


・fatabへの登録
自動起動するようにfstabに追記します。今回は/mnt/1にマウントします。
# vi /etc/fstab
→下記の内容を記載します。
/dev/md1  /mnt/1 ext4 defaults 0 0

・マウントの実施
マウントを実施します。
# mount /mnt/1

・容量の確認
マウントされたボリュームが期待する容量となっている事を確認します。
# df -h /mnt/1

今回の手順はEC2のエフェメラルディスクを使用している事による特別な内容は無く
普通にRAIDを組む場合と同じになります。但し、エフェメラルディスクはEC2インスタンス
のstopで設定などが消えてしまうため、上記手順の一部を再度行う必要があります。
・RAIDの作成
・ファイルシステムの作成
・マウントの実施

私が確認したところ、rebootではRAID構成情報もデータも残っていましたので、stopを
した場合のみ再作成となる様子です。

0 件のコメント:

コメントを投稿