2013年1月24日

Private Cloud Server PCS01製作

2013/9/30 Update
メモリ、System SSDをFix。

 久しぶりの更新になりました。
この間、遊んでいたのではなく、新しいエンタープライズ向け技術をHome Networkへ
持ってこようと、あれこれ勉強しながらマシンの製作と評価を行っていました。
まだまだ、これからです。

LGA 1155の廉価システムにもかかわらず、Core i7 3970EE + GeForce GTX680のような
システムを2台は組めるようなものとなりそうです。とてもではありませんが、
一気に全部揃えられるものではありません。現段階でも、かなり頑張りました。

 

製作過程を少しづつUpできればと考えています。

PCS01_0.JPG

マシンの外観は、かなり気に入っています。出来上がると、そのシステムは中規模企業の
ネット環境を飼えるレベルになります。これを自宅のサーバにしようというものです。

現在は、フルHDのデータを扱いたくなる時代になって、むしろ自宅の方が大規模データを保有
しているというパターンがあると思います。また、何台も目的別のPCが散乱しているていう
困った状況がないでしょうか?これを何とかしていくための、自作マシンを模索しています。

やはり、ハイパフォーマンス、自作をモットーに日々精進している私としては、
QNAPとかの市販品とは、パフォーマンス、機能がクラス違いのものを実現したいところです。

◆マシンの構成パーツ

マシン名:PCS01

CPU Xeon E3 1265L V2 TDP35W@2.5GHz(100MHz×25) TB 3.5GHz
S/N(ロット) #2R206409A0456
M/B P8C WS C216プラットフォーム
MEMORY Crucial BLT8G3D1608ET3LX0.16FED
  DDR3L(1.35V)-1600 9-8-8-24-1Tで運用 8GBx4 計32GB
System SSD Intel DC S3500 300GB
Data HDD 選定中:2.5" 1GB〜2GB x 24を予定
RAID Card adaptec ASR-72405
  adaptec AFM-700 Adaptec Flash Module
  adaptec ACK-I-HDmSAS-4SATA-SB-.8M x6本
バックプレーン SATA II HDD ROM  MOBILE RACK改 ( 2.5" SSD x 2 )
  ICYDOCK MB994-SP-4S ( 15mm Hight 2.5" HDD x 4 ) x6
  Logitec LHR-IS01PU ( バックアップ3.5" HDDx1 用)
Network Card  Intel Ethernet Server Adapter I350-T4
光学ドライブ Pioneer BDR-TD04 (BD Multi Drive)
ビデオカード CPU内蔵 Intel HD Graphics 2500 (650/1150MHz)
ケース Sharkoon IT9 VALUE EDITION WHITE EDITION
  abee Type 03 Alminum Insulator  φ48シルバー
  Freedum PMU-012 スリムOptival+3.5"drive マウンタ
  Freedum PMU-014B スリムOptivalx2+2.5"drive マウンタ
  Alchey BFA-MSC-24ATX45KK-RP
  Alchey BFA-MSC-8EPS45KK-RP
  Alchey BFA-MSC-3MKK-RP
電源 Sea Sonic SS-460FL X series Fanless 460W
サウンド On board Realtek ALC892
冷却系  
CPUクーラー Thermalright TRUE Spirit 120M
IOファン Owltech OWL-FY0825L(SB) (Φ80mmx25mm)
Systemファン 無し
   
OS Windows Server 2012 Standard + 5Cal

PCS01_2.JPG



◆PCS01の機能

大きくは、3つの機能しか考えていません。

・ファイルサーバ
・仮想Windows8 アプリケーションサーバ
マルチメディア関連のアプリを実行
・仮想WWWサーバ
物理サーバのバックアップとするか、実サービスとするかは、パフォーマンスを見て判断

ネットワーク共有ストレージをサーバ自身で使用したり、映像データのエンコードを
パワーがあるマシンのローカルにコピーせず、ネットワークディスク上でそのまま実行しても
帯域を確保できるI/O性能とすることが目標です。このためのネットワークカードや
RAIDシステムです。

 

◆Private cloud Server System

PCS01_System.jpg

まだまだ課題が多いですが、まずは、目指すシステムのブロックを書いてみました。
システム構築のためには、ハードウェアの完成のため、SSDやHDD、
IEEE802.3ad対応スイッチ、現ドメインコントローラWindowsServer 2003R2を
アップデートのためWindows Server2012をもう一ライセンス、RDS CAL1〜2ライセンス、
Windows 8 Enterprise SAがまだ足りません。。。
課題の大きなところにコストがあります。

⇒HDD以外は導入完了になりました。(2013/9)

数年前までは、必要な機能を持つ小型PCを幾つも作りたい状況でした。これの実現が
いわゆるブレードサーバという存在でした。
しかし、CPUのマルチコア化、I/Oの性能の飛躍的な向上で、単一ハードの上に
仮想マシンを展開することで実現できるようになってきました。
もちろん、仮想マシンの展開は、Windows Serverでなくとも実現ができるわけですが、
Windows Server 2012が出てきたことで、WindowsクライアントやActive directry環境と
親和性が高いシステムを組めるようになったので挑戦してみることにしました。

Windowsクライアントのユーザー数は圧倒的で、やはりWindowsプラットフォームからは、
離れられないのが現状で、私もこれを使っています。
Windowsネットワークを使っている私の環境で、LinuxベースでActive Directory環境に
きちんと対応したSamba 3サーバの構築を何度かチャレンジしましたが、挫折して現在に至ります。
これがWindoes Serverベースに考えてしまう理由です。Samba 4の開発がもっと速ければ、
考え方も違ってたかもしれません。今さら出てきても(2012/12)、遅すぎました。

もちろんこれは、Localnetの話です。Public公開のhttpサービスは、IISは、恐ろしくて
使えません。Local netでのサービスとの親和性のため非常に複雑なサーバで、こんなものを
素人の私が設定したら、穴だらけになってしまいます。ゆえに昔から使ってきたLinux環境は、
やはり良いです。現状、Local Netには、Windows Server、Public NetにはLinuxが私の
住み分けになっています。

◆システムに必要なサービス

1)Hyper Vホストサーバ
・RD 仮想化ホスト
・RD 接続ブローカ
・RD ゲートウェイ
・RD Webアクセス
・ファイルサーバ
仮想マシン
・Windows 8 Enterprise
・CentOS6.3

2)Domain Controller
・Active Directry(DNS統合)
・DHCP
・WINS
・NTP
・RD ライセンス

Local Net内で、サーバの管理や、サービスアプリの操作、多少アプリの利用
といった使い方を想定しているので、RD接続ブローカ、RD Webアクセス、
RDゲートウェイは、実質役に立たないサービスになります。
構築上の依存関係で、停止させられるものがあるかもしれません。
検証は、AD2012環境の構築も含めて、周りの構築と一緒にやらないと、
よく解らないでしょう。先になりそうです。

◆仮想マシン上でのGPU利用
仮想マシン上で、物理コンピュータに接続されたGPUを利用する
方法があります。条件は、Remote Desktop Serviceを構築して、
Remote Desktopでアクセスすることと、仮想マシンが
Windows 8 Enterpriseまたは、Windows 7 Enterpriseであることです。
HyperV_Driver.jpg
これは、仮想Windows Server2012の設定です。
RemoteFX 3Dグラフィックドライバを割り当てることはできます。
しかし、これを仮想マシン上で認識するには、仮想OSにこのドライバが
無いと使えません。Hyper Vが提供する統合ドライバにはこれが含まれない
ところが残念なところです。
RemoteFX NG.jpg
こちらは、WindowsServer2012をHyperV上で動かしているところですが、
RemoteFXドライバとなっていません。RemoteFXは、Windows 8 Enterprise
Windows 7 Enterpriseに含まれるドライバで、別途用意することができない
ドライバです。もしかして、Server OSなら含まれていないかと期待したのですが、
残念ながらダメです。もちろん、Windows 7 Ultimetに関しても、最高級グレードだし、
付いているだろうと期待してもダメで、含まれません。
RemoteFX3D.jpg
Windows 8 Enterpriseには、御覧のようにRemoteFX GPUドライバが
認識されています。
不明点は、アプリケーションが、GPU支援機能を使おうとした場合、
これが可能かどうかです。アプリの準備もあり、未検証です。
仮想マシン上での物理ハードウェアの利用に関して言えば、
現状はXenの方が優位かもしれませんが、Hyper Vもここまでくれば、
少しづつ良くなると期待します。
Windows Server 2012 HyperV + RDPのRemoteFXは、USBリダイレクトによる
カメラ、メモリ等、オーディオリダイレクトが可能で、普通のPCに付いているハードウェアは、
殆ど利用できます。さすがに、現状は、テレビチューナー等の任意ハードウェアを
仮想マシン上で認識させることはできないです。

WindowOS_Edition.jpg

Enterprise版Windowsの機能差は、一般的な利用からするとWindows To Goのサポートが
目立った違いですが、仮想化においては、Remote FX 3D ドライバの有無が大きい。
こういった観点からの対比表をまとめてみました。
Windows 8、Pro、Enterprise、Server2012 には、DVD再生機能や、標準搭載の
Microsoft DTV-DVD Video Decoderに機能制限が施されています。
(Windows 7は各エディションで含まれていました。)これを利用するには、機能追加により、
Windows 8 Media Center Pack(以下MCP)を追加する必要があります。
(Windows 8は、Win 8 ⇒ Win 8 Pro UPG+MCP UPG。)
ここで、Enterprise EditionやServer2012では、この機能が追加できない。
8Pro Server2012や、Enterprise Editionでは、CODECはインストールされています。
Windows 8, ProにはDVDコーデックが付属しないという言及がなされているが、これに
毒されて、内部ファイルを見ていて状況が理解できませんでした。
・msmpeg2adec.dll
・MSMPEG2ENC.DLL
・msmpeg2vdec.dll

Win7_CODEC.jpg
Windows 7 付属のMicrosoft DTV-DVD video decorder

Win8_Pro_CODEC.jpgWin8_Enterprise_CODEC.jpgWin2012SRV_CODEC.jpg
Windows 8 Pro, Enterprise, Server2012に初期インストールされている
Microsoft DTV-DVD video decorderです。どれも同じようです。
(Windows Server2012のAudio Cordecは、7のままですが、評価版だからかもしれません。
評価版での評価が終了後、本物で見てみたいと思います。)

これの機能をどこまで利用できるかは、どのEditionとして有効になっているかで
左右されるようです。
どこまで、利用できるかをまとめてみました。

Win8_CODEC_STAT.jpg

DVDの再生については、色々なサイトで言及されている通りですので割愛します。
Media Playserで、MS DTV-DVD video decorderによるMPEG2ファイルの再生は、
どのエディションでも可能でした。しかし、DVD再生には、プロテクトへの対応等の仕組みが
必要で、Media Playerでは再生できません。

MS DTV-DVD video decorderによるMPEG2データのデコードがMicrosoftのS/W以外で
利用できるかの検証ですが、多くのフリーウェアはCODECを内蔵していて、別途CODECを
インストールせずとも、再生できることが売りになっているので、検証の役には立ちません。
そこで、ソースレベルから、ビルドできるし、自前でCODECを用意するのが前提の
TVTestで検証してみました。用いたS/WはDirect Showの初期化部の問題を修正して
自前でビルドしたものです。

Win8_Pro_MCP.jpg

これは、MCPを追加したWindows 8 Proのクライアントで実施しました。
MCPを追加したWindows 8 Proでは、問題なく動作しており、GPU支援も効いており
Windows 7と同じ挙動ですが、MCPを追加していないWindows 8各エディションや
Server2012では、DirectShowの初期化時に、0X80040207が発生します。
(作者が配布したオリジナルのTVTest 0.8や0.7.23で発生するエラーは0X80040200で
本現象とは異なり、これは、TVTestの問題で修正可能。)
MCPを追加したWindows 8で正常に動作していることから、MS DTV-DVD Video decoderの
機能制限の可能性が高いと思います。MCP無しのMedia PlayerでMPEG2ファイルが再生
できるのだから、DVDの再生機能は諦めるとしても、MPEG2デコードの機能位は、
サードパーティー製のソフトで使えないものかと思いますが、
現在ここまででデッドエンドです。

本題のWindows 8 Enterpriseで例えば、TVTestのようなS/Wを使うには、
別途CODECを用意する必要があります。
仮想マシン上では、今のところ、GPU支援が使えないようです。
Windows Media Playerを見てみると、HyperVを動かしている物理マシンでは、6〜8%、
仮想マシン上では、16~18%です。HyperVのオーバーヘッドとしては説明しにくい
数字ですが。。。いずれにしても、GPU支援は両方上手く使えていません。
HyperVの仮想WIn8 EnterpriseにGPU支援が効きそうなCODECを入れてみましたが、
TVTestがハングアップしてしまい、CODECも色々試さないとどれが良いかわかりません。
動けば、MPEG2向けには、MS DTV-DVD Video decorder + EVRが今のところ
標準品でもありますのでお気に入りですが、課題になってしまいました。

 

 3DMark_RemoteFX_3D.jpg

Remote FX 3DがDirect X 11対応と言われているが、どうだろうか?

Direct X 11ベンチが出てきたので、これを動かしてみると、どうにか動きました。

Fire Strike 315であります。かなりウケる数字ですが、これが仮想マシンで

動いたのは一つの収穫です。高性能GPUを搭載して、4コアとか割り当てると、

まだまだ、快適になると思います。このマシンの場合、目的がグラフィックではなく、

GPU支援を一部使えないかということで色々試していますが、今後に期待です。

 3DMark_NG.jpg

これは、Remote FXグラフィックドライバが、適用できないOSでの例です。

グラフィックベンチなど、仮想マシン上ではこれが普通ですし、やろうともしませんでした。

進歩したと思いました。

3DMark_Win2012_Native.jpg

こちらは、仮想マシンを動かしているホストで3DMarkを走らせたものです。

注目すべきは、Fire Straikeを見るとスコアが変わらないことです。このベンチは、CPUパワーより、

GPUパワーダイレクトなベンチのようですが、スコアがあまり変わらないということは、

仮想マシン上でスルーにGPUリソースを使えているということです。

週刊ASCII N920の記事で、HDG 4000搭載のCore i7 3770Kのデータがありますが、

639とのことです。HDG 4000はEU数:16、HDG 2500はEU数:6で、動作周波数は同じです。

倍半分のスコア差は、このためです。

Nvidia、AMDは、近年、仮想マシン上でリソースを使うためのアーキテクチャを提案しています。

近年、ある程度のパワーがあるマシンでは、仮想マシンでも物理マシンでも演算力の差は

体感するほどの差が無くなり、GPUを使ったアプリですら、あえて、物理マシンで動かす

パワー差はなくなるでしょう。

今回の評価で、ゼロ点の評価は、映像エンコードなどに使えるGPU支援機能についてです。

これは、GPUメーカのドライバと、仮想マシン側のドライバ等を用意しているMicrosoftとの連携が、

まだまだであることです。ここが改善されると、より、快適になると思われます。

 

 

------------------------------------------------------------------------------------------

 

◆ASUS P8 C WS

P8CWS_Block.jpg

ASUS のLGA155 Xeon+C216チップセットのプラットフォームを選択しました。
バリバリの仮想サーバを作るなら、LGA2011 Dualと思いますが、実運用で
どの程度のパワーが最低限か不明ですので、なるべく、消費電力が少なく、
I/O性能は得られるという条件で作ってみます。色々なCPUの運用は何台も経験が
ありますが、大容量ストレージと高性能ネットワークでのI/O周りのロードバランスが
どなるかが未経験なので、この程度のコンパクトなマシンで様子を見るのも良いと思います。

LGA2011は、PCIe3.0 40レーンという贅沢な仕様です。これに比べ、LGA 1155は、
PCIe3.0 16レーン+PCIe2.0 4レーンですが、RAIDカードは1枚8レーン
ネットワークカードもクライアントとの関係があるため1000BASEになってしまいますから、
4レーンで良い。(現状、当環境では10GEtherは、性能を活かせる環境がない。)
すると、CPUコア数が少ないですが、まずは、これで十分試せると言えます。

E3-1200v2_C200_Block.jpg

 これは、intelが示すC200プラットフォームを説明する図です。ASUSのP8 C WSのブロックは、
相変わらず公式には不明で、自分で書いてみました。それほど、気にもしてなかったので、基板の
配線をきっちり見てませんので、PCIe 2.0 x4やPCIe2.0 x1が、CPUに繋がっているのか、
繋がっているのかわかりません。ここのポートは、どのみち、帯域を圧迫するような部品を
PCHに付けるのはナンセンスですので、どっちでも良いでしょう。
(帯域が問題になるような部品は付けていけないポートです。)

 

◆Server向けのパーツ

CPU: Xeon E3 1265L V2
これの選定理由は、TDP45Wと4C8TでGPUを内蔵するものとしては低いことと、
クロックが2.5GHzとストレスを感じない最低ラインであることです。
GPUは、HD Graphics 2500と、高性能のものではありませんが、
DirectX 11対応であり、HyperVのRemote FX対応です。
Remote FX 3Dの要求は、はDirect X 11対応で専用のビデオメモリの搭載が条件と
いうことになっています。これによれば、内蔵GPUはダメのように思えますが、
Ivybridgeの内蔵GPUは要件を満たすようです。

HyperV_Setting.jpg

HyperVの設定の項目で、内蔵GPUを選択できることから、ギリギリOKのようです。


Server Adapter

I350-T4.JPG

RAID Card:Adaptec ASR-72405
72405.JPG
このカードの特徴は、PCIe 3.0 x8対応であること。

 

以前のRAIDカードで大量にポートを備えるボードは、

エキスパンダーチップを搭載しているから面積が大きく2チップ構成が

多かったですが、これは、Naitive24ポートであることです。

キャッシュ搭載量は、512MBであり、それほど大容量ではありません。

バックアップバッテリは、電池式でなくキャパシタ式になっています。

Server用途としては、非常に良い仕様に思えて採用しました。

今でも現役で使っているASR-51245は、intel IOP348を搭載しており、

爆熱で、ファンで強制冷却しないと熱暴走しますが、

これは、それほど熱くはなりません。

ファンでそよ風を流しておけば、問題ないレベルです。5シリーズ使いなら

解るこの問題の改善は喜ばしいところです。

 

IOファンの取り付け

 

IOFan.JPG

 

 PCS01_4.JPG

 

------------------------------------------------------------------------------------------

◆Cloud Computingについての定義のまとめ

 

1)Cloud Computingとは
クラウドコンピューティングは、利用者がコンピュータを物理的に意識することなく、
アプリケーションやサービス、コンピュータリソースが利用できる。
Cloud Computingの実現には「Public Cloud」と「Private Cloud」大きく二つに分類されます。

●Public Cloud
サービスプロバイダがインターネット( WAN:Wide Area Netwaork)を介して
クラウドサービスを一般利用者に提供する形態。

●Private Cloud
ローカルネットワーク(LAN:Local Area Network)内で
構築されたクラウドコンピューティングシステムと言える。
例としては、企業が自社内でクラウドコンピューティングのシステムを構築し、
企業内の部門やグループ会社などに対してクラウドサービスを提供する形態。

2)Cloudのサービス
Cloudのサービスは、「PaaS」、「IaaS」、「SaaS」の3つに分類されています。

●PaaS(パース:Platform as a Service)
インターネット経由のアプリケーション実行用のプラットフォームの提供。
仮想化されたアプリケーションサーバやデータベースなど。
ユーザーが自分のアプリケーションを配置して運用できる。

例)
セールスフォース・ドットコム:Force.comプラットフォーム、
Google:Google App Engine、AppScale
マイクロソフト:Windows Azure
Amazon.com:Amazon S3、Amazon DynamoDB、Amazon SimpleDB

IaaS(イアース:Infrastructure as a Service) (別名:HaaS Hardware as a Service )
インターネット経由のハードウェアやインフラの提供。
サーバー仮想化やデスクトップ仮想化や共有ディスクなど。
ユーザーが自分でOSなどを含めてシステム導入・構築できる。

例)
Amazon.com:Amazon EC2
SoftBank:Iass
SAKURA Internet:sakuracloud
BIGLOBE:BIGLOBEクラウドホスティングサービス

SaaS(サース:Software as a Service)
インターネット経由のソフトウェアパッケージの提供。
データセンター上にクラウド提供事業者が用意した電子メール、グループウェア、CRMなど。

例)
セールスフォース・ドットコム:Salesforce CRM
マイクロソフト:Microsoft Online Services
Google:Google Apps
オープンソース:Liferay

参考:http://ja.wikipedia.org/ "Cloud"の項目

------------------------------------------------------------------------------------------

◆Cloud Computingのメリット

利用者側のメリット
従来から提供されているネットワークサービスと大きく変わらない。
仮想コンピュータをリソースそのものを利用しているユーザーにとっては、
最新Server OSとクラウドサービスの管理システムの進歩により、
サービスプロバイダの作業なしに利用者の都合で仮想CPUの数、仮想メモリ容量、
ストレージの容量を変えられることはメリットである。
(当然ですが、サービス提供内容で許された範囲での話で、課金も変わります。)

プロバイダ側のメリット
クラウドコンピューティングが最新トレンドで注目されているが、
利用者側のメリットではなく、プロバイダ側のメリットの大きさで
注目されていると見ている。

従来のサービス
・ハードウェアをデータセンタに設置し、これを利用者に提供
ハードウェアの更新も、提供数だけ発生しコストが高い。
・仮想コンピュータを提供する場合、ユーザの要求に対する仮想環境の設定や
ユーザーへの通知等面倒な作業がある。
・何より、数が増えると面倒くさいのが一番のデメリット(つまり、コストがかかる。)

Windows Server 2012のHyper Vベースのクラウド環境
・仮想コンピュータを動作させながら、物理的Hyper Vサーバ間の移動、
複製、バックアップが可能である。したがって、管理者は仮想コンピュータの管理アプリ上の
操作を行うだけでユーザーへの対応工数をはじめ工数が大幅に減るでしょう。
・仮想サーバの冗長化が容易に可能で、ハードウェア障害による業務ストップを無くせることと、
離れた拠点にサーバを置けば、災害等へのリスクヘッジとなる。
・ハードウェアの更新も、Hyper Vサーバを構築し、仮想コンピュータを移動
させるだけでよく、環境構築に対する費用を大幅に削減できるでしょう。
・仮想コンピュータに必要な、物理リソースを適切に振れるため、
電力削減に貢献するでしょう。

個人環境にこれを置き換えてみる。
長年構築してきた、様々なコンピュータが散在しているようで、
チームで実施したイベントでユーザーに聞いたアンケートでは
2台以上PCを所有しているユーザーが圧倒的で、4台以上所有しているユーザーも
少なくないようです。
これらを一つの物理環境に集約すれば、居住スペースの有効利用、
ハードウェア更新の容易性の向上、電力削減に貢献できる可能性を秘めている。
何より、家族みんなで使っているサーバーPCともなれば、動作が重い、
容量が足りない等の利用者サイドの切実な不具合が発生した場合、
更新稟議(奥様の許可)も通りやすいでしょう。
ただし、この環境が一般家庭向けになるのは、少し未来と思います。
エンドユーザーにしてみれば、理解に苦しむコストがかかりすぎですね。

----------------------------------------------------------------------------------------


しばらくこの記事を更新していきます。

 

 

 

 

このブログ記事と同じカテゴリのブログ記事

トラックバックURL

このエントリーのトラックバックURL:
http://www.myme.mine.nu/cgi-bin/mt/mt-tb.cgi/441

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)