RAIDの組み方(Rocket Raid 2840Aの場合)

2020年9月14日

Davinci Resolveで動画編集するにあたって、4K映像でもサクサク読み出しが出来るHDDが欲しい!ということでRAIDを組んだので、その一例を紹介します。

RAIDコントローラーを使用する理由

説明すると話が脱線してしまうので、理由とか成り行きについてはこちらを参照してください。

最低限必要なもの

  • RAIDコントローラー本体
  • PCI-Express 3.0 x8のスロット1つ(RAIDコントローラー用)
  • HDD本体(3台~4台以上)
  • HDD用の電源ユニット側のポートの空き
  • HDD用の電源ケーブル
  • Mini-SAS to SATA*4のケーブル1~最大4本
  • PCケース内のHDDベイの空きスペース

これだけあればOKです。

使用したRAIDコントローラー

今回使ったのはディラックが輸入したRocketRaid 2840Aです。(ディラックのRR2840Aのページ

なぜこの機種かというと、最大で16チャンネルまで接続できる内部ポートを持っているからです。例えば10 TBHDDを16台繋げて100 TBを超える大容量ストレージを組むことも可能です。大抵の機種は4~8ポートなのでこの差は大きい。

また、最初のうちは8チャンネルだけ使って、将来SSDが安くなった時に残りのポートを使うなどの拡張性もあります。

RocketRAIDには似たような型番の機種がいくつかあります。下の表を見てもらうとわかりますが、家庭用として普通に使うのであれば次の3つのうちどれを買っても問題ありません。

項目 RR3740A RR2840A RR840A
バスインターフェース PCI-Express 3.0 x8 (8GT/s Transfer late) PCI-Express 3.0 x8 (8GT/s Transfer late) PCI-Express 3.0 x8 (8GT/s Transfer late)
ポートタイプ SFF-8643 (mini-SAS HD) x4 SFF-8643 (mini-SAS HD) x4 SFF-8643 (mini-SAS HD) x4
最大サポートディスク数 16 16 16
SAS LTO Drives
12Gbps SAS サポート

3740以外は12Gbps SASケーブルに対応していません。
スペックにこだわる人なら12Gbps SAS サポートに惹かれるかもしれませんが、これはケーブル1本だけで何万円もする規格ですし、HDD側もSATAではなくSASポートのHDDを買う必要がありますから、一般家庭では現実的ではありません。ガチのサーバー仕様です。

私が購入したRR2840Aはこちら。

購入場所、型番、保証書に注意

こういう製品は需要が少ないせいで流通量も少ないのか、なかなか情報が少ない。(取り付け方とか疑問点とか)

私が購入したのはRocketRAID 2840Aですが、Amazonで購入(Amazonが出品&発送)して届いた製品の本体には3740B3720B840B820Bの4つの印字がありました。たぶん本体の作り自体はどれも同じで、内部で設定が違ったり部品を付け足しして仕様を変えているんでしょうね。

最初見た時は「え、注文した型番と違うやん」と思ったのですが、実際に使ってみるとHighPoint RAID Management(ブラウザ管理画面)ではちゃんと2840Aと認識されていましたし、ちゃんと稼働します。

また、箱の表面にディラック(DIRAC、輸入代理店)の1年保証シールが貼ってありました。箱の中には保証書は入っていなかったので、恐らくHighpoint自体は保証書を発行していないのでしょうね。Amazonマーケットプレイスなどで個人や小規模企業が輸入している店から購入した場合は保証書が無いと思います。そういう場合は外から箱を見ても保証シールが貼っていないので購入時に注意しましょう。

また、私のはダンボール梱包じゃなくてレターパック的なやつで届いたので、箱はちょっと凹ってたし、中身も本体と説明書とバックプレートくらいしか入っていませんでした。クッション材は黒くてちょっと臭いスポンジでした。

使用するケーブルの種類

  • SFF-8643
  • SFF-8644
  • SFF-8087
  • SFF-8088

RAID用で分岐ケーブルを使う場合、こういう種類を見かけます。どれを使うかはRAIDコントローラーによって異なりますが、今回使ったのはMini-SAS to SATA*4のSFF-8643(7ピン)です。似たような違うケーブルを買わないように注意してください。(15ピンのとかもあるので)

必要なケーブル長さ

私のPCケースはCooler MasterのCOSMOS IIってやつ。
私は1メートルのMini SASケーブルを買いましたが、実際に組んで見ると50センチでも足りると思いました。もし不安なら75センチでもいいかもしれませんね。1メートルは確実に要りません。(裏配線を無駄に圧迫する)

使用したストレージ

HDDなら何でもいいです。同じ容量のHDDSSDを用意して下さい。

これは人によって違うと思うので詳細は話しませんが、私は耐久性のあるNASHDDを使いました。私の場合はRAID 6まで選択肢がほしかったのでとりあえず14 TBを4台購入。合計56 TBで、RAID 6/10なら28 TB、RAID 5なら42 TBまで使えます。(厳密には42^10*12バイトをテビバイトに換算すると42*(10^12)/(2^40)=38.198なので、ドライブの一覧では38.1 TBと表示されます)

5分岐SATA電源ケーブル

電源ユニットの空きは事前に確認しましょう。また、電源ケーブルは通常は付属していないと思うので、ついでに購入するようにしましょう。電源ポートの空きを無闇に使わないように、こういう分岐ケーブルを使うのもオススメです。

ハードウェアの取り付け

取り付け自体はすごく簡単です。

  1. PCの電源をOFFにして電源ケーブルを抜く

  2. 空いているPCIスロット(PCI-Express 3.0 x8以上)にRAIDコントローラーを差す

  3. HDDをベイにセットする

  4. Mini-SASケーブルをRAIDコントローラーに接続する

  5. HDDに電源ケーブルとSATAケーブルを繋ぐ

ソフトのインストール

HighPoint RAID Management

インストールソフトのダウンロード場所。

Windowsの場合は赤線を引いた部分の2つをダウンロードし、インストールしてください。(WebGUIDriver for windows
私の時はBIOS更新等は不要でした。

RAIDの構築

インストールしたHighPoint RAID Managementをダブルクリックすると、ブラウザでの管理画面が開きます。
  1. パスワードを設定してログイン

  2. Logicalのタブを開く

  3. Create Arrayを選択(次の各項目を選択します)

    Array type

    好きなRAIDを選んで

    Array Name

    後で変更可能なので好きな名前でいい。

    Initialization Method

    初期化の方法。初めてならForegroundでOK。

    Cache Policy

    Write Back

    Block Size

    64Kとか128Kが選べますけど、大きいデータが多いので私は128Kにしました。

    Sector Size

    RAIDの種類によってはこれで512とか2Mとか選べます。これも大きいデータが多いので私はMAXの2Mにしました。(ひょっとしてディスクフォーマット時のアロケーションユニットサイズと連動してるのかな?後述)

    Available Disks

    使用可能なディスクのうち、RAIDに使うディスクを選択します。

    Capacity (According to the max free space on the selected disks)

    「選択たディスクの最大空き容量に応じて」の意味。使用可能なディスクのうち、RAIDに使うディスクを選択します。全部使いたいなら「Maximum」の表示のままでOK。

あとはCreateボタンを押せば初期化が始まります。

RAID初期化のForegroundとBackgroundの違い

フォアグラウンド初期化処理 (Foreground Initialize)

ロジカルドライブ(論理ドライブ)の全領域に「0(ゼロ)」を書き込み、各ハードディスク間の整合性を整える初期化方法。ハードディスクの全領域に対する書き込み処理が実行されるので容量に応じて処理に時間が必要となり、その間、ドライブは使用できない。

バックグラウンド初期化処理(Background Initialize)

ロジカルドライブの初期化処理をホストからの通常 I/O 処理と並行して実施する方法。ロジカルドライブを作成した直後から初期化完了を待たずにロジカルドライブを使用可能。ただし、バックグラウンド初期化中はI/O処理性能が低下する場合がある。

初期化にはめっちゃ時間かかるので注意

使用するHDDの容量が多ければ多いほど、初期化に時間がかかります。私はフォアグラウンドで14 TB*4=56 TBで、RAID 5で28時間かかりました。HDDの処理速度と容量に左右されるのは確かで、RAIDの種類にもよるかもしれません。

CPUなどにはほとんど負荷は掛からず、代わりに時間をかけて処理してるみたい。例えば途中でPCを再起動しても、途中から再開してくれるので安心です。気長に待ちましょう。待てない場合はバックグラウンドで初期化してください。

ちなみに、インテルのOSに依存した「インテル・ラピッド・ストレージ・テクノロジー」を使ったRAID構築だともっと時間が掛かるみたいです。

ドライブのフォーマット

RAIDの構築が完了したら、あとは通常のドライブのように使用できるのですが、ここで選択肢があって悩みました。

ファイルシステム

NTFS

OSがWindowsで、Macでも接続して編集する予定がないならNTFSでOK。

exFAT

Macでもデータを操作・編集することが前提ならexFATを選択。仕方なく選択するものであって、積極的に選ぶべきではないと思う。

クイックフォーマット

クイック・フォーマットにはチェックを入れてください。デフォルトでも入っているはずです。

クイックフォーマットと通常のフォーマットの違い

不良セクタをチェックするかどうかの違いです。クイックフォーマットではこのチェックを省くので短時間で処理が終わります。

新しく買ってきたHDDなら、通常はクイック・フォーマットにチェックを付けるべきです。一方、これを選択しない場合というのは、例えば今まで使ってたHDDを転用する場合など。

そもそも、RAIDをイニシャライズする時点でもチェックは行われているでしょうし、HDDの健康状態を知りたいなら上でインストールしたHighPoint RAID Managementphysicalタブでステータスを確認すれば済むんじゃないかと思うんですよね。そのメニューにもFix Bad Sector(バッドセクターの修復)があるので。

アロケーションユニットサイズ

フォーマット時のアロケーションユニットサイズをデフォルトの4096と2Mのどっちにするかで悩み、両方試してみました。結論としては小さいファイルを扱う場合でも、動画みたいな大容量データを扱う場合でもデフォルトで良いです。

4台のHDDでRAID 5を組んだ時の速度

ここからは、HDD 4台でRAID 5を組んだ場合の速度を紹介します。

50MiBのテスト

アロケーションユニットサイズが2Mの場合

シーケンシャルReadは613~775 MB/sで概ね700前後で問題なし。でもシーケンシャルWriteは419~470 MB/s台で大きな落ち込みがありました。また、データブロックのサイズが大きくなるので容量効率が悪くなります。

アロケーションユニットサイズがデフォルトの場合

シーケンシャルReadは691 MB/sで、シーケンシャルWriteも400ちょっとで2Mの時と大差なし。

1GiBのテスト

アロケーションユニットサイズが2Mの場合

シーケンシャルのReadとWrite共に750 MB/s前後出て良好。

アロケーションユニットサイズがデフォルトの場合

シーケンシャルのReadとWrite共に800 MB/s近く出て良好。

事前調査では4台だと400 MB/sくらいしか出ないと思っていたので嬉しい誤算でした。シーケンシャルならSSD単体よりもだいぶ速い!!
6台で組んだら1000 MB/sくらい行きそうな感じです。

アロケーションユニットサイズに関する総論

理論上は、データブロックサイズの大きいM2のほうが大きいデータを扱う時に有利なはずなのですが、実測値としてはM2だろうがデフォルトだろうがランダムアクセス性能は大差がなく(元々低いからどうでもいい)、デフォルトのほうがシーケンシャルは若干高い傾向にありました。また、容量効率も考えると、敢えて2Mにするメリットはあんまり無いように感じました。どうしても速度を上げたいならHDDの台数を増やすほうが効率的です。

質問とかあれば可能な限りお答えするので気軽にコメント欄へどうぞ。