2010年 05月 21日
Novell SUSE + XEN 仮想化の肝 - メモめいたこと
1)プロプラエタリ、クローズソフトウェア
VMware, Hyper-V など
メリット
- 顧客は高い金を払っているため文句が言える、当然トラブルに対する改善提案も受けられる。
- いくら払ったかはっきりしているため、費用対効果が明確である。
デメリット
- サポート料込みだけどライセンス料が高い
- ライセンスリソースをプール化できない
- 不良資産、固定資産化しやすい
大企業や大手SIベンダーがクラウドシステムを作るには適当なシステムだと思います。実績もある(ないのもあるけど)。一番問題なのは、本来、IT資産をプール化してスケールアウト、あるいはスケールダウンを試みる場合、高額なライセンス料金に縛られて、簡単に仮想マシンを構築できないところです。たとえサーバーが100台あって、これをハードウェアプール化しても、将来このハードウェアプールを50台に減らそうにも、余ったCPUソケットを増設してスケールアップしようとしてもライセンスのプールがない限り不可能なのですね。たとえ50台に減らしてもライセンス料は安くはならない。
しかも値段が高いから、利用企業としては、ハードウェアと一緒にリースしたり、固定資産化させなければならない。したがってサービスイン、サービスアウト(という言葉があるかどうかは?)が簡単にできないため、当然経営側もこれだけ巨額な出費に慎重になります。このシステム5年以上かけて人材育成から利用するというしっかりした計画が必要です。
しかもライセンス上の「マル秘スイッチ」みたいなフラグがあるわけで、ライセンスコードを入れないとオンにならない機能なんてのがついている(と想像できる)何しろオープンソースではないので、そういった「ヒミツ」の機能はいくらでも仕込むことができるのです。
2)商用オープンソフトウェア
SUSE, Citrix, OracleVM, RedHat などさまざまなオープンソースを商用サポートするメーカーの製品があります。
メリット
- 評価からサブスクリプション購入まで自由にできる
- ソースが公開されているため、ライセンスの制限に嘘が付けない。
- SUSE の場合、単年のサブスクリプションライセンスから3年のプレミアムサービスがあり、不良資産化しにくい
- 技術力のあるなしにかかわらず、さまざまな契約が行える。
- 何しろ安い(SLES11 の場合は最低4万円台からだ)しライセンスも柔軟
デメリット
- 何しろ SUSE の場合、1台32ソケットという現代社会ではあって無いようなライセンス体系なので、非常に自由に仮想システムが作れてしまう。ネットワークが仮想マシンだらけになってしまうことが最大の欠点。
- サブスクリプションやサービスが年間だったりスポットだったりするわけなので、IT予算が予算化しづらい。
- 管理ツールは期待できない
ということで大手から中小まで使いやすいことは使いやすい。たとえプロジェクトが半年でポシャッてしまっても1年のサブスクリプションライセンスであれば、捨ててしまってもかまわない。しかもサブスクリプションを登録すれば、年間単位でパッチの提供も受けられるし、プレミアムサービスを購入すれば、天才と言われなくても、普通のレベルのサポートを期待できる。2年目以降ももしスケールアウトが必要になればサービスを継ぎ足して購入すればよい。その代わり、こういった商用オープンソースにはさまざまな中途半端な管理ツールがついてきて、ほとんど役に立たないのが現実です。だからあまり複雑な大規模システムにはむいていないという面もあるし、いいオープンソースの管理ツールが出てくれば、実装できるわけですから、期待はできるわけです。私のようなヘボな零細事業者がお客に提案できるのはこの程度のシステムしかありません。非IT関連のお客さんで、あまり「金がなさそうな」ところにプライベートクラウドを売り込むには実に優れていると思います。
3)非商用オープンソフトウェア
Ubuntu や CentOS, FreeBSD などフリーのソフトウェアを使った場合。
メリット
- 何しろライセンスがかからないのでライセンスというプールは無制限である。
- サービスイン、サービスアウトが容易
- ソフトウェアのライセンス、資産管理が不要
デメリット
- タダより高くつくことがある
何しろ技術力が必要である。行き詰まって経営側から「何とかしろ」といわれた以上、自分で何とかしなければならない。情報もコミュニティ頼りだ。もし、「FreeBSD でやってくれ」と言われたら私としてはかなりのリスクを含めた価格を提示しなければならないでしょう。つまり、経営側からすると、システムの費用をほとんど人月で管理するわけで、ITにかけるコストを計るためのゲージがヒトの評価しかないことがネックになります。当然システムも属人化します。
したがって非IT企業にはお勧めできない。自社で開発者を抱えたり、いかに安価でITサービスを提供するかが目的であれば最適な判断かもしれない。私には自信がないけど。ウワサによればYahooは FreeBSD, はてなは XEN を使っているらしいけど、そういった大規模なITサービスには無料のオープンソースを使いこなす技術、基盤があるということですね。リースが切れるからこの古い FreeBSD のシステムを何とかしてくれ、といわれた時ははっきり言ってお手上げでした。そういう残骸がたくさん残っているIT企業もたくさんあるんだろうなという気がします。
RedHat+KVM で比べた場合の SUSE+XEN のメリット
私の公開している情報にはさまざまな条件でご訪問していただくリーダーさんがいます。 "XEN+USB, XEN+CDROM XEN+起動できない, XEN+接続できない”、まぁそういった検索条件です。
この XEN という文字を KVM に置き換えてぐぐってほしい。まず見つかるのはキーボード切替え装置(KVM)に関する情報である。KVMというオープンソース仮想化技術の最悪な点は「名前が悪い」のです。技術そのものは大変優れたものであるということは想像できるのだけれど、今のところ RedHat だけが標準で採用しているわけで、技術の蓄積や経験が不足している。おまけに KVM について調べようとすると、ほとんどがキーボード切り替えスイッチの情報しか見当たらない。
KVMは名前で損している。このまままでは仮想化システムの本筋になれるとは思っていません。XENを捨てた RedHat は名前を変えることが大事だと思いますよ。
コンピュータはクロック以上の性能は出ない
いくらコア数が多くても、コンピュータはクロック以上の性能は出ません。まして、コンパイラやミドルウェアが数年前に開発されたものが主流で当時はシングルコアだったため、マルチコアに最適化されたコードが搭載されているはずがないのです。私のような単細胞、シングルタスクな人間には想像できないのですが、コア数を目いっぱい使ったソフトウェアを使いこなすには相当な発想、プログラミング技術が必要だと思います。
巨大な仮想イメージをバックアップ取ろうとして tar 圧縮していたのですが、ボーっと観測していたら8コアのうち、実際に動いているのは1コアだけでした。そりゃカーネルはプロセッサを効率よく利用しようとさまざまなジョブを振り分けるわけですから、8コアが無駄だとは思いませんが、ひとつのジョブが8分かかるところ、8コアにしたからといって1分で終わるわけではないのですね。じゃぁ8つのジョブが8分で終わるんじゃないの? という疑問があるのですが、怖くてまだ試していません。たぶんディスクIOでそれほどのパワーは出ないと予測しています。
メモリもCPUもパワーが出てきている割には、マルチコアを生かすチップセットというものが無いような気がします。サーバーの外のケーブル、HDDはチューニングのし甲斐というものがあるのですが、チップセットはチューニングできません。全てオンメモリで処理してしまおうと思っても、意外とパフォーマンスに恵まれないのはその辺もあるかなと思います。
もちろん、改善点はいくつでもあるでしょう。スイッチングHUBはできるだけ良いものを、ケーブルもカテゴリ6以上の短いものを、SATA読み込みは遅いのでSAS-RAIDを選ぶとか、読み込みが多いところはSSDを使うとか工夫のしかたはあるのでしょうが、いかんせんそこまで考えると、予算も足りないし、予測していた程度のパフォーマンスが出なくてがっかりするのも嫌で仕様がありません。これだけは、サーバーメーカーさん工夫していい装置を出してよねと考えています。
ついでにHDDですが、やっぱり3.5インチには敵わないなと思っています。スペースや音、電力では2.5インチに分があるのですが、いくら消費電力が半分でも、台数を倍積むとそれだけ電力も発熱も出てきます。しかも回転数が1万回転でハイエンドだと、やっぱり3.5インチのほうが明らかに使い勝手はよいように思います。厳密にアクセススピードやベンチマークを取っているわけではないのでご了解ください。
また、SATAドライブを使ったNASなどがありますが、あれはあくまでもDLTに変わるバックアップメディアだと割り切った方がよさそうです。SAS-RAIDだと、壊れたディスクを自動的に再構築してくれる機能は普通にありますが、SATAのRAID1とかは、単にメインのディスクが壊れたときの単純なバックアップなので、あればいい程度に考えたほうがいいでしょう。動きがおかしくなって初めて「壊れていた」ことに気がつくわけです。NTFSでフォーマットしたSATAのディスクは明らかにランクが落ちるLinuxマシンより読み出し速度が遅いようです。書き込みは普通OSがバッファになるので、あまり意識はないのですが、読み出し速度は明らかにSASに軍配が上がります。Windows Storage Server 搭載SATA-NASなんてのもあります。コンソールつなげれば立派な Windows の画面ですが、基本的には NAS の機能しかついていません。じゃないとあんな安価なライセンスで売れませんからね。もっともそういう結果が言えるのは、サーバー室で暇なあまりコンソールばっかり見ている結果なのですけど。ただしSATAは消費電力を下げることができる点は評価していいと思います。
侮れないGbE
GbEは1Gしか出ないし、FbEなら3Gとか6Gとか出るようです。確かに何百台とある巨大なデータセンターなら、これくらい投資するのが当たり前のようなところがあるのですが、たいていの中小システムはそんな巨大な予算は組めません。ただ、以外に同じディスクの中でコピーペーストするより、サーバにペーストするほうがスピードが速いということはよく感じます。つまり1対1では、まだディスクの転送速度に GbE なら余裕があると考えてもいいと思っています。・単純なシステムで構築するのであれば、ストレージに光ファイバを入れる必要はないなと思います。SAS なら 6Gb とか言いますが、きらきらした円盤から読み出せる速度がそれだけ速いという意味ではないのですね。
もっとも10GbEも結構世の中に出ていますが、光ファイバを前提としたものが多く、メタル線を使うものはまだ少ないのが残念ですね。NICで8万円くらい、HUBは100万を超えます。ポート単価が1万円台になると急激に普及すると予測します。最近のNICで侮れないのはiSCSIのブート機能がついていることです。iSCSI ブートができると、実質サーバーにはディスクは不要なんですね。小型のシステムだったら1Uで4つのCPUユニットと共有電源があり、それぞれデュアルソケット、メモリ8バンク、2つの Ethernet と管理ポート、RJ45のコンソールポート、あとUSBが二つぐらいがあれば使えるわけですから、「起動しっぱなし」のシステムには非常に有効かもしれません。この1Uのラックの中に30個くらいの仮想マシンが動いているとしたら、ちょっと痛快です。
visite my site