パフォーマンス向上でナニに使える? OpenBlocks Aファミリによるサーバ実力診断

第5回 ソフトウェアRAID,Samba,ownCloudによるストレージサーバの構築

この記事を読むのに必要な時間:およそ 5 分

はじめに

OpenBlocks AファミリのAX3には,外部インターフェースにeSATA(SATA II)ポートが付いています。これを活用することで,ユーザの目的に応じてカスタマイズ可能な大容量ストレージサーバとしてAX3を運用できます。今回は,このストレージサーバの構築例を紹介します。

全体の流れは,まずeSATAインターフェースを持つHDDケースに複数のHDDを搭載して,ソフトウェアRAIDを構築します。次にそれを外部ストレージとして,AX3でSambaサーバとownCloudサーバを構築します。

SambaサーバとownCloudサーバの説明はそれぞれ別にしますので,興味のあるほうからお読みください。

使用機材

サーバにはOpenBlocks AファミリのAX3を使います。OSはDebian GNU/Linux 6.0(squeeze)⁠ファームウェアのバージョンはkernel-image-3.0.6-4です。ストレージは内蔵しないで,RAMディスクモードで運用します。

HDDケースは,⁠株)センチュリーの「裸族の集合住宅 USB3.0&eSATA(CRSJ35EU3)⁠を使います。このHDDケースは,インターフェースにUSB 3.0とeSATAを備え,3.5インチSATA HDDを4台搭載できます。HDDには,Western Digital社の2TBのSATA HDD(WD20EARS)を4台使います。

そして構築作業,性能測定などに使うWindows PCを用意します。PCの仕様は表1に示します。

表1 PCの仕様

CPUIntel Core2 Quad Q9300 @ 2.50GHz
メモリ4.00GB
マザーボードSuper Micro Computer X7SBi
OSMicrosoft Windows 7 Ultimate Service Pack 1

ソフトウェアRAID

まずはソフトウェアRAIDを構築し,性能を測ってみましょう。HDDケースにHDDを4台搭載し,AX3にeSATAケーブルで接続してHDDケースの電源を入れます。そのあと,AX3を起動します。以下ではシリアルコンソールで作業しますので,Windows PCからTera Termなどで接続してログインしておいてください。

mdadmパッケージのインストール

ソフトウェアRAIDを構築/運用するためにmdadmパッケージをインストールします。インターネットに接続できるようネットワークの設定をしてください。利用可能なパッケージのリストを更新してから,mdadmパッケージをインストールします図1)⁠インストール途中の問い合わせにはデフォルトで回答しておきます。mdadmパッケージのバージョンは,⁠3.1.4-1+8efb9d1+squeeze1」です。

図1 mdadmパッケージのインストール

# aptitude update
# aptitude install mdadm

AX3はRAMディスクモードで動いていますので,ルートファイルシステムの変更をフラッシュROMに保存します図2)⁠さもないと,次回起動時に変更が失われますので注意してください。

図2 フラッシュROMへの保存

# /usr/sbin/flashcfg -S

RAIDアレイの作成

それではRAIDアレイを作成しましょう。mdadmパッケージをインストールしたときにMDモニタデーモンが起動されていますので,それを停止します図3)⁠

図3 MDモニタデーモンの停止

# /etc/init.d/mdadm stop
# /etc/init.d/mdadm-raid stop

fdiskコマンドでHDDにパーティションを設定します。4台のHDDは,/dev/sda,/dev/sdb,/dev/sdc,/dev/sddと認識されます。各HDDには,全体で1つのパーティションを設定します。

パーティションを設定したので,RAIDアレイを作成します。図4は,HDDのパーティション4つ(--raid-devices=4)からなる,RAIDレベルがRAID6(--level=6)のRAIDアレイ/dev/md0を作成するコマンドです。RAIDアレイを作成するとリビルドが始まります。表2に,リビルドにかかった時間を示します。RAIDアレイの情報は,図5に示します。

図4 RAIDアレイの作成

# mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

表2 RAIDの性能測定

RAIDレベル書き込み(MB/s)読み込み(MB/s)リビルド時間(時間)
HDD単体114119-
RAID0114251-
RAID150.21159.5
RAID1010220714
RAID545.523818.5
RAID627.120424.5

図5 RAIDアレイの情報

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sda1[0] sdd1[3] sdc1[2] sdb1[1]
      3907020800 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      
unused devices: 
# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Thu Sep 20 12:45:16 2012
     Raid Level : raid6
     Array Size : 3907020800 (3726.03 GiB 4000.79 GB)
  Used Dev Size : 1953510400 (1863.01 GiB 2000.39 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Fri Sep 21 13:02:43 2012
          State : active
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : obsax3:0  (local to host obsax3)
           UUID : fdf19ba9:ab638bd5:3308ee0b:7ee87d4f
         Events : 24

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       49        3      active sync   /dev/sdd1

作成したRAIDアレイをmdadmコマンドの設定ファイル,/etc/mdadm/mdadm.confに反映させます図6)⁠ファイルmdadm.confの末尾に追加されたARRAY行リスト1が,作成したRAIDアレイの設定です。設定の変更をフラッシュROMに保存します(図2)⁠

図6 mdadmの設定

# mdadm --detail --scan  > >/etc/mdadm/mdadm.conf

リスト1 /etc/mdadm/mdadm.confのARRAY行

ARRAY /dev/md0 metadata=1.2 name=obsax3:0 UUID=fdf19ba9:ab638bd5:3308ee0b:7ee87d4f

ファイルmdadm.confに古いARRAY行がある場合には,コメントアウトするか削除してください。それが残っていると,AX3の起動時にRAIDアレイが見えなくなってしまいます。そうなった場合には,ARRAY行すべてをコメントアウトまたは削除し,フラッシュROMに保存してからAX3を再起動します。それでRAIDアレイが見えるようになります。ARRAY行中のUUIDの値はRAIDアレイを作成するたびに変わりますが,それが見えなくなる原因です。

最後にファイルシステムを作成します図7)⁠

図7 ファイルシステムの作成

# mkfs.ext4 /dev/md0

性能測定

ddコマンドを使って読み書き速度の測定をしてみましょう。マウントポイント/mntに/dev/md0をマウントしたあと,ddコマンドを実行します図8,9)⁠

図8 書き込み速度の測定

# dd if=/dev/zero of=/mnt/4GB.dat bs=1M count=4096

図9 読み込み速度の測定

# dd if=/mnt/4GB.dat of=/dev/null bs=1M

前述の表2に示したものは,5回測定した平均値です。HDD単体での速度と,RAIDレベルをRAID0,RAID1,RAID10,RAID5,RAID6に変えた場合の速度の一覧となっています。書き込み速度は,HDD単体の24~100%,読み込み速度は97~211%です。測定が終わったらアンマウントします。以上で,ソフトウェアRAIDによるeSATA接続の外部ストレージが用意できました。

コメント

コメントの記入