今回は、自宅ラボで 「お手軽に共有ディスクを使ったクラスター環境の検証がしたい!」 という少々マニアック(というか変態的)な検証記録を残しておきす。
ことの始まりは、職場でWestern Digitalの超巨大なJBOD装置「Data60」を扱うミッションができたことでした。 この手の装置を売る際、単体だけでなく「サーバーもセットで冗長化して提案したい」というのがエンジニアの本音です。 BroadcomのRAIDカード(HBA)で繋げば動く実績はありますが、それではホスト側の冗長化ができません。 そこで、TrueNAS + RSF-1などの構成で「物理的なSAS共有ディスク」を使ったクラスターの検証をしたくなりました。 しかし、個人ラボでデュアルホスト対応のJBODエンクロージャを用意するのは、予算的にも騒音的にも不可能です。
そこで、ふと思いました。 「SASディスクって本来2系統のデータパス(Dual Port)を持ってるよな。これを物理的に分離して、2台のサーバーに直結すれば、実質ミニマムなJBODになるのでは?」 試しに、HDDをメーカーに部品として卸しているエンジニア(つまり中の方)に、「1台のSASディスクのデータレーンを物理的に分けて、2台のサーバーから同時アクセスできますか?」と聞いてみたところ、答えは「わからない」でした。 中の人がわからないなら、自分でやってみるしかありません。ケーブルをぶった切る治ぎ具の作成から始めた、検証記録です。
今回の検証のゴールとアプローチ
通常、マルチパスによる冗長化に使われるSASのDual Portですが、今回はこれを「異なる2台のホストへ同時に接続し、共有ディスクとして動作させる」ために使います。 もちろんそのままでは繋がらないので、1本のSASコネクタ延長ケーブルを切断し、SATAコネクタを取り付ける「データパス分離治具」を自作しました。 ソフトウェア側は、SCSI共有ディスクに対応し、動作検証が手軽な「Proxmox VE 9.1.1」を採用してクラスタを組むことで、SASディスクのデュアルホスト共有ができるか確認します。
準備した機材たち
【新規調達品】
- HBA: LSI SAS9300-8E(PCIe接続)× 2枚 (将来のData60接続を見据えてCompatibility Matrix準拠のものをチョイス)
- ケーブル: SFF-8644 ⇔ SATA×4 ファンアウトケーブル × 2式
- SAS HDD: HPE EG0300FCSPH(300GB / 10k RPM)× 1台(検証用なので100GBあれば十分でしたが、手頃なものを)
- 自作部材: SASコネクタ延長ケーブル & SATAコネクタ一式
【自宅ラボ内機材】
- 検証用PC × 2台(AMD Phenom II / A8世代の渋いマシン。PCIe延長基板でHBAを外部増設)
- 外部電源装置一式(HBAとHDDへの給電用)
- その他、コンソールPCやネットワーク機材一式
構成要素
- ホスト1台目
- MotherBoard GA-990FXA-D1
- CPU Phenom II x6 1055T
- Memory 32GB
- Storage SATA 128GB
- HBA UCSC-SAS9300-8E
- OS Proxmox 9.1.1
- ホスト2台目
- MotherBoard GA-F2A75M
- CPU A8-5500
- Memory 24GB
- Storage SATA 128GB
- HBA UCSC-SAS9300-8E
- OS Proxmox 9.1.1
検証ディスク
- HPE EG0300FCSPH (SAS 300GB/10kRPM)
分岐ケーブルの制作
分岐ケーブルはAliexpressでSASの延長ケーブルを購入しました。セカンダリチャネル側のケーブルを切断し、新たにSATAコネクタを取り付けます。もう一つのチャネルはそのまま残し、SAS-SATA変換コネクタを使い、電源とプリマリチャネルとします。
コメント