Copyright (C)SUWA TSUSHIN NETWORK.
All Rights Reserved. TOPへ戻る

No.5016 2018.11.9
2018.11.15 追記修正




RAIDを使ってみる 玄人志向 SATA3RI4-PCIE







□1.概要

今まで使っていたRAIDボードが壊れたため、急遽入手しました。
2013年発売のようですが、2018年10月現在でも価格.comで1位というロングセラー品です。


基板を見るとMADE IN TAIWANとなっています。 すぐ上に1829という数字があるので、2018年7月下旬(29週目)ごろの最新のリビジョンなのかもしれません。


PCI Expressのスロットは、PCI Express x2 です。
形状が似ていてうっかり間違えやすいと思うのですが、x1ではありません。
一般向けのマザーボードでは、x16のグラフィック用のコネクタを使う必要があります。

主な仕様は、コントローラーにはMarvell社 88SE9230が使用されています。
2012年1月に発表されたチップです。
SATAコネクタは4ポートあります。スロットは、ロープロファイルに対応しています。
RAIDは、0、1、10に対応しています。
普通のSATAドライブのポートとしても使用できますし、ブートドライブにもできます。
速度は最大6Gbps(SATA3)に対応しています。OSは、WindowsXPから10まで対応しています。
パッケージには8までしか記載されていませんが、Windows10もOKです。
HDDは最大3TBまで対応しています。
価格.comの口コミによると4TB以上も行けるようですが、8TBを3台以上接続するとダメなようです。
4TB以上にすると、Marvell Storage Utilityが正常に動作しないようです(現象確認済)。
SSDをキャッシュとして使い、HDDを高速化するHyperDuoという機能もサポートしているようです。


BIOSのバージョンは、1.0.0.1024でした。
Firmwareのバージョンは、2.3.0.1065でした。
Marvellの著作権表示は(c)2015とあるので、2015にリリースされたバージョンのようです。
本品は2013年9月発売のようですので、
これよりも古いバージョンで使い続けている方も沢山いると思います。





玄人志向のサイトをチェックをしましたが、
2018年10月現在では最新のファームウェアやドライバが公開されていません。
玄人志向は最新のソフトを提供しない主義に変更されたのかもしれませんが、
メーカーですのでもう少し丁重な対応ができないのかな?と思います。
ちなみにMarvellにもダメ元で問い合わせましたが、ボードのメーカーから貰ってくださいとのことでした。

玄人志向 SATA3RI4-PCIE 
https://www.kuroutoshikou.com/product/interface/ata_sata/sata3ri4-pcie/


非公式のサイトですが、STATION DRIVERSで最新のファームウェアや
ドライバ、ユーティリティがダウンロードできるようです。おススメはしませんが。

STATION DRIVERS MV9xxx (88SE91xx/92xx)
https://www.station-drivers.com/index.php?option=com_remository&Itemid=352&func=select&id=215&lang=en




□2.RAIDの構築方法

RAID 1ミラーリングの仮想ドライブを作成してみます。
後述のMarvell Storage Utilityを使用してWindows上でも作成できるのですが、
ここではBIOSから作成する方法を紹介します。

(1) 予めHDDを増設して動作できるように配線しておきます。
SATAポートはどれを使用しても構いません。
(2) パソコンを起動させて、起動画面でこの製品のBIOS表示のときにCtrl+Mを押下してメニューを立ち上げます。
一瞬しか表示されないので、予めキーを押しっぱなしにしておくと楽です。
するとWindowsが起動せずに、以下のメニューが表示されます。


簡単な意味はこのような感じです。

[Topology]
HBA 0: Marvell 0: この製品コントローラー自身を示します。
Virtual Disks: RAID1やRAID0などで仮想ドライブを作成すると、ここにそのドライブが追加されます。
Free Physical Disks: RAIDで使用されていないドライブが表示されます。

[Infomation]
Vender ID: あらゆるすべてのPCIおよびPCI-Eバスを使用した製品に割り当てられています。メーカーを指します。
      1B4Bは、マーベルを指します。
Device ID: 製品を示すIDです。9230は、88SE9230を指します。
BIOS Version: BIOSのバージョン情報が表示されています。
        BIOSは、ドライブのブート機能やBIOSのテスト結果などを表示するプログラムです。
Firmware Version: ファームウェアのバージョン情報が表示されています。
          ファームウェアは、RAIDの制御や異常判定などの動作を担当するプログラムです。
PCIe Speed rate: PCI Express バスの転送速度です。x2接続ですので、x2と表示されています。
Configure SATA as: HDD等のドライブとの転送モードです。通常はAHCIです。
Supported Mode: 対応しているRAIDモードの一覧です。


(3) 今回は、Western Digital WD30EZRZ を2台接続しています。
他でRAIDとして使用されていたドライブを接続した場合、StatusがForeignと表示されています。
このままだとRAIDドライブとして選択できないのでドライブの管理情報を消去する必要があります。
消去はEnterを押して表示されるメニューから行えます。
Unconfigured と表示されていれば、そのままでOKです。




(4) それではいよいよRAIDの仮想ドライブを作成します。
[HBA 0: MARVELL 0]を選択してEnterキーを押すと、
[Configuration Wizard]というメニューが表示されるのでEnterキーを押します。




(5) スペースキーを押して、RAID用として使用したいドライブをすべて選択します。
選択されたドライブは、先頭に * 印が付きます。
選び終わったら、Enterキーを押して次に進みます。




(6) 各項目を選択します。
[RAID Level] は、ミラーリングの場合はRAID1、ストライピングの場合はRAID0を選択します。
[Stripe Size] は、処理するデータの単位です。基本的にミラーリングはデータが
分割化されないので関係ないのですが、コントローラーで同時書き込みするときの管理容量を指すようです。大きいほうが高速化が望めますが、後述の「□5.RAIDは信用してはいけない」で記載の通りライトホールが起きる可能性が高くなるため、小さいサイズ(32K)を設定します。
[NAME] は作成するRAIDドライブ(仮想ドライブ)の名前です。適当な分かりやすい名前に変更します。
選び終わったら、[Next] を選択してEnterキーを押して次に進みます。




(7) 最終確認のメッセージが表示されます。問題なければ[y] キーを押して完了させます。
Stripe Size等の設定を変更したい場合は、[n] キーを押して戻ります。




(8) 完了すると、[Virtual Disks] に作成したRAIDドライブが表示されます。
完了と同時にビルド(Windowsでいうパーティションのフォーマット)が始まるのですが、
ビルド中も特に意識せずにWindows上でドライブとして使用したり、電源を切ったりして大丈夫なようです。
F10キーを押してメニューを終了します。
Windowsでは作成したRAIDドライブが1台のドライブとして認識され、 RAIDを構成する各ドライブは認識できなくなります。作成したRAIDドライブは、ディスクの管理で通常のドライブとしてパーティションの作成やフォーマットができます。






□3.HDD故障時のリビルド方法

大まかな流れは以下の通りです。
真っ先にドライブの切り分けを行おうとする人がいるようですが、
その判断を誤ったときは最悪の場合に全データが飛びます。
ドライブに異常が発生してエラーが出てもデータは守られるのがRAIDの意味ですので、
とにかく第一にバックアップを取ります。

 (1) RAIDのドライブがネットワークドライブの場合は、ネットワークから切り離す
 (2) RAIDの全データを外付けHDDや他サーバへバックアップする
 (3) 故障ドライブの切り分け
 (4) 正常のドライブと交換
 (5) リビルド開始
 (6) リビルド完了後にデータチェック (OS上で全ファイルのベリファイが理想)
 (7) RAIDのドライブがネットワークドライブの場合は、ネットワークに接続する

RAIDは、不良セクタやドライブの故障などが発生して、RAIDとしての機能に問題が発生することがあります。
ライトホールが発生してRAIDドライブのデータに整合性の問題が発生することもあります。
トラブルが発生すると、起動時のBIOS設定でエラーが表示されます。
後述のMarvell Storage Utilityをインストールしておくと、異常検知時にポップアップメッセージを表示
してくれる場合があります。(残念ながらしてくれない場合もあります。)
ここで重要なのは、Windowsのシステムログをチェックしても、例えばNTFS等のファイルシステムの データに不整合が発生して検知でもされない限り、エラーが記録されていないということです。 要は、RAIDボードのドライバが親切にログを記録してくれることはありません。
RAIDに問題がないかどうかは、BIOS表示やMarvell Storage Utilityでステータスをマメにチェックするしかありません。
Marvell Storage Utilityには、異常をメールで通知してくれる機能もあるようですが、当方ではうまく通知してくれませんでした。



問題のあるRAIDの仮想ドライブのStatusには、[Degraded] と赤く表示されます。 問題のあるドライブの切り分け方法ですが、以下のように行います。



(1) RAIDボードのBIOSメニューを開きます。
他のRAIDボードと異なって謎な仕様なのですが、問題のあるドライブは本来の仮想ドライブから切り離されて、 名前の先頭に [D] が付きます。[Degraded] の先頭文字のようです。
今回の場合は、ポート3に接続されているドライブが故障していることになります。
分かりやすいと言えば分かりやすいのですが、正常なドライブも Status が [Degraded] と表示されているため、
正常なドライブを故障ドライブと誤判断して故障ドライブを元にリビルドするとデータがすべて飛びます。




(2) ドライブの全データをRAID以外のドライブに全コピーしてバックアップを取っておきます。
うっかり間違ってデータを消してしまわないための措置です。
Windows7や10で行う場合、ROBOCOPYを使うのが一番安全です。XPではROBOCOPYが実装されていません。
スタートメニューから管理者権限でコマンドプロンプトを開き、


 ROBOCOPY <コピー元ドライブ> <コピー先ドライブ> /E /COPY:DAT /DCOPY:T /R:1 /W:5


で、フォルダのタイムスタンプを維持したまま全フォルダと全ファイルがコピーできます。
例えばEドライブからGドライブへバックアップを取る場合は、


 ROBOCOPY E:\ G:\ /E /COPY:DAT /DCOPY:T /R:1 /W:5


となります。
コマンドプロンプトはcmdで開くと管理者権限ではないため、正常にコピーできない場合があります。
一般的にRAID1をシステムドライブとして使うのは例外なく厳禁ですので、データドライブとしての対処法です。
システムドライブをバックアップしたい場合は、バックアップソフトを使用します。
LB イメージバックアップ12 ProやAcronis True Image などがあります。
バックアップドライブがWestern Digitalの場合は、Acronis True Image の無料バージョンが利用できます。




(3) 故障ドライブを取り外して、正常なドライブを取り付けます。
間違いなく行えば [Virtual Disks] に [D]RAID1 と表示されていた仮想ドライブは表示されなくなり、 新規で取り付けたドライブが [Free Physical Disks] に表示されています。


(4) RAIDドライブを選択してEnterキーを押して、[Rebuild] を選択します。
間違って [Delete] を選択するとデータがドライブごと消えます。まさに死ぬか生きるかの選択です。



(5) RAID作成と同じときのように使用するドライブを選択して*印を付けてEnterキーを押して完了させると、
最終確認のメッセージが表示されます。問題なければ[y] キーを押して完了させます。





(6) するとRAIDドライブのリビルドが開始します。
リビルド中は、RAIDドライブの [Status] が [Rebuilding] と表示されています。
リビルド中も特に意識せずにWindows上でドライブとして使用したり、電源を切ったりしても大丈夫なようですが、
電源断やリセットのタイミングでライトホールが発生する可能性もなくはないので、電源を入れっぱなしにしてリビルドを早く終わらせます。
なお、再起動等をするとリビルド作業が停止してしまうため、BIOSメニューで再開させるか、後述のMarvell Storage Utilityにて [Resume Rebuild] を実行して再開させる必要があります。









□4.Marvell Storage Utility(MSU)

Windows上でRAIDを管理するツールです。
これをインストールしておかないと、RAIDで異常が発生してもそれを知ることができません。
致命的なエラーが発生したときにはWindowsのシステムログに記録されることもありますが、
そのときにはライトホールで大量のデータが破損しているなど、手の施しようがないくらいに症状が悪化している場合があります。

ただし、このソフト。いろいろと作りが悪いようでバグだらけです。
当方が確認しただけで以下のバグや仕様上の問題があります。

4TB以上のドライブでRAIDを作成した場合、MSUを開いたときにフリーズする。
フリーズしたまま、CPUの負荷が急上昇する。
ApacheがインストールされてWEBサーバーとして動作する。
タスクマネージャーのプロセスを見ていると、頻繁にRAIDドライブとのアクセスがあるため、 CPUやディスクの負荷率が高い。ボード側からの割り込み制御による状態検知ができないのかもしれません。
エラーが発生しても通知がこない、ログに残らない場合がある。
MSUを開くときにWindowsのログインパスワードを入力する必要があるため、セキュリティ上の懸念事項となる。
ビルドなどの一部の作業はできない。リビルドの進捗状況は確認できます。

(1) 最初にドライバをインストールします。
分かりにくいのですが、ドライバCDの以下の場所にある「drvSetup.exe」を実行して インストールします。Windows10でもドライバは自動インストールされないようです。

\3-ALL-64C\SATA6G_M9128

Marvellのドライバは、88SE91xx、88SE92xxですべて共通です。
ブログラムを実行すると以下の画面が出てきます。
インストールウィザードは日本語です。




(2) インストールが正常に完了すると、デバイスマネージャーの記憶域コントローラーに

Marvell 92xx SATA 6G Controller

というデバイス名でハードウェア認識します。




(3) 次にMarvell Storage Utility(MSU)をインストールします。
ドライバCDの以下の場所にある「MSUSetup_v4.1.0.2031.exe」を実行して インストールします。

\3-ALL-64C\SATA6G_M9128\GUI\Windows

インストールブログラムは日本語で表示されます。




(4) インストールが正常に完了すると、デスクトップやスタートメニューに MarvellTray というソフトが追加されるので実行します。

実行するとWEBブラウザが立ち上がり、ログイン画面が表示されます。
ログイン名とログインパスワードには、Windowsログオンで使用しているものと同じものを使用します。
セキュリティ上どうなのかな?と思うのですが、他に方法がないようです。




(5) ログインすると以下の画面が表示されます。
できることは基本的にBIOSから入れるメニューと一緒です。
ただし一部の作業はできないようです。



リビルドの開始や再開、RAIDドライブの削除等も簡単にできるようです。



リビルド中の場合、進捗度合いが視覚的に分かります。







□5.RAIDは信用してはいけない

この記事を読んで、RAIDが使いたくなったかもしれません。
でも大切なデータを守りたいだけなら、RAIDは使用しないほうがいいかもしれません。


(1)故障率は上がる

RAID 1 などは、大事なデータを守るための機能です。
パソコンに詳しい人でも勘違いしている人が非常に多いのですが、
データが消失する確率は確かに低くなりますが、システムの故障率は高くなります。
平均故障間隔MTBFは短くなります。
例えば、単位時間当たりのドライブの故障率を1%として2台でRAID 1を構成する場合、
ディスク交換が必要な故障率は、1.99% (=100% - (100% - 1%) x 2台)と2倍になります。
HDDを交換したりリビルドする機会は、HDDが増えるほど比例して増えます。
これはRAID5や6でも同じです。HDDが増えれば増えるほど、故障率は高くなります。
あくまでもデータが消失する確率が、Wikipedia等に記載されるように
0.01% (0.01*0.01=0.0001) と1/100になります。


(2)RAIDボードにも問題がある

実際にはRAIDボードの故障率も考慮する必要があり、経験上ですが故障率は意外と高いです。
コントローラーを専用LSIで開発するためエラッタが含まれる確率も高く、
ファームウェアやドライバのバグ等も少なくないので、信頼性は落ちます。
普及率が一般向けとは異なり高くなく、そもそもバグやエラッタが
単独の相性や故障であると勘違いされるケースも少なくありません。
ボード側のフラッシュROMでRAIDの基本データを保存している製品の場合は、
ボードが壊れて交換してもデータが一切読み出せなくなる物もあります。
ボードに不具合があると、HDDが正常でもデータを破壊していく場合があります。
過去にはHDDに異常な高負荷を掛けて、HDDを破壊する設計不良を持つ製品もあったようです。
これらの場合、RAID 1におけるデータが消失する確率は、無効化されてしまいます。


(3)データが破壊される可能性は上がる

RAIDの制御は、HDDが単純に完全に壊れることを前提に設計されている場合が多いも注意が必要です。
HDDの壊れ方には色々とありますが、それを広く深く想定していないRAIDボードが意外と多かったりします。
HDDがタイミング良く完全に壊れて読み書きができなくなれば、正常なHDDのデータは安全に守られます。
しかし書き込み中にタイミング悪く壊れるとその瞬間のデータは破壊されます。
HDDが完全に壊れずに不安定な動作状態であったりすると、
RAIDコントローラー側でのチェック能力にも限界があるためデータが破壊されていきます。
これを一般的には「ライトホール問題」と言います。詳細についてはWikipediaに分かりやすく書かれています。

ライトホール問題
https://ja.wikipedia.org/wiki/RAID#ライトホール問題

ここで問題なのは、HDDが不安定な状態で動作不良から正常に戻るような場合があることです。
HDDが不安定だとライトホールが増えていき、その状態で気づかずに「整合性チェック」などの機能を使用すると、
不整合なデータについてはライトホール側の破損データが正と誤判断されて正常なHDDのデータまで破壊していく場合があります。この判定についてはRAIDコントローラー側で一任されるため製品の良し悪しに直結するのですが、どれが良くてどれが悪いのかは誰にも分からないのが現状です。つい先日もNECブランドの定価がそれなりのRAIDボードで、実際に整合性チェックで多くのデータが飛んでしまいとても悲しい思いをしました。


(4)ライトホールで破損したデータを復旧させる方法

残念ながらありません。書き込みが不完全なデータは0000のビットで構成されるため、
整合性チェックで正常なデータにライトホール側のデータが上書きされると、復旧させることができません。
膨大な時間を掛けてどこかに残っていないか直接全セクタのビットを確認しましたが、それらしいものは残っていませんでした。
ログをチェックして不整合が発生していたらそのままにし、できるだけ早く全データをROBOCOPY等で正常なアレイもしくはHDDにコピーして、ライトホールが発生しているアレイは削除するしかありません。


(5)データを守る方法

一番安全なのは、大容量でグレードの高いHDDを直接マザーボードに繋げて普通に使う方法です。
データはROBOCOPY等で外付けHDD等に増分バックアップするのが一番安全です。
外付けHDDは、バックアップ作業以外の時は電源を切っておけば確実です。



スポンサードリンク

TOPへ戻る


ご利用条件
 Copyright (C)SUWA TSUSHIN NETWORK. All Rights Reserved.