一昨日の話ですが、「2007年はXenに全力投球」なんておっしゃっているオープンソース界では有名な宮原さんから、サーバ仮想化の話が聞けるということでぷらっとホームさんのセミナーに行ってきました。
# Xen力投球かぁ。。。( ´,_ゝ`)プッ・・・すいません。。。
http://www.plathome.co.jp/seminar/virtual_070712.html
第2回 サーバーの仮想化 − 宮原徹氏が語る仮想化技術 日本仮想化技術株式会社 代表取締役社長兼CEO 宮原徹氏 14:30-14:40 ぷらっとホーム会社案内 14:40-14:50 日本仮想化技術株式会社案内 14:50-15:45 サーバー仮想化のメリット 15:45-16:00 休憩 16:00-17:00 サーバー仮想化の技術と導入 17:00-17:30 質疑応答
サーバ仮想化のメリット
- 仮想化技術とは?
- 単一であるものを複数存在するようにする技術(あるいはその逆も)
- サーバ仮想化とは?
- 1台のマシン上で複数のサーバを動作させること
- VMWareとかXenとか・・・
- 1台のマシン上で複数のサーバを動作させること
- 仮想化技術導入のメリット
- マシンリソースの分割とシステムの統合が可能だ
- マシンリソースを柔軟に分割できる
- 低利用率の複数マシンを1台に統合できる
- 標準化されたマシン環境の提供
- ハードウェアの差異を仮想化のレイヤーが吸収してくれますよ、と
- 従来だとOSがデバイスドライバ等で吸収していた
- ハードウェアの差異を仮想化のレイヤーが吸収してくれますよ、と
- 可搬性の確保
- 仮想マシンは"OSとアプリ"をコンテナ化してくれる
- 仮想マシンは簡単にコピーできる(1ファイル化されているので)
- 仮想マシンをどこでも実行できる
- JavaVM上でJavaアプリを動かすのと考え方は一緒で、一回構築したマシンは、どこでも実行することが出来る
- マシンリソースの分割とシステムの統合が可能だ
- 過去の仮想化技術導入事例で、成功要因を分析すると・・・
- 仮想化導入の目的が明確である
- サーバ処理能力をスケールアウト(フレキシブルに)したい・・・とか
- 増大するサーバリソースを集約したい・・・とか
- 目的に合わせた仮想化技術の選択
- パフォーマンスを重視してXen
- 管理しやすさを重視してVMWare Server
- 仮想化導入の目的が明確である
サーバー仮想化の技術と導入
- サーバ仮想化技術の分類
- ホストOS型仮想マシン
- VMWare Server、Virtual Serverなど
- 通常のPCと同様に仮想マシン上にOSインストールが可能
- 上記の通り、導入や操作が容易
- ややオーバーヘッドが大きい
- ハイパーバイザー方仮想マシン
- VMWare ESX Server、Xenなど
- ゲストOSに修正が必要な場合がある
- オーバーヘッドが少ない
- ホストOS型より高パフォーマンス
- 仮想環境
- Solaris Zone/Containers、Virutuzzo、OpenVZなど
- OSはHost OSの機能を利用
- オーバーヘッドが少ない
- その上、他と比べメモリの使用量も少ない
- ホストOS型仮想マシン
- ハードウェア選定のポイント
- 高CPUクロックよりマルチコアCPUを!
- コア数に応じて、VMの数をスケール出来る
- メモリは十分な量を!
- 仮想マシンの使用メモリ×仮想マシン数+仮想マシン環境用
- ストレージの分離
- ボトルネックとなりやすいので、高速なものを
- ネットワークI/Fの増設
- 仮想マシンとトラフィックに応じて
- 高CPUクロックよりマルチコアCPUを!
- サーバ仮想化の付加価値
- ライブマイグレーション
- 仮想マシンを停止することなく、別の物理ノードへ移動させる
- HA構成
- 仮想マシンが異常終了しても、すばやく再起動することが可能
- ライブマイグレーション
- 仮想化技術の得意分野
- 負荷が低い処理を多数
- 単独ではハードウェアリソースを使い切れない場合
- 性質が異なる処理の組み合わせ
- CPU処理をたくさん使うものと、メモリをたくさん使うものの同居には向いている
- ピークタイムが異なる場合
- 日中はオンライン、夜間はバッチ処理とか
- 負荷が低い処理を多数
- 仮想化技術の苦手な分野
- ストレージI/Oがボトルネック
- DASは影響を受けやすいとか
- SAN/NASストレージ+高速ストレージデバイスである程度は回避可能
- ハードウェアリソースを使い切る処理
- リソース分割が仮想化技術の一番のメリットなので
- 分割の余地がないのは・・・
- メンテナンス性を考えて仮想化するのも一考
- ストレージI/Oがボトルネック
- 仮想化技術の活用方法を検討
- 実験・開発環境として
- 高性能ハードウェアのリソースを有効に活用する手段として
- 既存システムの移行先として
その他
セッションが終わったあと、せっかくの機会なので色々と質問させていただきました。
ちょうどXenで構築されたデモ環境が展示されてあったので、それをベースに。
デモ環境では、物理ノード2台に共有ストレージが1台といった構成で、ドメイン0にRedHat Clusterが利用されている構成でした。で、ドメインUのところでは、CentOSやWindowsなどのOSがデモで使われていました。
実際にパフォーマンスはどうなのか聞いてみると、と全般的に10%未満のパフォーマンス低下で済むそうです。
同時稼動させる仮想マシンの台数としては、もちろんリソースの使われ方にはよるが、CPU1Coreあたり2台くらいが良い。多くなってもCPU1Coreあたり4台まででしょうとのこと。
検証では、仮想マシンを同時に200台動かしたこともあるそうです。
# それ以上は、H/Wのメモリの容量限界点に達したとか。
キャパシティプランニングやH/Wの見積もりは、やはり各処理のベンチマークをとった上で検証するべきとのこと。で、少なくとも10%くらいは処理能力に余裕を持たせておくようにするのが良いそうです。
また、ディスクの台数は出来るだけ増やしてディスクI/Oは分散させるのが良いそうです。
あと、上には書いていませんが、講演の中でライブマイグレーションのデモも実演されていて、Xen上でキレイにライブマイグレーションが成功していました。Xenのままでも十分に使えそうな感触を受けました。
ただ、やっぱり足りないのは管理系のツールなようで、宮原さんのところでも管理ツールを作っておられるようで、H/W一式とツールとサポートを込みにした統合サーバ仮想化環境を売り出しているそうです。
会社で検証しているVirtual Iron(Xenベースの商用製品)にも充実した管理ツールが付いているので、このあたりが商用製品の主な付加価値になっているのかも。(製品のチューニングの方が主か?あ、どっちもか)
とまぁ、知っていることもそれなりにありましたが、仮想化事例も少しずつ作られている(2事例の紹介がありました)ようで、割と貴重な話も聞けたセミナーでした。
余談ですが、前回行ったぷらっとホームさんのGoogle Miniのセミナーの時と比べて、質疑応答は若干寂しいものでした。(おかげで終了後、かなり宮原さんとお話できる時間がありました)
僕と一緒に熱心に技術的な質問していた方もおられて、皆で名刺交換をしましょう、という話になったときに、その彼は学生ということが判明して凄く刺激を受けました。
やっぱり外に出ると、色々な刺激を受けたりできるので良いですね。