#はじめに
今回、HPE ProLiant ML150 Gen9サーバーを購入し、CentOS7を入れることとなった。その際、システムメンテナンスを考慮して、RAID1で論理ドライブを構成してOSをインストールすることとした。
CentOSをそのまま入れること自体は慣れていたが、RAIDを組んでインストールすることは初の試みであり、インストールの際に物理ドライブが見えてしまう、論理ドライブが認識されないといった現象に詰まったため、ここに備忘録としてRAID1構成によるCentOS7のインストール方法を示しておく。
##RAID構成サーバ環境
今回のサーバの概要を以下に示す。詳しいスペックは割愛させていただく。
HPE ML150 Gen9 E5 v4 (RAIDコントローラ:Dynamic Smart アレイ B140iコントローラ)
物理ドライブ:1TB SATA × 2 を 論理ドライブ:1TB (RAID1構成[ミラーリング]) とすることを目指す。
なお、こちらは、RAID1が構成されていることを前提とする。
ちなみに、RAIDについては、こちらを参照して少々勉強した。
##インストールメディア等作成作業環境
MacBook Air (13-inch, Early 2014) macOS Sierra(10.12.6[16G29])
#よくあること
論理ドライブが見えない(物理HDD2台しか見えない)
(1) ProliantサーバRAIDを組んだが、OS上で認識されない(CentOS7) - Hewlett Packard Enterprise Community
(2)HP ProLiant DL320e Gen8サーバーにScientific LinuxをRAID構成でインストールする。 - 何でも屋さんの備忘録
(3) CentOS7をDL360G5にインストールメモ - tkr0429 blog
(4) CentOS7(1)アレイコントローラの認識 – テクニカルタイムアウト
そのままインストールしてしまうと、論理ドライブを構成しているのにもかかわらず、CentOSのインストール画面で、物理ドライブ(そのまま)が表示されてしまうことがうかがえる。RAIDが認識されるように手を打たなければならないと考えられる。
#標準的なHPE製サーバでのLinux(RHEL)インストール
(5) HP ProLiant サーバー - B110i コントローラーで RAID を構成したドライブに、RHEL6.x をインストールする方法
(6) Linux_ハードウェア_オプション_Dynamic SmartArray B140iコントローラー | HPE 日本(日本ヒューレット・パッカード株式会社)
(7) HP ProLiant Gen8サーバーにCentOS6.4(64bit)を入れる - SEEDS Creator's Blog
公式には、HPE製サーバでのB140iコントローラを用いたRAID構成によるCentOSのインストールはサポート外であるが、RHELのインストールについては紹介、公開されている。
RHELをインストールする時、OSインストールディスクの他に、RAID コントローラー ドライバーディスケットが別途必要になることがわかった。そして、OSのインストール時に、このRAIDコントローラドライバを適用した上で、たとえば、以下のようにインストールを進める必要がある。
####UEFIブートによってCentOSをインストールする場合####
インストール画面が出たら、
-
e
キーを押し、linuxefi
の行末に、inst.dd modprobe.blacklist=ahci
を追記し、Ctrl+x
を押す。 - その後、インストール時に適用もしくは更新するためのドライバ選択(ドライバを適用するためのファイルはどこかを指定する)画面が出る。
- USBもしくはCDなど適切なデバイスを選択(画面に表示されない場合、
r
キーによってリフレッシュする)。 - デバイスを選択したら、ドライバファイルを選択し、ドライバファイルをアクティブ(選択状態)にする。
-
c
キーを押し、コンティニューする - ドライバが読み込まれた上で、グラフィカルのインストール画面が表示される。
- 以降、論理ドライブが認識されることを確認して、通常のインストールを進める。
####レガシーブートによってCentOSをインストールする場合####
-
esc
キーを押し、linux dd blacklist=ahci
を入力し、Ctrl+x
を押す。 - その後、インストール時に適用もしくは更新するためのドライバ選択(ドライバを適用するためのファイルはどこかを指定する)画面が出る。
- USBもしくはCDなど適切なデバイスを選択(画面に表示されない場合、
r
キーによってリフレッシュする)。 - デバイスを選択したら、ドライバファイルを選択し、ドライバファイルをアクティブ(選択状態)にする。
-
c
キーを押し、コンティニューする - ドライバが読み込まれた上で、グラフィカルのインストール画面が表示される。
- 以降、論理ドライブが認識されることを確認して、通常のインストールを進める。
ブートの仕方によって最初のコマンド入力画面の呼び出し方が異なるので注意。
以上から次の手順によって、RAID1構成でCentOSをインストールする必要があることが明らかになった。
#実践
【用意するもの】空のUSB×2(OSインストールメディア用とドライバディスソケット用)
##手順1. CentOS7のインストールメディアの作成
これはいつもの手順である。CentOSのホームページから、Minimal ISO、DVD ISO、Everything ISOのいずれかをダウンロードして、インストールメディアを作成する。
筆者はデスクトップ(GNOME)環境でCentOSをインストールするため、DVD ISOを選択。
###インストールメディア作成(for USB)
####1. DVD ISOのダウンロード####
今回ダウンロードできたのは、「CentOS-7-x86_64-DVD-1708.iso」だった。
####2. USBのフォーマット(FAT32)
ディスクユーティリティー.app
などでUSBをFAT32でフォーマットする
####3. USBへの書き込み(ddコマンド)
以下の手順によって、USBにISOを書き込む。少し時間がかかる。
参照:(8) CentOS 7 を USB メモリからインストール - momota.txt
[1]USB メモリにインストールイメージを書き込む ターミナルから.iso を .img へ変換する。
$ hdiutil convert -format UDRW -o CentOS-7-x86_64-DVD-1708.img CentOS-7-x86_64-DVD-1708.iso
$ mv CentOS-7-x86_64-DVD-1708.img.dmg CentOS-7-x86_64-DVD-1708.img
[2]USB メモリをアンマウントする(PCに指したままだけど、マウントを解除する)。
$ diskutil list
$ diskutil unMountDisk /dev/disk1
[3]dd で USB メモリにインストールイメージを書き込む。
$ sudo dd if=CentOS-7-x86_64-DVD-1708.img of=/dev/disk1 bs=1m
[4]USB メモリをイジェクトして取り外す。
$ sudo diskutil eject /dev/disk1
###インストールメディア作成(for DVD)###
参照:(9) iMac OSX で isoイメージファイルを CD/DVD に焼く - min117の日記, (10) Mac で ISO ディスクイメージを作成する方法 – act2 サポート
####1. DVD ISOのダウンロード####
今回ダウンロードできたのは、「CentOS-7-x86_64-DVD-1708.iso」だった。
####2.DVDに焼き込む
外付け光学ドライブ等によって空のDVDをセットする。
その後、ダウンロードしたISOを右クリックし、CentOS-7-x86_64-DVD-1708.isoをディスクに書き込む
を選択し、DVD/CD マスターで焼き込む。
##手順2. B140iコントローラドライバーディスケットの取得とドライバインストールメディアの作成
これはRAIDを認識させる上で必須の手順である。まず、B140iコントローラドライバーディスケットを取得する。
Hewlett Packard Enterprise サポートセンター(HPE ProLiant ML150 Gen9 Server)
このどちらかをダウンロードして、展開する。
hpdsa-1.2.10-139.rhel7u4.x86_64.dd.gz
(インストールするCentOSが7.4の場合)
hpdsa-1.2.10-139.rhel7u5.x86_64.dd.gz
(インストールするCentOSが7.5の場合)
その後、OSインストールメディアと異なるUSBを差し込み、FAT32でフォーマット後、同じくdd
コマンドによってUSBに書き込む。
$ sudo dd if=hpdsa-1.2.10-115.rhel7u3.x86_64.dd of=/dev/disk2
以上で、ドライバディスソケットの用意が完了。
##手順3. 各メディアを差し込んだ上でサーバ電源投下##
BIOSで起動順位を変更したのち、USBからブートする。
##手順4. B140iコントローラドライバーを適用するためのコマンド入力とドライバ適用
インストール初期画面が出たら、e
キーを押す。
画面が出たら、linuxefi
の行の末尾に、inst.dd modprobe.blacklist=ahci
と入力して、Ctrl+x
キーで実行。
画面が出たら、RAIDコントローラのためのドライバディスソケットを焼き込んだデバイスを選ぶ(ここでは読み込まれなかったので、r
でリフレッシュ)。
リフレッシュされたら、ext4
のタイプの4を選ぶ(ここはそれぞれの環境で異なる4
を押してEnter
)。
デバイスの中身が読み込まれたら、お目当ての、kmod-hpsa-3.4.20-113.rhel7u3.x86_64.rpm
の1を選択する(1
を押してEnter
)。
これでCentOSインストール時にRAIDコントローラドライバが適用された上でインストールが進む。
##手順5. CentOSインストール開始
これ以降は、通常通りの作業。もし論理ドライブが認識されていない場合はもう一度上の手順を確認すること。もしくは、RAIDが構成されているのかどうかを確認すること。
#おわりに
RAIDでCentOS7をインストールすることができた。次は、HDDが故障したときの復旧の仕方について勉強したい。
###参考文献###
Install CentOS 7 on HP dl120 gen9 server with b140i raid controller - Server Fault