AdaptecのRAIDボード利用についてメモめも
今回使ったのは Adaptec RAID 6405。
もう一つ予備で買ったのは、Adaptec RAID 5405。
HDD4 台で RAID6 を組みたかったので、一番安いこのカードでした。
ドライバのインストールとか、色々手をこまねきましたよ……。
OS は Ubuntu11.10 Server 64bit です。
まぁ、まずはドライバのインストール……と始まり、これがそもそもの間違いだった。
Adaptec RAID 6405 のサイトから、ドライバをダウンロードします。
解凍し、インストール時にコンソールに移ったりしつつ insmod とかでインストールします。
なんかね、エラるんですよ……。起動しないし……。
1週間再インストールとか RAID の再設定とか繰り返してたどり着いた結論。
OSリスト:どのオペレーティング・システムが 6405, 6445, 6805 でサポートされますか。
http://ask.adaptec.co.jp/app/answers/detail/a_id/17079
下にリストされたドライバーがOSに含まれています:
- Red Hat Enterprise Linux 6.3
- SuSE Linux Enterprise Server 11 SP2
- Ubuntu Linux 11.10
- Debian Linux 6.0.2
- Fedora 16
っていうのを全然気が付かなくてですね……なんでページの一番下にあるんだよ……。
追加ドライバの必要な OS の下にあるあたりが若干嫌がらせに思えます。
なので、追加ドライバなんてさらさら必要なくて、RAID 設定したらそのまま物理ボリューム扱いで使えます。
このページの辿りつき方は、
製品のページ→右下の「製品サポート」→製品仕様→オペレーティングシステムの下あたり
です。
いよいよインストールできると、今度は設定内容見たいわけです。
Adaptec シリーズでは、arcconf というコマンドを使うのですが、これはインストールしないといけないです。
製品のページ→右下の「製品サポート」→ダウンロード→「Storage Manager Downloads」
今回 OS は Ubuntu ですが、Linux x64 のものをダウンロードします。
Adaptec Storage Manager v7.30.18837 for Linux x64
上記の物をダウンロードします。
maxView~~とかもありますが、Adaptec Storage Manager です。
解凍すると、 manager と cmdline ディレクトリが出てきます。
manager の中に deb パッケージ、rpm パッケージがありますので環境に合わせてインストールします。
$ sudo dpkg -i storman_x.xx-xxxxx_amd64.deb
未選択パッケージ storman を選択しています。 (データベースを読み込んでいます … 現在 158114 個のファイルとディレクトリがインストールされています。) (storman_6.50-18771_amd64.deb から) storman を展開しています…
Adaptec Storage Manager Version 6.50
storman (6.50-18771) を設定しています … starting Adaptec Storage Manager agent …
Installation completed successfully. The application can be started by running: /usr/StorMan/StorMan.sh
/usr/StorMan ディレクトリが作成されます。
StorMan.sh を実行することでアプリケーションが起動する、って書いてありますが、GUIのプログラムのようなので使いません。
今回は arcconf を使います。(/usr/StorMan/arcconf)
上記インストールがちゃんとされれば、上記プログラムを動かせば動きますが、下記エラーが出ることがあります。
./arcconf: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
これ出た場合、 libstdc++.so.5 が読み込まれてません。
libstdc++.so.5 自体は /usr/StorMan/libstdc++.so.5 にあります。
これをロードする必要があります。下記コマンドを実行するか、./bashrc等に書くと良いです。
export LD_PRELOAD=/usr/StorMan/libstdc++.so.5
正常に動きますでしょうか。
$ sudo ./arcconf
| UCLI | Adaptec by PMC uniform command line interface
| UCLI | Version 6.50 (B18771)
| UCLI | (C) Adaptec by PMC 2003-2011
| UCLI | All Rights ReservedATAPASSWORD | Setting password on a physical drive
COPYBACK | toggles controller copy back mode
CREATE | creates a logical device
DATASCRUB | toggles the controller background consistency check mode
DELETE | deletes one or more logical devices
FAILOVER | toggles the controller automatic failover mode
GETCONFIG | prints controller information
GETLOGS | gets controller log information
GETSMARTSTATS | gets the SMART statistics
GETSTATUS | displays the status of running tasks
GETVERSION | prints version information for all controllers
IDENTIFY | blinks LEDS on device(s) connected to a controller
IMAGEUPDATE | update physical device firmware
KEY | installs a Feature Key onto a controller
MODIFY | performs RAID Level Migration or Online Capacity Expansion
RESCAN | checks for new or removed drives
RESETSTATISTICSCOUNTERS | resets the controller statistics counters
ROMUPDATE | updates controller firmware
SAVESUPPORTARCHIVE | saves the support archive
SETALARM | controls the controller alarm, if present
SETCACHE | adjusts physical or logical device cache mode
SETCONFIG | restores the default configuration
SETMAXIQCACHE | adjusts MaxIQ Cache settings for physical or logical device
SETNAME | renames a logical device given its logical device number
SETNCQ | toggles the controller NCQ status
SETPERFORM | changes adapter settings based on application
SETPOWER | power settings for controller or logical device
SETPRIORITY | changes specific or global task priority
SETSTATE | manually sets the state of a physical or logical device
SETSTATSDATACOLLECTION | toggles the controller statistics data collection modes
TASK | performs a task such as build/verify on a physical or logical device
arcconfのコマンドラインインタフェースの仕様書は以下です。
コマンドラインユーティリティユーザーズガイド(PDF 日本語)
動いたら、下記コマンドを発行すると、情報が見れます。
/usr/StorMan/arcconf getconfig 1
ずらずらーっと出てきます。多分 OPTIMAL になってれば OK でしょう。
次が大事ですが、RAIDは潜在的に壊れていることがあります。
アクセスしない限り、不良セクタに気づかないんです。アクセスすると壊れる、という。
HDDが1台壊れ、入れ替えてリビルド中に、もう一台壊れる……というのはこれが原因の一つになってます。(または、過負荷によるものや、たまたま同時にということもありますが)
上記のことをなくすために、定期的にVerify(ベリファイ)という作業をします。
そのためのコマンドが以下の通りです。
/usr/StorMan/arcconf task start 1 LOGICALDRIVE 1 verify_fix
task start の後の 1 は、コントローラー番号です。2 枚以上刺さない限り 1 です。
LOGICALDRIVE の後の 1 は論理ドライブ番号です。
RAID6の場合 4 台差すので、1~4 を指定して全部やる必要があります。
※↑ご指摘頂きまして、物理ドライブを指定する分けではないので、1だけでいいようです。
verify_fix は、verify した上で、不良セクタがあれば修復するというオプションです。
もし、verify だけなら、verify_fix → verify にします。
週1もしくは月1ぐらいで回してあげるといいと思います。
RAIDの参考は下記サイトさんに。
RAID6とRAID1+0について故障率とか詳しく書かれています。
tagomorisのメモ置き場 : RAIDレベルの話: 1+0と6はどっちが安全か?
意外と日本語で説明されてるサイトが少ないですね……。有名どころなんですが。
PPTP経由のインターネット接続でDNS解決できない ついったーのプラグインいれてみようかなー、って思って入れてみた。
>LOGICALDRIVE の後の 1 は論理ドライブ番号です。
>RAID6の場合 4 台差すので、1~4 を指定して全部やる必要があります。
ここは論理ドライブなのでRAIDアレイの数ですね。
物理ドライブの数ではありません。
コメント、ご指摘ありがとうございます。
検索してあちこち見かけはするんですが、全体的に情報がすくないのでなかなか難しいですね……。