2013年4月20日

我が家のPC換装計画(1) -ぼくのかんがえたさいきょーのパソコン


このたび、自宅のメインPCを新しくしようと目論んでおります城間直裕です。

というか新しくします。パーツは購入し、先日届きました。後はシステムを組むだけです。

【そもそもの目的】

今回PCを新しくしようとした理由は、自分の周りでいろいろなことが節目になってまして。

・2年縛りの光回線が満期を迎えるため、キャリアおよびプロバイダの乗り換え(auひかり→フレッツ光)
・プロバイダの乗り換えに伴う家庭内ネットワーク構成の改善
・勤務先の異動に伴う案件への対応(Windowsサーバーをいじりそうということで)
・そもそも去年くらいからPCにちょっとずつ不具合出始めていて、「新しいPCほしいなぁ」とは考えていたですし。
・Ubutnuのリリース時期が来るたびに同じ事言ってる

いろいろと環境が変わるので、
(どうせならPCも新しくしようかしら。。。)
なんて散々悩んだ挙句

「じゃあいつ買い換えるの?」
「今でしょ!」ポチッ
rァ [買い物カゴに入れる]

やばいと思ったが、物欲を抑え切れなかった

【設計コンセプトを考えよう】

エンジニアとして働き始めて初の買い替えということで、今回はしっかり設計して導入したいと思います。
ちなみに前買い換えたときは学生時代だったのですが、そのときはコンセプトに「リソースの共有」を挙げています。
今回はそのコンセプトを踏襲した上で、流行に便乗したものを立てようと思います。

今回の設計コンセプトは「ホームクラウドサーバー」でいきます。

いわゆるプライベートクラウドの構築です。

データ専用ドライブの分離やノートPCを利用したホームサーバーの構築によって前回のコンセプトは達成できたので、「より管理を簡単に」を目指そうと思います。

そのため、仮想化を基本概念に据えた設計をしていこうとおもいます。

【仮想化をしてみたい】

「そもそも買い換えるのってサーバーかよ!」っていう話ですが、今回買い換えるのはあくまで日々の生活でメイン利用しているデスクトップPCです。

このデスクトップPCを仮想化し、サーバー用途ノートPCと共存させた仮想マシンの構成を考えています。




直接ホームゲートウェイに接続するって言うのは普通の構成ではあまり行わないことだと思いますが、仮想化してしまえば僕みたいな一人暮らしでワンルームの間取りで十分補えます。

また、デスクトップPCを仮想サーバー化することで得られる利点としてより管理を簡単にすることができる以外にも、省電力化のメリットも挙げられます。(具体的な数字に関しては後述します)

【ハードウェアを揃えました】

上記のとおり、今回はデスクトップPCですがサーバーとして運用するということで、基本的に常時稼動させておきます。ですので省電力化を念頭に置いたハードウェアの選択を行いました。

以下のとおりの構成としました。

>CPU
製品名: Intel Core i7 3770T
動作性能: 4コア/8スレッド 2.5GHz
TDP: 45W
備考: サーバ向けのXeonシリーズにしなかったのは、一応デスクトップPC利用だとしてそれなりのグラフィック性能が必要だったため。

>メモリ
製品名: AX3U1600GC4G9-2G
性能: PC3-12800(コアクロック数 1600MHz) 4GBx2枚
備考: 3770Tはこれとセットでないと取り扱ってない。足りなくなったら8GBx2を増設するつもり。

>M/B
製品名: 
ASRock H77 Pro4/MVP
チップセット: H77
ビデオ出力: D-Sub、DVI、HDMI(オンボード)
備考: OCとかしないのでH77で十分だし、オンボードのグラフィック利用できれば安物でよかった。

>ストレージ
製品名: ASP600S3-64GM-C
種別/容量:SSD(SATA3)/64GB
R/W: 130/360MB/s

備考: 仮想化用のハイパーバイザーとかサーバー用OSあたりを入れておく用。

>そのほか
現在使用中のものを流用。
いずれかは電源とディスクドライブあたりは取り替えたい。

既存のものを使いまわすことができるのが自作の強みですね。
上記のパーツをそろえるだけで済んだので、計49,521円でそろえることができました。

ちなみに、上記構成でサーバーを運用した場合の消費電力ですが。
前項の図にもあるように、ノートPC(Prius)を利用しているため、消費電力が最大21Wで収まっていますが、今回はいくら省電力のCPUを使うといってもTDPで45Wなので、常時稼動させておけば電気料金も倍かかると推測できます。(後で実際の消費電力計ってみたいですね)

ここで重要なのが、ネットワークも仮想化してしまうところですね。


仮想化したネットワーク機器の消費電力も含めた推定消費電力の比較を下表に示します。


ご覧のとおり、むしろ省電力化しているくらいの性能です。

今まで使っていたデスクトップPCと同等のCPU性能を維持しつつ、サーバーの性能はアップさせることもでき、さらには省電力にも貢献できるのですね。

【ソフトウェアを入れ隊】

図にしたほうが早いと思うので下図を見てください。


>仮想化
仮想化にはXenServerを利用します。
Xenとはいわゆるハイパーバイザー型の仮想化ソフトです。
ハイパーバイザー型というのは、一般的に利用されているようなVirtualPC、VirtualBox、VMwarePlayerみたいに、ホストOSにインストールしてゲストOSを作成するタイプのホスト型とは異なり、直接ディスクに仮想化ソフトをインストールするタイプのものです。
本来は同じくハイパーバイザー型の仮想化ソフトであるMicrosoft社製のHyper-Vを利用しようとしたんですが、僕の期待する機能 (ゲストOSによるUSBポートやサウンドデバイスの利用など) がないということが判明したため、急遽Xenを利用することに変更しました。実務でも利用できそうなHyper-Vを使いたかったんだけどなぁ。

>ネットワーク仮想化
ネットワークの仮想化に関してはXenにデフォルトで搭載されているらしいOpen vSwitchを利用します。こちらは今流行り(?)のOpenFlowに基づいたL2のスイッチングができるみたいです。
ルーティングはXenServerで、通常のLinuxと同様の設定をするみたいです。

>共有ストレージ
前回はCentOSでSambaを導入し、共有ストレージを作成していましたが、今回はiSCSIを利用しようかと考えています。

>OpenStack
せっかく「ホームクラウド」を冠するので、今話題(?)のOpenStackでも入れてみようかと思います。
まぁこれに関しては構築が完了して落ち着いたらやろうと思います。

>メインホストOS
メインホストOSとしてUbuntu12.10を検討します。
本当は13.04を入れようと思ってたんですが、正式版リリース日の4/25まで待ちきれないので、12.10でお茶を濁します。
とはいえ仮想化しておけばOSの追加/削除はいつでも自由にできるので、また落ち着いたら13.04を入れようと思います。

>サブホストOS
サブホストにWindows8を予定しています。目的はerg。。。ではないです。きっと。
ただしWindowsを触る機会なんてVBAを触るときくらいで、今のところは使う予定はないのでまた機会ができたら購入する程度に留めておこうと思います。

>サーバOS
ノウハウがあるということからも、CentOSを入れようと思います。
今までと同様、メディアサーバーやファイルサーバーとしての機能を維持しつつ、DNSサーバーやPOP3サーバーあたりは入れたいですね。

>その他OS
検証環境として、CentOS(なんでも突っ込む用)、Solarisあたりは入れたいです。


以上のような感じで、我が家のホームクラウドサーバーを構築したいと思います。
もちろんサーバーを構築している間はメインPCを利用することはできないので、代用で現在サーバーで利用しているノートPC(ご隠居)を現役に復活させようと思います。

GWの予定が決まってうれしい限りですね! 思いっきり引きこもるぞ!