たごもりすメモ

コードとかその他の話とか。

hp SmartArrayをhpacucliコマンドを使って設定変更する

hpacucliコマンドはHPのサーバ関連のソフトウェアツールキットに含まれてる。インストール方法とかはぐぐって適当に。

あまりに使い方がよくわからなくてダメな感じなのでいくつかの手順をメモっておく。

そもそもの使いかた

まず hpacucli とコマンドを実行するとCLIが立ち上がる。カーソルキー上下でヒストリも出てくる*1
また以下のような気が狂ったとしか思えない独特なコマンド体系を有する。おそらく何か過去の経緯をひきずったんだろうが、アホかとしか思えない。

=> [対象の選択1] [対象の選択2] [対象の選択3] ... [コマンド] [コマンドオプション]

ちなみに以下のようにすると、実にしょぼいヘルプが出てくる。

=> help [コマンド]

使うときにはコマンドは末尾に置くというのがもうね……。

「対象の選択」は物理的な接続階層に準ずる形で記述を繋げて絞り込むことになる。コントローラを指定 → コントローラが挿さってるスロット番号 → 物理ディスクを指定 → 物理ディスクのラベル、みたいに。以下のような感じ。

=> controller all show
=> controller slot=1 show
=> controller slot=1 show detail # detailはコマンドオプション
=> ctrl slot=1 show # ctrl は controller の短縮形
=> ctrl slot=1 physicaldrive all show
=> ctrl slot=1 pd all show # pd は physicaldrive の短縮形
=> ctrl slot=1 pd 1I:1:11 show # 1I:1:11 は Port 1I の Box 1 の Bay 11 らしいが、ctrl の指定は必要である
=> ctrl slot=1 logicaldrive all show
=> ctrl slot=1 ld all show # ld は(ry
=> ctrl slot=1 ld 13 show detail # ld は番号 all show したら "array M" とか出てくるが、そっちではなくて番号

他にも短縮形のマッピングはあれこれあるようだが、覚える気がないのでここには書かない。必要な人は各自ぐぐるなり頑張れ。

RAIDアレイを構成する場合

以下のようにする。

=> ctrl slot=1 create type=ld drives=1I:1:1,1I:1:2,1I:1:3 raid=5

create は ctrl に対してのコマンド。

HW RAIDSATA/SASカードとしてだけ使う場合(Linuxの場合)

何らかの理由でHW RAIDの機能を(一部しか?)使わず、各ディスクを(できるだけ)OSから直接扱いたい場合。

デバイスドライバはccissだが logicaldrive の編成に使っていないHDDはOS(Linux)からは見えない。見えなきゃ使えないので、しょうがなく各HDDひとつだけを含む RAID-0 のlogicaldriveをディスクの台数ぶんだけ編成する。
そうすると /dev/cciss/c0d8 みたいな感じで見えるようになるので、これを使う。このとき、筐体上のディスク位置と d8 みたいな番号にズレが出ることがあるので注意。logicaldriveとphysicaldriveのマッピングは ctrl X ld Y show しても ctrl X pd Z show しても見られず ctrl X show config すると出てくる。分かりにくい。

ディスクが故障したときはとりあえず故障ディスクを交換する。抜いて新品を挿す。そのままでは logical drive はfailしたままなので、いったん ld を削除して、新しく作り直してしまおう。
以下のような手順。

# まず fail している logical drive とそれに対応するディスクを確認
=> ctrl slot=1 show config

#####(2013/06/14) 以下コメント欄からの追記。この1コマンドだけで良いようです。
# 該当の物理ディスク交換後、ldを有効に
=> ctrl slot=1 ld 11 modify reenable
##### 追記終わり

## こうする必要は無い
# 該当の物理ディスクを交換し、いったんlogical drive を削除
=> ctrl slot=1 ld 11 delete
# logical drive 作り直し
=> ctrl slot=1 create type=ld drives=1I:1:12 raid=0
##

# 状況の再確認
=> ctrl slot=1 show config

failしていた logical drive の状態が OK になっていれば大丈夫。

OSからの見えかた

上記作業を行ったが、OSから見えるパーティション情報が更新されず、再起動しないとだめだった。再起動できる用途で使ってるけど、面倒だしちょっと残念。もうちょっとどうにかなんないかな……。

*1:ctrl-n/pでは出てこない。というか全般的にEmacsバインドなショートカット操作は効かない。ctrl-h でバックスペースだけ可能