HPE MicroServer Gen8にCentOSをインストールしてB120iのRAID1を使う

うちのMicroServer Gen8はCPUはXeon E3-1220L v2、メモリは8GB、SATA HDDは2本、RAID Controllerはお金がなくてB120iのまま、そしてDVD-ROMドライブを追加してある。また2本のHDDをRAID 1にしてファイルサーバ用の領域に使いたいので、USB接続で外付けのHDDを増設してOS領域に使う。

試行錯誤を繰り返して辿り着いた結論は、肝心なのは次の3点だけで、あとはどうでもいいということ。

  1. AHCIを無効にしてB120iのドライバを読み込ませるようにインストーラを起動する
  2. RAIDドライブをまるまるネットワークで共有するようにパーティションは手動で設定する
  3. B120iのドライバを読み込ませるUSBメモリは、インストーラの起動中に挿して認識させ、ドライバをロードさせたら抜いてよいため、OSドライブとRAID 1ドライブの名前にsdaとsdbが使える (抜かないとsdaをUSBメモリに取られることがある、あとで抜くのに)

CentOSのどのISOイメージを使うか、どのメディアでインストールするかは、どうでもいいことだった。インターネット上には先達の苦難の記録がいろいろ残っていて、とても参考になった。最終的にもっとも参考になったと感じたのは、ここここ。リンクを貼って感謝したい。

以下、ここまで辿り着いた道のり。そもそも、うちで考えている使い方は次の通りだった。

  • ESXiを使おうか悩んだけど、OSは一種類しか使わないので、CentOSを入れたい。
  • 2本のSATA HDDでRAID 1を構成してファイルサービス用とし、SAMBAでWindowsやMacにアクセスさせたい。

この環境でどうしたら良いか、少し調べてはまとめず、また少し調べては放置する、と繰り返しながら、2ヶ月ほど放置していた。一昨日になって急に、気になって調べ始めて準備を整えた。そして昨日と今日に断続的に作業を進め、合計4回のインストールを繰り返す羽目に陥った挙句の果てに、下記のことを身体で感じた。

  • B120iをEnableにして2本のSATA HDDでRAID 1を構成してもいい (ESXiをインストールした0回目に、何も考えずにそう設定していた。速度よりもRAID 1が大事なら。片方が壊れたらディスクはどう取り替えればいいのだろう、と遠い目つきで思慮に耽った。)
  • CentOSはDVD用のISOイメージをDVD-Rに焼いて起動してインストールしていい(1回目にISOイメージでインストールし、2回目にEverythingのISOイメージをUSBメモリに焼いてインストールしようとしたら、同じOSの起動の仕方だったので気付いて中断した。USBに3つもデバイスを挿してインストールを始めたら、どれがsdaになるか予測できないので、やめておく方がいいと思ったこともある。)
  • B120iで構成したRAID 1にCentOSからアクセスするには、インストール時にAHCIモジュールを無効にして手動でhpvsaドライバをロードさせる必要がある (さもないとCentOSからはSATA HDDが2本あるように見えることは、1回目は自然と思った)
  • インストーラ起動時に手動でドライバを更新する場合、起動後にUSBメモリを挿して認識させ、ロードさせたら、抜いてしまうことができる (3回目にドライバだけ入ったUSBメモリにsdaを奪われ、ブートディスクがsdb、RAID 1がsdcとなった後、4回目にこの手順に辿り着いた)
  • パーティションは手動で設定しないと、OS領域以外をまとめてLVMに占有される (3回目で自動的にこうなっていたので、4回目はsdaの/bootを935MB、swapを20GB、残りは/として、sdbを/homeに指定して全部使う設定をした)

普段からあまり管理者の仕事をしていないので、想像力に乏しいことは反省している。それでも、4回もやらなくても気付けよ、と思う。そうしてMicroServer Gen8へのCentOS 7.3のインストール手順は、とりあえず次のように落ち着いた。

  1. 一旦起動して、B120iの設定でRAID 1を構成したら、落としておく
  2. 他のマシンでDVD用のISOイメージをダウンロードして、DVD-Rに焼く
  3. 他のマシンでhpvsaのドライバのdd用のイメージをダウンロードして、USBメモリにddで書く
  4. ブートセレクタを指定して、DVDで起動する
  5. CentOSのインストール方法の選択時にEscを押す
  6. boot:プロンプトに次のように入力して起動させる。
    boot: linux modprobe.blacklist=ahci inst.dd
  7. ドライバを置き換えるプロンプトが出たら、USBメモリを挿して、ドライバを読み込ませてから、USBメモリは抜く (挿す、r、数字、1、c、抜く、r) これはインストーラには後々まで使うドライブをsdaとsdbに指定させるためで、抜いてRefreshをしておかないと、USBメモリにsdaを強奪される
  8. インストーラが起動したら、LVMを使わないようにパーティション設定を頑張る
  9. インストールを続行させて、終了まで待つ
  10. RAID 1のドライブをネットワーク共有に捧げる

USBメモリの2本刺しの手順も紹介されているけど、うちの構成ではDVD-Rに焼いてインストールするのが素直と感じた。こんな手順で進めて、現在は4回目の9番目が続行中。

これでどれほどのパフォーマンスが出るかは未知数。インターネットの上にはB120iのパフォーマンスの低さを嘆いたり、B120iのドライバのパフォーマンスの低さを嘆く怨嗟の声が上がっているので、あまり期待はしていない。そして他のOSや設定を試したくならないことを願うばかり。