keroqueue logs

アウトプット癖をつけるために始めました。何を書くかはよくわかりません。


格安N8103-130を9260-8iに改造してSATA3対応RAIDアレイを構築する

f:id:keroqueue:20200113032149j:plain

概要

ニュー・PCを組んで余ったパーツを使ってサーバー用マシンを組んでESXiを導入したが、ESXiはチップセットソフトウェアRAIDを認識しないようだった。 そこで、RAIDコントローラーを使ったRAIDアレイを構築することにした。
RAIDコントローラーの選定や改造、設定などについてのログ。

モチベーション

やったこと

RAIDコントローラーの選定と入手

色々調べた結果、良さげだなと思ったのはLSI MegaRAID SAS 9260-8i。しかし、これは中古でも数マン超えでかなり高い。
さらに調べた結果、NEC製のN8103-130を選択することにした。理由は以下。

  • 安い
    ヤフオクで取り外し品が3000円程度で買える。

  • ひと手間かけるとSATA3対応
    そのままではSATA3非対応だが、ファームを9260-8iのものに書き換えることで対応させることができる。

で、届きました。

Mini SAS-SATAケーブルは以下のものを購入した。

ファーム書き換え

※ ファー厶の書き換えはパーツやPCの破損に繋がる恐れがあります。以下を参考にした場合も、手順や発生したトラブルについて一切の責任を負いません。

  • DOSファームウェア等の準備
    rufusを使って、USBメモリDOSを焼く。ブートの種類はFreeDOS
    USBメモリのルートにMegaRec.exeなどのツール一式をコピーする。ツール一式は以下からダウンロードした。 www.mediafire.com LSIのサポートページから、9260-8iの最新ファームを入手して、USBのルートにコピーする。 www.broadcom.com

  • 書き換え
    USBからブートして、以下のコマンドを実行していく。なお、コマンド中の'0'はPCIカードのインデックスとなるため、書き換え対象のRAIDコントローラーのみ挿した状態の方が安全と思われる。

    • ブランクのSBRを書き込んで空の状態にする
      C:\>megarec -writesbr 0 sbrempty.bin

    • 9260-8iのSBRを書き込む
      C:\>megarec -writesbr 0 <ダウンロードしたファームウェアのファイル名>

    • フラッシュをクリアする
      C:\>megarec -cleanflash 0
      ここで再起動しろいわれるので、再起動。

    • ファームウェアを焼く
      C:\>megarec -m0flash 0 0102_lsi.rom

TypeとFirmware Versionが書き換わっていれば成功。

RAIDアレイ構築

RAIDアレイを構築していく。ディスクは余りパーツのSATA SSD 2台に、同モデルを2台買い足した計4台。モードは1台の障害を許容できるRAID5とした。

4台のディスクを無造作においておくわけにもいかないので、2.5inchディスクを4台収容できるモジュールラックを購入。

CREMAX HDD&SSDx4台搭載可能モジュールラック ホットスワップ

CREMAX HDD&SSDx4台搭載可能モジュールラック ホットスワップ

  • 発売日: 2015/08/25
  • メディア: Wireless Phone Accessory

こんな感じで設置。早いとこケースを買わなければ...。 f:id:keroqueue:20200111225348j:plain

ToDo: 画像を追加する

起動後、[Ctrl+H]でWebBIOSに入る。

[Configuration Wizard]を選択。

New Configurationを選択。

Manual Configurationを選択。

対象のディスクをDrive Groupsに追加する。

Drive GroupをSpanに追加する。

RAIDの設定。以下のポリシーで設定した。

項目 メモ
Access RW R/W両方許可する。
Read Nomal Aheadにするとシーケンシャルリードの速度が上がる。
Disk cache Enable Enableにするとディスクのキャッシュを利用して、読み込み速度が上がる。
I/O Direct Directの方が読み書きが早いらしい。
Disable BGI No Back Ground Initialzationを有効にする。
Default Write Always Write Back キャッシュに書き込まれた時点で処理完了させて、書き込み速度を上げる。電源が不意に落ちた場合などはデータロスする可能性がある。

データストア追加

構築したRAIDアレイをESXiのデータストアとして追加する。
"megaraid1"という名前でデータストアを作成した。 f:id:keroqueue:20200112031830p:plain

パフォーマンス測定

ゲストOS(Windows10 64bit)から、作成したRAIDアレイのパフォーマンスを計測する。ディスクプロビショニングは一番速度の出るEager Zeroedとした。 f:id:keroqueue:20200112195706p:plain

...。 f:id:keroqueue:20200112215127g:plain

計測結果は以下。書き込みの遅さが気になる。シーケンシャルのQ8T1とQ1T1で速度がほぼ同じなので、どこかに帯域のボトルネックがあるのだろうか。調べてもよくわからなかった。 f:id:keroqueue:20200112204805p:plain

同じSSD2台でRAID0アレイを作成した時の速度は以下。懐かしい。

そして、これを軽々と凌駕するNVMeはとてつもないことがわかった...。 keroqueue.hatenablog.com f:id:keroqueue:20190929130249p:plain

所感と雑記

SSD4台のRAID5アレイを構築したが、速度はNVMeのSSDx1に完敗だったので、速度/価格のコストパフォーマンスはいまいち。(そもそも速度を求めるならRAID0だが。)NVMeが対応しているマザーを使う且つ障害を気にしないのであれば、SATA SSDを使ったRAIDよりもNVMeのSSDx1を使った方がいいと言える。
しかし、ファームの書き換えやRAIDのポリシー設定などはそうそう経験できることではなく、楽しかった&勉強になった。