2009年03月08日

USBメモリでRAIDを構築する方法

いろいろと実験で使ったUSBメモリが余っていたので,4GBのUSBメモリを3本使って,RAID 0を構築してみました。これで約12GBの仮想ディスクとして扱うことができるというわけです。

usb-raid-1usb-raid-2



約11GBの/dev/md0というストレージとして認識されています。

USB RAIDの構築方法


今回は,Ubuntu 8.10(Intrepid)上で作業を行いました。利用するUSBメモリのデバイス名をそれぞれ/dev/sdb,/dev/sdc,/dev/sddとします。失敗すると,USBメモリが使えなくなることがありますので,注意して下さい。
STEP 1
まず,mdadmというRAIDデバイスを操作するためのプログラムが必要ですので,下記のコマンドでインストールしておきます。

$ sudo aptitude install mdadm

なお,mdadmのインストールでは,カーネルにRAIDシステムを認識させるため,initrdが再構築されますので,インストール後に再起動する必要があります。

以下,rootでの作業となるので,次のコマンドでrootのシェルに入ります。

$ sudo su -

STEP 2
fdiskコマンドで,それぞれのUSBメモリのファイルシステムをRAIDに対応させます。

# fdisk /dev/sdb

コマンド (m でヘルプ): t
16進数コード (L コマンドでコードリスト表示): fd
コマンド (m でヘルプ): w


一応,再びfdiskで確認しておきます。

# fdisk /dev/sdb

コマンド (m でヘルプ): p

デバイス Boot Start End  Blocks Id System
/dev/sdb1    1  488  3919828+ fd Linux raid 自動検出

コマンド (m でヘルプ): q


入力するのは,太字の部分だけです。/dev/sdc,/dev/sddについても,同様に「fd」でフォーマットしておきます。

STEP 3
RAIDで使用するデバイスファイルを作成します。

# mknod /dev/md0 b 9 0

STEP 4
mdadmコマンドを使って,RAID 0(ストライピング)を構築します。/dev/sdb,/dev/sdc,/dev/sddという3つのUSBメモリのデバイスを/dev/md0という1つのファイルとして認識させます。

# mdadm -C -v /dev/md0 -l0 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1

usb-raid-3
このように,最後に/dev/md0 started.と表示されれば成功です。

STEP 5
作成した/dev/md0のファイルシステムをext3に設定します。

# mkfs -j /dev/md0

usb-raid-4
成功すると,
このように表示されます。


STEP 6
実際に/dev/md0をマウントしてみましょう。まず,マウント先に指定するディレクトリを作っておきます。ここでは,仮に/tmp/raidとしておきました。

# mkdir /tmp/raid

次のコマンドで,マウントします。

# mount /dev/md0 /tmp/raid

これで,/tmp/raidが作成したRAID 0のディスク領域として認識されているはずです。ユーザ権限で書き込み可能にするには,次のコマンドを実行しておく必要があります。

# chmod a+w /tmp/raid

STEP 7
最後に,次のコマンドでRAID構成を確認してみましょう。

# mdadm -D /dev/md0

usb-raid-5
/dev/sdb1,/dev/sdc1,/dev/sdd1という3つのUSBメモリがRAID 0を構成しているようすがわかります。

注意:再起動したところ,USBメモリのデバイス名が変更されてしまい,うまく認識されませんでした。このあたりは,もう少し工夫する必要がありそうです。





トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Adsense