SATAに買い替えた方が楽だったかもしれないけど、勉強のためにチャレンジしてみました。
最終的には「SAS HDDを利用したLinuxによるNASサーバー構築」したいとおもいます。
はじめに(このストーリーの始まり)
昨今、HDD本体の値上がりがひどくて現時点(2023/12)だと8T HDDが19,000円(左)ほどで売られています。半年ぐらい前だと、13,000円程で買えたので5,000円の値上げで価格上昇が半端ないです。
バックアップ用に安くて容量のあるHDDを物色しているとRakutenで中古だが8T HDDが8,500円(右)程で売られていたことを発見して、何も考えずに購入してしましました。(ここからが失敗&出費の始まりです)
よく見ると左側はSATA、右側はSASとしっかり書かれています。
SATAとSASって何なの
技術的な内容はさておいて、簡単に言うとSATAは一般パソコンで使用できるHDD、SASはサーバー用途のHDDと言うことです。
もう少し詳しく書くと、SAS接続はケーブル長8mまで伸ばせる。理論上は1万6000台以上接続可能と言った規格です。まあ、イメージ的にはサーバールームでHDDが数千台も繋がってデータとやりとりをする凄いデータセンター的な接続はSASだと思って良いかもしれません。
コネクタの違い
インタフェースを見ても非常に似ていますが、真ん中が欠けているのがSATA、繋がっているのがSASになります。
製品によってはSATA/SASコネクタと言って、SATAもSASも繋がるコネクタが存在しますが、そもそもデータの伝送方法が異なるので、インターフェースが合わないと繋がっても使用(HDDを認識)することは出来ません。
こんな感じで接続する必要があります
SATAは一般のパソコンで接続する方式なので、ほとんどのマザーボードに接続端子がありそのまま接続することが出来ます。一方でSASの場合はSAS専用のインタフェースを用意してそこに接続する事になります、たいていの場合は「RAIDコントローラ」という名前でSATA/SAS両方に対応したPCI Express接続されるカードになります。
具体的なカードをあげると
以下の様なRAIDコントローラが対象になります。注意するポイントとしてSASコントローラが入っていることインタフェース(PCI ExpressX8)がお使いのPCに実装されていること・・・が重要です。
ケーブルも特殊です
ケーブルもRAIDコントローラに対応したケーブルが必要になります。以下の様な様々な形がありますが、例えばMegaRAID SAS 8708EM2の場合はSFF-8087のケーブルになります。
しかし、8708EM2で8T HDDが故障中と出る
BIOS設定の前に………、問題が発生。安価で購入した「RAIDコントローラ」に8T HDDを接続してみると、故障中(UNCONF BAD:notresponding(Unconfigured Bad))と表示されてしまったのです。
別に購入した300G HDDを「RAIDコントローラ」に接続したところ、UNCONF GOOD(Unconfigured Good):285568MBと表示され正常に認識されました。
300GのSAS HDD、こちらは問題無く認識しました
UNCONF GOOD(Unconfigured Good):285568MBと表示されるので、未使用状態で正常な状態です。
RAIDに組み込むことが出来ます。
HGST 8TのSAS HDD、こちらで問題発生(よくハードディスクを見ると12.0Gb/sと表示されている)
UNCONF BAD:notresponding(Unconfigured Bad)、アレイ未構成で故障状態と表示される。
このままでは、使えないHDDとなってしまう。
RAIDコントローラの仕様を見てみた
8708EM2(今回使用した「RAIDコントローラ」)の仕様を確認すると。最大データ転送レートが300MB/Secになっている。
一方で、別のRAIDコントローラを見ると(例:NEC N8103-117)以下のとおり。何となく、「RAIDコントローラ」によってデータ転送レートが異なることが判明しました。
SASに複数の仕様があることが分かった
調べたところ、以下の仕様があることが分かりました。
SASにはSAS(SAS1.0)/SAS2.0/SAS3.0という仕様が存在し、SAS(SAS1.0)は最大データ転送レート300MB/Sec・SAS2.0は6.0GBit/Sec・SAS3.0は12.0GBit/Secという仕様による速度設定がある。
参考になるがSATAにはSATA1/SATA2/SATA3という仕様が存在し、SATA1は1.5GBit/Sec・SATA2は3.0GBit/Sec・SATA3は6.0GBit/Secである
今回のUNCONF BAD:notresponding(Unconfigured Bad)と出た理由は、SAS(SAS1.0)インターフェースにSAS3.0のHDDを接続したために出たものだと類推。
ネットで調べるとSAS3.0とSAS2.0には互換性があると言うことなので、ヤフオク!で安価なSAS2.0インターフェースを入手することにした。ついでに、安価なSAS3.0対応カードが見つかったら手を出すと思う。
NEC N8103-177 RAIDコントローラを購入
勉強のためにRAIDコントローラ関連で総額で1万円ぐらい投資してしまったかもしれません。
結果は以下のとおり
要するに、HDDのSAS仕様に適合したRAIDコントローラを使う必要があるということです。
RAIDコントローラ種別 | 認識状況(8T HDDを接続した際の表示) |
SAS 1.0(最大300MB/Sec) |
認識せず(故障) |
SAS 2.0(最大6.0GBit/Sec) |
931Gとして認識 |
SAS 3.0(最大12.0GBit/Sec) |
8T HDD(実際には7.27TB)として認識(ただし故障として認識) |
ちゃんと認識するようになりました。
ただし、バーチャルドライブを設定すると以下の様にFailed(故障中と出てしまいます)。4T HDD(3.63TB)はちゃんとOnlineで認識しています。BackPlaneが悪いのか不明ですけどちょっと困惑です。
いろいろ書きましたが、結果は以下のとおり
・SASには1.0/2.0/3.0の3つの仕様がある
・RAIDカードもSAS仕様によって異なる
・RAIDカードの機能もカード毎に異なる(RAIDの対応種類もカードによって異なる)
・SAS仕様毎に接続するケーブルに違いがある
・SAS 3.0(最大12.0GBit/Sec)を接続する場合にはSFF-8643
・NEC N8103-177 RAIDコントローラの場合、4TBは正常に動作するが8TBはFailedと出てしまった
結局 SAS 4TB HDDを4発購入
SAS 8TB HDDじゃなくてSAS 4TB HDDが¥2,800/台だったのでSAS 4TB HDDを買ってみた
そうするとちゃんと認識しましたね。
HDDケースとパソコンの用意
さて、RAIDコントローラの種別が分かったところでHDDを導入する筐体とコントローするパソコンをどのように入手するか検討してみた。
ヤフオク!やメルカリで調べると「Radix NAS Alrit AH15H044N005X2H095ZZ」という筐体が使い勝手が良さそうなので早速購入してみることにしました。購入時に注意することは「マザーボードが付いている、HDDのコネクタ部が付いている」筐体を購入することです。
中古で出回っている場合、マザーボード等が抜かれている場合があるので注意が必要です。私の場合は、メルカリで4,700円(送料込み)で購入しましたが、詳細を調べてゆくうちにかなり(値段の割に)高機能なマシンだと分かりました。
この筐体をいろいろ調べたところ
【マザーボード】
Mini-ITX規格の産業用マザーボード
Quanmax Atom C3538 USB3.0 m.2スロット サーバー向け ITXマザー mITX-DNV6(写真はmITX-DNV)
特徴としては6つのSATAインタフェース/4つのGbE_LANポート/PCIE x8 Slot付きで、まさにサーバー向き。
【HDD Backplane】
HDD接続部は SAS/SATA共用のコネクタでした
4-Port 6Gb/s SAS/SATA Backplane(3RAMVI002600)写真は3RAM36039000
説明書がネットにありました。
(2023/12/22追記)Backplaneが6Gb/sと書いてあります。しかしSAS3.0は最大12Gb/sなので転送には耐えられない可能性があるのでは?と思ったのですが、8T HDD(12Gb/s・HGST)は故障と出て、4T HDD(12Gb/s・DELL)は接続出来ました。よく分かりません。
3.63TBが12Gb/s・DELL製品
7.27TBが12Gb/s・HGST製品
Failed(故障)と出てしまう
組み立て
そんなに難しく無いです。一番手前にPCI Expressx8があるのでRAIDコントローラを接続します。そしてマザーボードから出ている赤いSATAケーブルを抜きます。写真は8708EM2 RAID Controller(SAS1.0)ですが、他のRAID Controllerも
「SFF-8087 SATA ファンアウトケーブル 4ラッチ付き」(呼び名は何でも良いですが)SFF-8087と4つのSATA が繋がるケーブルをRAIDコントローラと接続します。
これでハード的な接続は完成です。次はBIOS設定に移ります。