初めてのRAID〜その顛末

ATA133RAID-PCI2を利用してのRAID0(mirror)構築とその結末やいかに!?




・・・・・あきらめた。

簡単な構成

失敗したpath

  1. RAIDカードのbios上でArrayを作っても、OSに認識されない
    1. インストーラパーティション切る段階では、Array化したDiskが見えない
      1. Driverが無いとか言われているわけではないようだが・・・。
      2. lspciコマンドではRAIDカードはきちんと認識されていて、ドライバも正しそうだ
      3. マザーボードbios側からは見えている
    2. ログイン後にARRAYDISKを探しても、見つからない
      1. /dev 以下にそれらしきDISKは無い
      2. マザボの構成上、IDE接続のHDDでもscsiDrive(sd*)で認識されているのが気になるところ
      3. あるいはscsiDriveではなくsg0?<よく分からなかった
      4. lspciコマンドではRAIDカードはきちんと認識されていて、ドライバも正しそうだ


ここまでで、RAIDカード上のbiosを利用したRAIDを諦めた。
情報より、
cpuリソースを比較的使わないのがRAIDカードによるsoftwareRAIDだと思っていたが
C2Dマシンなのでcpuリソースは多分クソ余ってると思うので妥協し、
次にOSに組み込まれているsoftwareRAIDを利用することに方針に変更して取りかかる。

  1. RAIDカードのRAID機能を無効化し、IDEControlerとして利用
  2. OSインストーラパーティション段階では、ちゃんと2台見えるが、最終的には失敗
    1. インストーラRAID構成ツールでsoftwareRAIDの設定をするのは成功。
    2. しかし、フォーマット作業中でインストーラーがフリーズ。最終的に成功0/5
      1. 正確には1回だけフォーマット成功したが、ファイル転送中にフリーズ。最低だ
    3. 理由は不明。ただ、後に諦める最大の要因になった、転送速度問題が絡んでると思う
  3. OSインストール後にRAIDを構築する
    1. ここでHDDのベンチマークを計る
      1. (OS用のマザボ接続HDD)hdparm -ft /dev/sda: 174MB in 3.02 seconds = 57.52MB/sec
      2. (Array用の1台目160GB)hdparm -ft /dev/sdb: 8MB in 3.41 seconds = 2.35MB/sec
      3. (Array用の2台目120GB)hdparm -ft /dev/sdc: 8MB in 3.42 seconds = 2.34MB/sec
      4. ( ゚д゚)
      5. ( ゚д゚)
      6. (゚д゚)
      7. なんという遅さ!RAID化出来ても実用にならないよこれじゃ!
  4. というわけでここに来て前回のエントリであげたDMA無効問題に最優先で取りかかる
    1. エントリ通り、dma有効コマンドを打つ
      1. hdparm -d1 /dev/sdb
      2. HDIO_SET_DMA_FAILD : Inappropriate ioctl for device
      3. (゚д゚)
      4. hdparm -d1 /dev/sdc
      5. HDIO_SET_DMA_FAILD : Inappropriate ioctl for device
      6. (゚д゚)
  5. どうも設定が通らない。そもそもhdparm -iでもdmaに関する項目が出てないのが怪しい
  6. マザーボードbiosにそれらしい設定がないか調べてみる
    1. ATA/IDE mode :nateve/legacy と言うのが有るのでlegacyに変更
    2. 結果変わらず。大分萎える
  7. DMA無効でも、多少速度が改善されるという記事があるので試す
    1. 32bit転送を有効にしてみる
      1. hdparm -c1 /deb/sdb
      2. HDIO_SET_32BIT failed : Invalid argument
      3. orz
      4. hdparm -c1 /deb/sdc
      5. HDIO_SET_32BIT failed : Invalid argument
      6. or2
    2. どうも調べたところマザーボードのチップ(IFカードのチップ)とHDDメーカーの相性によってはDMA有効化が出来ないようだ
      1. なんだよそれ!
      2. 相性って言ってりゃ何でも許されると思ってんの!?


という感じで諦めましたYO!


そもそも、転送速度があまりにも遅すぎるのはRAID組む以前の問題だと思います。
RAIDカードを買うときは、ここら辺も注意しなければいけませんな。
基本的にCPUチップの載っていないRAIDカードは、本体cpu依存のsoftwareRAIDらしいので、
その点、パフォーマンスの優位性もほぼ無いとみるべきでしょう。
linuxに限って言えば、RAIDカードでも、マザボRAID機能でもなく、
素直にOSのsoftwareRAIDを利用することを一番に考えた方が良いと結論づけました。

結論

知人の越智さんが言ったように、
マザーボードに付いてるIF*1使ってOS組み込みでのsoftwareRAID化が一番問題なく済む
ことが身に染みて理解できた二日間でした。
こんちくしょー!!
俺はIDEHDDを捨てるぞ!ジョジョーッ!

Tanks!


では、軽く落ち込みます。
ノシ

*1:SATAとか