SEEDS Creator's Blog

読者です 読者をやめる 読者になる 読者になる

HP ProLiant Gen8サーバーにCentOS6.4(64bit)を入れる

CentOS Linux インフラ

HPのサーバーをCentOSで使いたい事が出てきてインストールにいろいろ試行錯誤したので備忘録です。
今回やりたい事はCentOS6.4でDynamic Smart Arrayを使ってRAID1を構築し、管理したいという内容となります。
HP ProLiant DL320e Gen8 v2に入れてみました

準備

・CentOS6.4(64bit)のCD
・光学ドライブがないのでUSBの外付けCDドライブ
・USBメモリ
・その他管理ツールのパッケージをHPのサポートページからダウンロード

HP ProLiant本体のRAID設定

HP ProLiant DL320e Gen8 v2はHP Dynamic Smart Array B120iコントローラが標準でついているので、これを使ってRAIDを組みます。

コントローラーの有効化

起動時にF9を押してRBSUなるメニューを開きます。 [システム オプション]>[SATAコントローラーオプション]>[内蔵SATA設定]>[ダイナミックHP SmartアレイB120i RAIDサポートを有効]の順に選択。

参考 HP Dynamic SmartアレイRAIDコントローラー ユーザー ガイド

RAID1の構築

起動時にF5を押してアレイ設定ツールを開く
ウィザードのタブから、ディスクを選択して、ミラーリングの設定をする

CentOSのインストール

上記作業でRAID構築は完了したはずなのですが、
通常通りインストールを行おうと思ってもSmart Arrayコントローラが認識されず、HDDが2個と認識されてしまいます。
これはCentOSにSmart Arrayのドライバが存在しない事が原因なのでOSインストール時にドライバを読み込ませる必要があります。

Smart Arrayのディスケットドライバの入手

まずはSmart ArrayのディスケットドライバをHPサポートセンター のページから入手します。
ちなみにHP Dynamic Smart Array B120iのものはこちらから入手できました。

今回はCentOS6.4ですのでRHEL6 update4 のディスケットドライバをダウンロードします。
この記事を書いている2013/12/06時点ではhpvsa-1.2.6-27.rhel6u4.x86_64.dd.gz というファイルでした。
ドライバをダウンロードしたら解凍します。dd.imgというファイルが出来たのでそちらをUSBメモリにコピーします。

CentOSインストール時にディスケットドライバの読み込み

さきほどのディスケットドライバを保存したUSBをサーバーに刺し、CentOSのインストールCDからブートを行います。
CentOSのインストールメニューが出たら、「ESC」キーを押してインストール起動パラメータを入力します。

linux dd blacklist=ahci

としてエンターを押します。
※上記のような起動パラメータでインストールしないと、カーネルがAHCIのモジュールを自動で読み込みPanicを起こします。

ドライバの読み込みするか?といった質問が出るのでyesを選択し、[sda]か何かを開きます。
USBの中身がメニューが出ますので保存していたディスケットドライバを選択します。
※ここのメニューでHDDがいっぱい認識されていればインストール起動パラメータが間違っているかもです。

あとは普通にインストールを行えばOKです。
変なとこにインストールしないように任意のタイミングでUSBは抜くといいとおもいます。

HPのユーティリティインストール

CentOSが起動してからの作業です。
以下のredhat用パッケージをHPサポートセンター のページから入手します。
kmod-hpsa hp-health hpsmh hp-smh-templates cpqacuxe hpacucli hp-snmp-agents hpdiags のパッケージを入手します。rhel6u4でx86_64のものを選択します。

ユーティリティの入手

今回使用しているHP ProLiant DL320e Gen8 v2(Dynamic Smart Array B120i)では以下のページにて入手できました。
cpqacuxe 及び hpacucliについてはDynamic Smart Array B120i用ドライバ のページから入手し、
その他のパッケージはHP Service Pack for ProLiantのisoファイル内の/hp/swpackages 内に存在しました。

これらのファイルをインストールしたCentOSサーバーに転送します。

CentOS側ではhp のユーティリティインストールで、CentOS をRHELとして認識させる為に以下の変更を行います。

mv /etc/redhat-release /etc/redhat-release.old
echo "Red Hat Enterprise Linux Server release 6.4 (Santiago)" > /etc/redhat-release

また、ユーティリティソフトはsnmpを必要とする為、snmpパッケージをインストールしておき、簡単な設定を行っておきます。

yum install net-snmp net-snmp-libs

echo "dlmod cmaX /usr/lib64/libcmaX64.so" >> /etc/snmp/snmpd.conf
echo "rwcommunity private 127.0.0.1" >> /etc/snmp/snmpd.conf
echo "rocommunity public 127.0.0.1" >> /etc/snmp/snmpd.conf

ユーティリティのインストール

ダウンロードしたユーティリティのディレクトリに移動し、以下のようにインストールします。

yum localinstall kmod-hpsa-3.4.2-4.rhel6u4.x86_64.rpm \
cpqacuxe-9.40-12.0.x86_64.rpm \
hpacucli-9.40-12.0.x86_64.rpm \
hp-health-9.40-1602.44.rhel6.x86_64.rpm \
hpsmh-7.2.2-8.x86_64.rpm \
hp-smh-templates-9.4.0-1327.37.noarch.rpm \
hp-snmp-agents-9.40-2506.37.rhel6.x86_64.rpm \
hpdiags-9.5.0-938.linux.x86_64.rpm \
hponcfg-4.2.0-0.x86_64.rpm

snmpの設定を設定し、hp-snmp-agentsを起動します。

/etc/init.d/snmpd restart
sed -i 's/^exclude/exclude\ cpqriisd\ cmarackd/' /opt/hp/hp-snmp-agents/cma.conf
/etc/init.d/hp-snmp-agents restart

確認作業

まずはCLIが動作しているか確認します。

# hpacucli
HP Array Configuration Utility CLI 9.40.12.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.

=> ctrl slot=0 show config

Dynamic Smart Array B120i RAID in Slot 0 (Embedded)

   array A (SATA, Unused Space: 0  MB)


      logicaldrive 1 (1.8 TB, RAID 1, OK)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SATA, 2 TB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SATA, 2 TB, OK)

=>

ちゃんとOKのステータスが確認できました。

引数の指定の仕方がすごい違和感ですが
ctrl slot=0 show configでコントローラ スロット0の設定を見る って感じみたいですね。

続いてWEBUIを確認します。
Smart Array 設定ツール (WEBUI)のリモート接続を許可します。
こちらはCentOSの起動時に自動実行させるようにしておいてもよいかもしれません。

cpqacuxe -R

以下のようなURLで接続する事でsystems management homepageが開きます。

https://[ホスト名 or IP]:2381/

うまくインストールできていればログイン画面が出ます。
Linuxのrootユーザーでログインします。



ログインが成功し、さらにcpqacuxeのインストールが成功していれば、ストレージメニューに「アレイコンフィギュレーションユーティリティ」のメニューがあるので、そちらをクリックします。




Smart Array (RAIDコントローラ)の設定が可能なWEBIUが開きます。



hpacucliが使えない時

WEBUIのSmartArrayを起動するとこんな感じのエラーが出てhpacucliは使用できなくなります。

# hpacucli
HP Array Configuration Utility CLI 9.40.12.0
Detecting Controllers...

Error: Another instance of ACU is already running (possibly a service). Please
       terminate the ACU application before running the ACU CLI. Press ENTER to
       exit.

CLIを使用する際はcpqacuxe をストップして下さい。

cpqacuxe -stop

確認

# hpacucli
HP Array Configuration Utility CLI 9.40.12.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.

=>

webUIを使用の際は起動は同じくこちらのコマンドで。

cpqacuxe -R