さて、RAID ControllerはOSから見ると複数のHDDを単一ドライブとして見せることで冗長性や速度性を上げる事が出来る便利な機能ですが、OSからHDDに直接アクセスする事は出来ません。
簡単に説明すると、複数のHDDがあった場合にどのドライブに何が書かれているかはRAID Controllerで管理されているためOS上から確認することは出来ないのです。
従って、HDDを直接制御するためのソフトウエア等は使用できなくなるのでちょっと使い勝手が悪い。特に、今回トライしようとしているHDDのセクターサイズを520byteから512byteへ再フォーマットする場合には、直接HDDにアクセスする必要があるのでHDDは認識するがRAID機能は無効にする必要がある。
ファーム書き換えでHBAにしてしまう
「HDDは認識するがRAID機能は無効にする」という機能はカードをHBA化する事である。
ここに詳細が書かれていますが、ファームを書き換えてIT (Initiator-target) = non RAID(HBA化)する必要があるのです。
ファームの書き換え
DELL製のRAID Controller(PERC)シリーは、分かり易く(英語ですが)ファームの書き換え手順がサイトにありますので、説明に従ってファームの書き換えを行いHBA化をしてゆきたいと思います。
今回の対象カード(PercH310)
ヤフオク!等でDELL製のRAID Controllerが3,000円ぐらいで売りに出ているので、PercH310を入手しました。ところが、いままでNASとして使ってきたQuanmax MITX-DNV6のマザーボードに接続するとエラー(ビープ)音が鳴ってBIOS起動すらしなくなった。試しに10年位前のMOUSE Computerに搭載してもダメ。ヤフオク!で故障カードを買ってしまったか?と思って、更に古いGateway FX6800-03j(M/B:Foxconn TBGM01)というマシンのマザーボードに接続したら認識しました。
ファームウエアの入手
https://fohdeesha.com/docs/perc.html
というサイトへ行きIT Modeのファームウエアを入手します。
ファームウエアの解凍&USBへの書き込み
Dell Perc Flashing ZIP
をダウンロードして解凍すると
・deesh-FreeDOS-v2.4.iso
・deesh-Linux-v2.3.iso
上記2つのファイルが入っています。deesh-FreeDOS-v2.4.isoで書き換え→deesh-Linux-v2.3.isoで書き換えの順で書き換えを行います。要するにFreeDOS版とLinux版の2回の方法で書き換えが必要なのです。
USBへの書き込み
USBを用意して、「rufus」というソフトウエアで「deesh-FreeDOS-v2.4.iso」をUSBへ書き込みします。「rufus」はブート可能なISOイメージファイルUSBメモリに書き込みフリーなソフトウェアです。
IT モード フラッシュ
USBに書き込みが完了したらパソコンのBIOSをUSB優先起動にして起動します、そうするとFreeDOで立ち上がると思います。
>info
とコマンドを打つと、Product Name(カード名)とChipRevision、SAS Addressが表示されます。
ここで重要なのはProduct NameとSAS Addressで、私が入手したカードはH310 Adapterdでした。
また、後で書き込みますのでSAS Addressをメモしておきます。(ここ重要です)
このカードのフラッシュ方法はhttps://fohdeesha.com/docs/H310-full.htmlに記載してありますので、手順に沿ってフラッシュします。
カードのクリーニング
FreeDOS のままで、次のコマンドを実行してカード上のフラッシュを消去し、すべての Dell ファームウェアを削除します。これにより、必要な SBR (シリアルブートROM)もフラッシュ(初期化)されます。
>310FLCRS
コマンドを打つと、何故か2つの警告が出ます。
・If your card is not an H310 FULL SIZE, hit ctrl+c now!! Otherwise hit enter
(あなたのカードがH310 FULL SIZEで無かったらCtrl+cを押下、そうでない場合はEnter)
・If you have an H310 Mini instead, hit ctrl+c now!! Otherwise hit enter
(あなたのカードがH310 MiniならばCtrl+cを押下、そうでない場合はEnter)
・ Press any key to clean adapter flash
(何かキーを押すとアダプタをフラッシュします)
初期化されるのしばらく待ちます。
初期化が完了したら、何かキーを押すと書き換えが行われます。
IT ModeにするSerial Boot ROM (SBR)を書き込みます。
Successと出たらIT Modeへの書き換えが完了します。
次にLinuxでの書き込みを行います
DOS版だけで完了かと思ったら、deesh-Linux-v2.3.isoも必要だったんですね。
SSH接続(要するにネットワーク経由でターゲットとなるパソコンに対して書き換えをリモートで行う事で、アクセする為の別パソコンが必要です)の方が操作しやすいので、別のパソコンからTeraTermかPoderosaを使ってSSH 接続します。
順番としては
1)USBメモリにdeesh-Linux-v2.3.isoを書き込みます。
2)USBメモリからLinuxを起動させます
3)ipinfoでターゲットのIPアドレスを調べます(ターゲットとはSASカードが刺さっているパソコンのことです)
4)SSH 接続でターゲットのIPアドレスに対して【ユーザー名:user パスワード:live でログインします
5)「sudo su -」でroot権限を取ります
6)コマンド H310 と打って、自動的にカードをフラッシュさせます
7)エラーが出なかったら、ターゲットを再起動させます
8)再度、上記2)~4)を行います
9)「sudo su -」でroot権限を取り「setsas 590b11c************」とSAS Addressを打ち込みます
10)エラーなしで成功すれば「info」と打ってカード情報が取得出来れば完了です。
これで、PercH310のHBA化が完了しました。RAID制御用のBIOSが無くなったので「ただのインタフェースカード」になりました。
ここから更に問題発生
Gateway FX6800-03j(M/B:Foxconn TBGM01)ではカードを認識してPercH310のHBA化が出来たのですが、今度はLinuxが起動しない【(。・ω・。) なぜ???】手持ちのパソコンでは以下のとおりでした。
Lm-iHS201B-W7 |
起動しない。BIOS画面が出ない。 |
|
Quanmax MITX-DNV6 |
エラー音が出て、起動しない。BIOS画面が出ない。 |
|
Gateway FX6800-03j |
BIOS起動するが、USBブート出来ない。既にAlmm Linuxが入っているSSDを接続しても起動しない。これは、古すぎるGateway FX6800-03jの理由かも知れませんが、他パソコンで起動したAlmm Linuxが入っているSSDでもNGでした。 |
上記のように、Quanmax MITX-DNV6でもエラーだし、MOUSE Computerでもダメだし、Gateway FX6800-03jでもダメ。仕事で使っているAMD B450チップセットを乗せたメインマシンがあるけど、あまりコレにいろいろ接続したくないので、ヤフオク!で格安パソコンを買ってきた。
「DELL OPTIPLEX 7010 Core i5-3470」をヤフオク!で落札
元々、DELLサーバーのカードなのでDELLの格安パソコンを物色していたところ。HDD無し&OS無しで送料入れて¥3,630円で出品されていたパソコンがあったので最低価格で落札。
ついに感動の認識に成功
自宅にあった適当なSSDにAlmaLinux9をインストールして
>#sg_scan -i
と打ち込んでも、カード情報が出てこなかった...。
調べたところ、AlmaLinux9(RHEL9系)では古い拡張カードがサポート対象外となり、カーネルからドライバが削除されてしまったようです。
ドライバを入れればOKということらしく……
>#dnf install elrepo-release
>#dnf install kmod-mpt3sas
としてドライバをインストール(kmod-mpt3sasは認識にかなり時間がかかりました 1分以上待ちます)そうして、ついにSEAGATE DKS2E-H4ROSSの認識に成功。いままでまったく認識出来なかったので感動でした。
いよいよ問題となっている520byteセクタを512byteセクタへフォーマットし直し
>#sg_format –format –size=512 -v /dev/sg0
(format sizeの引数のマイナスは2本です)
と打って、512バイトへフォーマットし直しします。
コマンドを打つと、15秒前/10秒前/5秒前をカウントダウンが行われ進行状況が表示されます。
4TBもあるのでけっこう時間がかかります。(だいたい4TBで20時間ぐらい)
FORMAT UNIT Completeと出れば終了です。ほぼ24時間近くかかりました。
これで、