過去ログ
ネットワーク環境(旧7:2012/12)
ネットワーク環境(旧6:2011/10)
ネットワーク環境(旧5:2011/02)
ネットワーク環境(旧4:2009/01)
ネットワーク環境(旧3:2006/12)
ネットワーク環境(旧2:2004/01)
ネットワーク環境(旧1:2000/12)
目的
- AMDから最新の22nmのIntel Ivy Bridgeに移行して省エネを加速しつつ適度なCPUパワーを得たい。 目標は、現状125W --> 目標85W (目標は 40W削減 だけど結果は未達成)
- フロントパネル。マシン単体ではワットチェッカーの読みで85W程度。
- アイドル時(公開サーバー稼働中)、マシン本体+光モデムルーター+Gbハブなど補機入れてUPSの出力で95W。(移行前から30W削減)
- PCIパススルーを活用したい。
注意:ESXi5.1では、USBコントローラのパススルーが設定できない不具合があります。 USBコントローラをPICパススルーする場合は、ESXi5.0に最新パッチを当てて使用します。- Windowsクライアントを安定稼働させたい。
- Musicサーバーのプチプチ途切れ音、ブルースクリーンを減らしたい。
- 家族用ゼロクライアントマシンが時々ブルースクリーンになるのを無くしたい。
- NAS用ディスクを、PCIパススルーしたSATAコントローラ配下でマウントして使うことで、RAWディスクとして使用可能としたい。
- 今までのようにESXi管理下のVMFSフォーマットでは、いざというときの使い回しやバックアップ復旧などで制約が増えるので使い辛かった。
RAWマウントによりディスク状態もマウントするOSから直接モニタできるので管理が圧倒的に楽になる。 - ESXi管理下のVMFSフォーマットでは、ディスクが解列すると即停止か再起動時に設定変更が必要なので、Linux RAIDは現実的ではなく、純ハードウエアRAIDか前回構成のようにeSATA外付けRAIDケースなどを使用するしかなかったが、RAWディスクになることで問題なくLinux RAIDが使える。
- 今までのようにESXi管理下のVMFSフォーマットでは、いざというときの使い回しやバックアップ復旧などで制約が増えるので使い辛かった。
- PCIパススルーの設定現状
3スロットあるPCIバスは、パススルーの設定は一括となり、1枚ごとの設定は出来ない。 PCIeバスは個別に設定可能。
- Windowsクライアントを安定稼働させたい。
スロット | デバイス名 | パススルーゲスト | |
00:02:0 | オンボード | VGA | |
00:1a:0 | オンボード | USB-1 | |
00:1d:0 | オンボード | USB-2 | |
00:1f:2 | オンボード (Intel)Panther Point AHCI | SATA | CentOS 6.3 |
00:1:0 00:01:0 | PCIe X2 (Intel)82574L | GbLAN | WindowsXP |
00:1c:0 02:00:0 | PCIe X2 (MARVEL)88SE9230 | SATA | |
00:1c:4 03:00:0 | オンボード (Realtek)R8168 | GbLAN | |
00:1c:5 05:00:0~2 | PCI (NEC)USB/USB2.0 (玄人志向)USB2.0N6P-PCI | USB2 | WindowsXP |
00:1c:6 06:00:0 | PCIe X1 (玄人志向)USB3.0RD-PCIe | USB3 | |
00:1c:7 07:00:0 | PCIe X2 (Intel)82574L | GbLAN |
仮想マシン構成
以下の6つのゲストマシンを常時稼働中。
- NAS/iSCSIターゲット/REGZA録画用: CentOS6.3 (2vCPU)
- ブート直後、ESXiがこのゲストのiSCSIをマウントできないため、以前のページで書いた対応が別途必要です。
- 公開WEBサーバー:
Scientific Linux 6.3 (1vCPU)KUSANGI (CantOS7.4):2017/11
従来は2vCPU割り当てていたけれども、今回は1vCPUで試してみたら全く不足なし。
- メールサーバー、DNS: CentOS5.8 (2vCPU)
- これも2vCPU割り当てていたけれども、1vCPUで全く不足なし。
- ソフトルーター: vyatta (1vCPU)
Musicサーバー: WindowsXP (2vCPU)家族用ゼロクライアント: WindowsXP (2vCPU)
テスト用マザーボードとCPU
ESXiなどの仮想化マシンでPCIパススルーを行うには、M/BとCPUの両方が IOMMU(VT-d/AMD-Vi) に対応している必要がある。
- マザーボード:(AsRock)ZH77 pro3
- CPU:(Intel)Core i5 3470S
- SATAボード:(High Point) Rocket 640L [SATA6Gb/s/RAID]
- CPU
Intelでは、今年出たIvy BridgeのCorei5系CPUにVT-d対応品が多く展開されているので、その中から省エネ・パワーバランスの良さそうな Core i5 3470S BOX を選定。- Ivy BridgeでもVT-d非対応のものもあるので要注意!
- Hyper Threadingは非対応だが問題なし。
- マザーボード
安価なH77チップセット系から選定。 「7」系のIntelチップセットで、VT-dの正式サポートを謳っているのはQ77くらいしか無いのだが、 H77やZ77でもサポートは無いものの一応使えるようになっている。
メーカーにもよるが、大体のM/BではBIOS/UEFIの設定の中に「VT-d」の有効/無効があるので、これを有効にすることで使えるようになる。
まずはテスト用なので、安価な(AsRock)ZH77 pro3 を選んでみた。 PCIパススルーするには拡張スロット数が少ないのだがテスト用・予備用としてはOK。 - SATAボード
M/B上のSATAコントローラをパススルーすると、ESXi起動直後のデータストアが何も無くなってしまうので、既存SSDを繋げるためのSATAポート用として(High Point) Rocket 640Lを使用。
この時、AoyamaさんのESXi5.1のIDマップを作成してみる(Marvell 88SE9123/88SE9230編) の適用が必要です。
--> 結果的には、4ポートのうち2ポートしか認識しない。BIOS上では認識しているのだが、ESXiの認識が2ポート限定。パススルーしても同様。
本稼働用マザーボードとハードディスク
- マザーボード:(ASUS)H77V-LE
- PCIe X4スロットが1本ある。
--> Rocket 640L もフルで4ポート使える?
--> 結果、このM/Bでも2ポートしか認識しない。H77チップセットとESXiの相性かなあ。。 - PCIe X1スロットが2本ある。
- 内蔵NICはAsRockのM/Bと同様に(Realtec)8111なのでESXi5がデフォで認識する。
- PCIe X4スロットが1本ある。
- HDD:(Western Digital)NAS用REDシリーズ WD30EFRX x2台
少し高くてSOHO・自宅用としてはオーバースペックな気もするけど、常時稼働だから良い物のほうが結局長く使えてお得! だといいんだがどうなるかな。 - ディスクドライブの構成のパーティション
- SSD == VMDKフォーマット、ESXi用ストレージとし各ゲストマシンのシステム領域として使用。
- HDDはパススルーしたRAW DISK をメインゲストマシンのCentOS6.3にて、mdadm(Linux Raid-1)、LVMで管理。
- sda,sdb: (WD) WD30EFRX (3TB) == データ領域。
- LVMの先頭ボリウム [vm0-lv0] はiSCSIターゲット領域としてESXiからマウント
- 以降のボリウム [vm1-lv1] はNAS用としてext4でマウントし、sambaでLANに公開。
- sdc,sdd: (WD) WD25EZRX (2.5TB) == データ領域のRAID-1スペアディスクに割り当てて、残りをREGZA録画用にext4でマウントし、sambaでLANに公開。
- RAW DISKのパーティション・ボリウム構成は以下のようにして、スペアディスクを確保しつつREGZA録画用ボリウムもRAID-1(スペア無し)にまとめた。
領域 ボリウム sda sdb sdc sdd 1 vg0-lv0
iSCSI
target用md0 md0 md0(s) md3(s) 2 vg1-lv1
DATA用md1 md1 md1(s) md2(s) 3 md2 md2 md5 md5 4 md3 md3 md6 md6 5 md4 md4 - - (s)はRaid-1スペアディスク
- sda,sdb: (WD) WD30EFRX (3TB) == データ領域。
- mdadmでRAIDを構成する際の注意点
仮想化の話ではなくてLinux RAIDの話になるが、今回ESXiでパススルーしたディスクが、ゲストマシン起動の度にSSDから切り出したVMFSの起動ディスクとの順番が先頭(sda)になったり最後になったり(sdb)する。
そのままだとRAIDの構成がおかしくなってしまうので、以下のような手順でRAID構成を保存しておくと良い。- /etc/mdadm.conf を編集
# vi /etc/mdadm.conf
続いて、以下のコマンドで表示される内容を、そのまま/etc/mdadm.confに追記する。DEVICE partitions
/etc/mdadm.confは以下のようになった。# mdadm -D --scan
DEVICE partitions ARRAY /dev/md0 metadata=1.2 spares=1 name=localhost.localdomain:0 UUID=6f66ab25:24fd7989:ea21c109:2ab9f1a1 ARRAY /dev/md1 metadata=1.2 spares=1 name=localhost.localdomain:1 UUID=79af2472:1d50889a:58c109ec:afbc226e ARRAY /dev/md2 metadata=1.2 spares=1 name=localhost.localdomain:2 UUID=395d8c9d:7b93f1cb:66588da3:36f7579e ARRAY /dev/md3 metadata=1.2 spares=1 name=localhost.localdomain:3 UUID=1edf07a8:5908ee21:b45a08f6:40a3b449 ARRAY /dev/md4 metadata=1.2 name=localhost.localdomain:4 UUID=c7b2e3fa:11e7cda9:d6b71a77:e2607793 ARRAY /dev/md5 metadata=1.2 name=localhost.localdomain:5 UUID=8d9165db:af7999a6:dd3634dc:fed73f96 ARRAY /dev/md6 metadata=1.2 name=localhost.localdomain:6 UUID=e29c0f5b:52d09630:2f2edae8:d30a18f3
- mdadm(Linux RAID) ではなくて、Fake RAIDと呼ばれるオンボードのRAIDを使って、Linux上でdmraidドライバを使うことで、多少軽量にRAID-1を構築できるし実験済みだけど、スペアディスク構成などのフレキシビリティや、障害発生時の対処方法の分かり易さなどを総合的に判断して、オーソドックスに Linux RAIDに戻ってきた。
一度解列されると再構築に時間がかかるのだが、そのぶん普段は意外にCPU負荷が少ない。 この辺はZFSファイルシステムとは正反対とも言えそう。 - メインのゲストマシンにFreeNAS/NAS4FreeでZFSファイルシステムを使うのも有だが、後でボリウムを拡張/縮小/物理ディスク移動など色々なフレキシビリティの良さを考えると、LVMと組み合わせて使えるLinuxがやはり良い。
- /etc/mdadm.conf を編集
- Crystal Disc Mark のベンチ
キャッシュが十分に効いている状況でのテストです。 これだけ速いと、メインゲストのCentOSのCPU負荷もかなり上がり、ESXiマシン全体でCPU使用率60%を超えます。
USB3.0コントローラーのパススルーテスト
テスト的に、(玄人指向)USB3.0RD-PCIe、Ubuntu12.04でUSB3.0で接続できた! 同物理マシン上のCentOS6からNFSマウントして、100MB/s出ている。但しなぜか読み込みはエラーで使えず。
- 使用機器
HDDケース- (NOVAC) 2SATA HDDはい~るKIT RAID Data Saver NV-HS222U3S
- USB3.0 と eSATA のどちらか片方の接続が可能
- RAID使用可能と思うが、今回は単独ディスクとして確認
コントローラ/ゲストOS CentOS 6.3 ubuntu 12.04 M/B内蔵H77(Intel)コントローラ
ESXi usbパススルー×(2.0) ×(2.0) M/B内蔵H77(Intel)コントローラ
PCIパススルー×(2.0) ×(2.0) (玄人志向)USB3.0RD-PCIe
PCIパススルー×(2.0) ○
- 但し、USB3.0接続できた組み合わせでも、HDDを2台入れた状態でも1台しか認識しない。 eSATAのマルチポートプライヤみたいには行かない。
- 書き込み速度は、100MB/s程度出る。 但し、読み込みはUSB3.0だとエラー頻発で使い物にならない。USB2.0機器だとOK。
- 他のOS
- Windows XP sp3では、(玄人志向)USB3.0RD-PCIeをパススルーしても、ルネサス製デバイスドライバーの最新版を(3.23)入れても認識しなかった。
- Windows 7 ではディスクの認識はOK、USB2.0だと読み書きOKだけど3.0だとだめ。
NICパススルーはゲストマシンに負荷がかかる?
(INTEL)PRO/1000 GT DESKTOP ADAPTOR(PCI) をパススルーして、WindowsXPゲストマシンで使ってみると、大したことをしていないのに何やら負荷が急上昇。
- パススルーではなくてESXi経由で普通に使う分には大丈夫なんだけど・・
- 最近のPCIスロットはネイティブPCIではなくて、PCIe/PCI変換を行っているらしいから、そのせいかもしれない。
- 最終的には、PCIeに別のNICを追加して、そちらをパススルーして対応。 そちらは変な負荷上昇もなく問題無く稼働中。
ハード構成まとめ
PARTS | 型式・仕様 | |
CASE | (ANTEC) P-150(430W高効率電源付) | |
M/B | (ASUS)P8H77-V LE | |
Socket | LGA1155 | |
Chipset | (Intel)H77 SerialHDDコントローラ、ギガLANデバイスとも ESXiできちんと認識。 | |
CPU | (Intel)Core i5 3470S BOX (TDP65W) | |
Memory | (Team) TED316G1600C11DC [DDR3 PC3-12800 8GB 2枚組] (CFD-Elixir)W3U1333Q-4G DDR3 (DDR3 PC3-10600)4GB 2枚組 計24GB | |
HDD | (Intel) 510 Series SSDSC2MH120A2K5 (Western Digital) WD30EFRX [3TB SATA600] x2 NAS/DATA用 (Western Digital) WD25EZRX [2.5TB SATA600] x 2 REGZA用・NASディスクのRAID-1スペア用 | |
LAN CARD | (iSCSI用) (パススルー用) | (INTEL) Gigabit CT Desktop Adapter x2 |
USB FLASH | 適当な2GBのもの。ESXiのUSBブートに使用 | |
USB CARD | USB3.0 | (玄人志向) USB3.0RD-PCIe |
USB2.0 | (玄人志向) USB2.0N6P-PCI | |
USB SOUND DEVICE | (JAVS) X-DDC (Black) |
総括
- 今回のCPUは確かに省電力ではあるけど、CPUパワーはそれほどでも無かった印象。 PCIパススルーするとゲストマシンのCPUパワー消費が増えるのでそのせいもあるかも。
- PCIパススルー自体は可能な拡張ボードでも、パスした結果ゲストOSがどう扱えるのかは、個別に異なる。 期待通りに使える場合も、使えない場合もあるので、人柱のリスクがあるからあまり高価なボードを買う気にならない。
- Musicサーバー用に当初はオンボードのUSBコントローラ-2をパススルーしてみたが、USB2.0のボードを追加購入してそちらをパススルーすることで安定運用している。
- しかし、このマザーのH77チップセットだとPCIボードは一括でパススルー設定になるので少々使い辛い。PCIeと同様に個別設定可能だとよかったが。
- 家族用ゼロクライアント用にPCIのGbLANをパススルーするとCPU負荷が尋常でないほど増えてしまうので、結局VM Network経由とした。今のところ安定的に使えているけど、ちょっと残念。 まあ、PCIeスロットが一つでも多いマザーボードを使ってそちらのNICをパススルーすれば済む話かもしれない。
ということで、当初の目的に照らすと微妙に未達成な面もあるのだが、移行自体は終わったので一区切り付いたと思う。
参考
- 本稿執筆後の追加ページ
- [仮想化] XP仮想マシンを8.1Proにバージョンアップ(2014年4月15日)
- [仮想化] パススルーしたIEEE1394経由でDVテープから動画取込み (2013年2月9日)
- サイト内関連リンク
- [仮想化] ESXi 新物理サーバー移行経過 (2013年1月26日)
- [仮想化] ESXiゲストのREGZAリンクHDD交換でハマり方 (2013年1月10日)
- [仮想化] ESXi 次期サーバー移行案 (2013年1月7日)
- [仮想化] メモリ24GBに増設ほか (2013年1月7日)
Linux/仮想化 |
自作PC、家庭内ネットワーク(旧7:2012/12) |
コメント一覧
投稿ツリー
-
Re: 自作PC、家庭内ネットワーク(現行:2013/1)
(なーお, 2015/4/18 15:55)
-
Re: 自作PC、家庭内ネットワーク(現行:2013/1)
(なーお, 2017/12/10 12:32)
-
Re: 自作PC、家庭内ネットワーク(現行:2013/1)
(なーお, 2019/12/29 14:28)
気づけば構築から2年以上経過している。
こんな特殊な使い方だけど、結構安定した運用ができている。 以前の構成で頻発した、RAID1の解列もほとんど起こらなくなった。 WD-REDの信頼性は健在です。 もちろん、ESXiの出来も。。 もう機能アップできないけど。
とはいえ、ひとたび故障すれば WEBサーバーも家族用クライアントも一蓮托生で一斉にダウンして、リモート接続さえできなくなってしまうのだが・・
単身赴任先から安心してアクセスできるリモート接続だけでも作っておく必要があるかもしれないな。
もう構築から5年近く経った。
極めて安定してるので、更新するリスクを負いたくない。
今回、WEBサーバー上のアクティブサイトを、Apacheからnginx(KUSANAGI)に移行し、速度も大きく向上。
まだまだ現役の優秀サーバーです。
その後、この仮想サーバー環境はクラッシュしたため、シュリンク環境に移行しました。
RaspberryPi3B と、Rock64-4GBでWEBサーバーとメールサーバーを稼働させ、Rasbian・Debian上のWEBサーバーはapacheからnginxに移行しました。 ご覧のとおりそれほど速くないし、時々落ちたりしますが、どうにかこうにか動いています。
ファイルサーバーはRock64-1GBに、USB3のHDD2本お立ち台で、Linuxのsoftware-Raidでミラーリングしています。