なーお さんの日記
新年のごあいさつの後、最初の話題は「仮想化」で行きます。
昨年末、「e-SATA接続のRAID-1ケース」を使った構成に移行して省エネを進めたばかりのサーバーですが、更に次なる計画を目論見中。
現在の構成ではRAID-1のために外部HDDケースを使っているのですが、これを無くして内部接続のHDDで、なおかつ省エネ構成でRAID-1を構築する方法です。 詳しくは以下。
構成概要
- 十年来のAMDファンであった私だけど、省エネを突き詰めると最後はIntelに移行せざを得ないところまで来てしまった。
- Core i5 3470/(Ivy Bridge) あたりでも、現状のPhenom2 X4 910e より性能も省エネ性も上を目指せそうなので、価格も手ごろなところまで来ているようで、良い機会。VT-d対応確認済み。
- IOMMUを使える構成・・つまり、Intelで言うVT-dの使えるマザーボードを選んで、PCIパススルーで SATAカードをCentOS6.3に直接割り当て、そこでSATAカードの安価なRAIDをlinuxカーネルのFake RAIDである[dmraid]で認識させてRAID-1構成で運用。
- CentOS6.3以降の構成は現状と同様として、そのディスクをLVMのPVとしてそこからLVをいくつか切りだす。 (ESXi5.1でPCIパススルーが使えなかったバグは、2012年12月のパッチ[build914609]で修正されています。)
- そのうちの1つを、iSCSIターゲットとして、公開ゲストサーバーマシンの記憶領域や、クライアントPCなどの冗長ディスク領域として使用する。
こうすることで、外付けeSATAケースを不使用とできるのです。(先日買ったばっかりだけど、あれば色々と便利なので有効に使い回す。)
構成パーツ案
- CPU: (Intel) Core i5 3470S BOX
- 実勢価格 16,500円程度
- M/B: (AsRock) ZH77 pro3
- 実勢価格 6,100円程度
- もう完全にAsRockファンになってしまっていて、今回もお世話になりたいなと。
- Intel® H77 Express Chipset これ見るとH77はVT-dが「No」になっていて焦るけど、正式サポートされているのはQ67/Q77だけ、という意味であって、他のチップセットもVT-dサポートされているのは多いらしい。
確かに、このページを見ると、H77搭載のIntelマザーは対応になっている。
- SATA-RAIDカード:
- (玄人志向)SATA2RI2-PCIe (Silicon Image Sil3132) ESXi5.1:OK
- 実勢価格 2,600円程度
- RAIDありだけどSATA2 かつPCIe x1 なのでこの選択は無し。
- (玄人志向)SATA3I2-PCIe (Marvell 88SE9123) ESXi5.1:OK
- 実勢価格 2,600円程度
- こっちはSATA3なので買うならこれかな。 だけど同じく PCIe x1 だから微妙。RAIDなし
- (玄人志向)SATA3RI2-PCIe (Marvell 88SE9130) ESXi5.1:実績なしか?
- 実勢価格 3,200円程度
- SATA3、PCIe x1、RAID1あり。 お試しとしては良いかも。ESXi実績無いかもしれず人柱か。
- (High Point) Rocket 640L [SATA6Gb/s/RAID] (Marvell 88SE9235) ESXi5.1:OK
- 実勢価格 7,000円程度
- M/Bより高いんだけど、PCIe x4 リンクなことと、4ポートあることを考えれば、将来の高速化を視野に入れるとこれもありかな。 まあ当分は他のテスト状況次第で様子見。
- あるいは、ウルトラC技で、M/BのSATAをパススルーしてしまうという荒業もあるようで。その場合は、こちらの手立てが必要とか。
- ESXi5.1のIDマップを作成してみる(Marvell 88SE9123/88SE9230編)
- あっちこっちで、aoyama様におせわになっている気がする。
- (玄人志向)SATA2RI2-PCIe (Silicon Image Sil3132) ESXi5.1:OK
以上の構成で検討しています。
その他メリット及び懸案
- パススルーでAudioPCIデバイスカードを認識させ、Musicサーバーの安定稼働をしたい。
- もし、パススルーでカードのFakeRAIDが使えない場合は、CentOSでソフトウエアRAIDに変更するつもり。ソフトウエアRAIDにLVMが絡むと、障害発生後の復旧で少々面倒になるのがイヤではあるのだけど、 CentOSやめてZFSなNAS4FreeにするとLVMのフレキシブルさを捨てなきゃいけないし。。
- 問題は、円安の影響でCPUの価格がもう上昇していきていること。 急いで買ったほうが良いのか迷う。。
(追記)
- 各ゲストマシン、
ほぼクリーンインストールし直さないといけないんだろうなあ。。 Linuxなんかソースも別物だしね。(訂正)同じ64bitCPUだからそのまま動くんだね。
コメント一覧
色々な問題があって、なかなか一筋縄では解決できないなあ。。
- MarvelのRocket 640L は、dmraidが使えない感じ。加えて、このM/Bとの組み合わせではRocket 640Lの4ポートのうち
1つのポート(2番目のポート)しかESXi上でHDDを認識しない。- 2つのポート(2番目と4番目)が使えると判明。
- PCIe-Gen2 x2 (10Gbps)で認識しているので、現在のSSD2台はどうにか繋げそう。
- M/BのSATAコントーローラをPCIパススルーすると、たまたま見えていたSATAカードがESXi上で見えなくなるが、MARVELチップを積んだカードに限り、aoyamaさんのドライバを追加すると見えるようになって接続可能。
- ESXiでPCIパススルーしたIntel のオンボードfake-RAIDをテスト中。
CentOS6.3上で、dmraidコマンド、fdisk、lvmコマンドを組み合わせて、思い描いていたパーティション構成、VG-LV構成が出来そうなことがわかってきた。
2つのディスク、sdaとsdbを、オンボードのbiosでRAID-1に設定して立ちあげると、Linux上のdmraidでは、/dev/mapper/isw_aabbccdef_Volume0 という類にマッピングされる。 これは、 -> /dev/dm0 という類にシンボリンクリンクが貼られている。
# fdisk /dev/mapper/isw_aabbccdef_Volume0
で、4つの拡張領域を、領域タイプ「8e」(Linux LVM)で作成すると、それぞれの実体ディスクは以下のようにパーティションが作成される。
/dev/sda
/dev/sda5 (拡張領域)
/dev/sda6 (拡張領域)
/dev/sda7 (拡張領域)
/dev/sda8 (拡張領域)
/dev/sdb
/dev/sdb5 (拡張領域)
/dev/sdb6 (拡張領域)
/dev/sdb7 (拡張領域)
/dev/sdb8 (拡張領域)
マッパーデバイスでは、
# ls -la /dev/mapper
/dev/mapper/isw_aabbccdef_Volume0p5 -> ../dm-5
/dev/mapper/isw_aabbccdef_Volume0p6 -> ../dm-6
/dev/mapper/isw_aabbccdef_Volume0p7 -> ../dm-7
/dev/mapper/isw_aabbccdef_Volume0p8 -> ../dm-8
となる。
これを、全てVG-test ボリュームグループに放り込み、そこから実際の論理ボリュームLVを切り出して、マウントしてゆく。
今回の場合、そのうちの一つの論理ボリュームは、他のESXi共有ストレージとして使うためのiSCSIターゲットマウント用になり、他のほとんどはsambaでNAS共有領域として使う予定。
ということで、色々つまりながらも、求める美しい流れを見失わないように進んで行こう。
(その他、追記予定)