Sunが提供している仮想化技術まとめ
Logical Domains (Ldoms)
- SPARCプラットフォームの”CoolThreads Servers”で利用できるハードウェア仮想化技術 参考:Ldomsのポイント
- サポートされるゲストOS
- Solaris
- 理論的にはLinuxやBSDも動きそうだけどサポートされてるのかは不明
- Oracle Database, RACがサポートされる
Solaris Container
- SolarisのOSパーティション技術。ハードウェアを仮想化するのではなく、OS空間を区切る技術。
- サポートされるゲストOS
- Solaris
- OpenSolaris
- Oracle RACはサポートされない
xVM Server
- Xenベースのハードウェア仮想化技術(ソフトウェアでハードウェア仮想化するの意)
- サポートされるゲストOS
- Solaris 10 5/08以降
- OpenSolaris 2008.05以降
- RHEL 4.6, 5.2
- Windows XP, 2003, 2008
- Oracle RACはサポートされない
なお、デスクトップ仮想化については省略。
Oracle VM 2.1.5 Released !!
Oracle VM 2.1.5がリリースされました。インストールイメージはE-Deliveryからダウンロード可能です。
http://edelivery.oracle.com/linux
また、既存の2.1.2はULN経由でアップデートすれば自動的に2.1.5となります。
今回のリリースの主主な変更点はこちら。
- VM Managerの全ての機能をWeb Server APIとして実装。外部アプリケーションからOracle VMを管理することが可能に。
- Bug Fix
- ドライバ追加
Web Service APIの詳細情報はこちらに。
Manager Users Guide - Appendix C Web Service API
Oracle VM Manager Web Service API Reference
例えば外部の統合管理ソフトウェア等から、「xxxという条件になったらこのVMサーバ上のVMを全てライブマイグレーションさせる」みたいなことを実装することができますね。他にもアイデア次第でいろんなことを自動化できそうです。僕も何か作ってみようと思っています。
@IT連載「Oracle VMの世界」第五回
@IT連載 「Oracle VMの世界」 第五回が公開されました。
Oracle VMの世界 第五回 Oracle VM上でRACを利用する(1)
RAC on VMのメリットや、RAC on VMと純粋なRACとの違いを整理して説明しています。
@IT連載「Oracle VMの世界」第4回
@IT連載 「Oracle VMの世界」 第4回が公開されました。
今回はCPU、メモリ、ネットワーク、ディスクという4大ハードウェアリソースをOracle VMでどのように管理できるかというお話です。Oracle VM Managerのスクリーンショットを多数掲載していますので実際どのような画面なのか確認されたい方は是非ご覧ください。xm commandにも言及しています。
*現在3ページ目のファイルVBDの図とブロックデバイスVBDの図が逆になっちゃってます。修正依頼したのでその内修正されると思います。 => 5/21,修正されました。
New VM Managerテンプレート!!!!
先日VM ManagerのVMテンプレートがリリースされましたが、早くもこれがバージョンアップしました。前回のものよりも更にセットアップが簡単になっています。
まず、E-DeliveryからVM Managerテンプレートをダウンロードします。
Oracle VM Template x86 32bitのカテゴリにあるPart Number:B53638-02, Updated:MAY-11-2009となっているヤツです。
これをダウンロードし、VM Serverの任意のディレクトリに保存します。ただし/OVS/running_pool以外のディレクトリにしてください。このディレクトリ配下は空になってないとVM Managerテンプレートのインポートに失敗してしまいます。以下の例ではvmserver1:/var/local/V165522-01.zipとして保存しました。
次に解凍します。
[root@vmserver1]# unzip V16522-01.zip
Archive: V16522-01.zip
inflating: OVM_EL5U2_X86_OVM_MANAGER_PVM.tgz
inflating: Deploy_Manager_Template.sh
[root@vmserver1]#
するとtarballとスクリプトが展開されます。
インポートはこのスクリプトを実行し、インタビューに答えるだけで完了します。前回のリリースのようにVM Managerにログインする必要がなくなりました。ちょっと出力は省略しているところがありますが、インタビュー項目は以下の通りで概ね変わっていません。
[root@vmserver1]# sh ./Deploy_Manager_Template.sh
Please enter the password for Oracle VM Agent:
Enter static IP address:
Enter netmask:
Enter gateway:
Enter DNS Server:
Enter hostname:
Specify a password to be used for database accounts:
Please enter the password for account ‘OVS’:
Please enter the password for account ‘oc4jadmin’:
Please enter the password for the default account ‘admin’:
Please enter the outgoing mail server (SMTP) hostname:
Please enter an e-mail address for account ‘admin’:
Enter the Server Pool name:
Enter the Oracle VM Server login user name:
Enter the Oracle VM Server login password:
Do you want to enable HA(y|N)?
Please confirm the following information:
Server Pool name : RACVM
Oracle VM Server name : vmserver1.ovm.oracle.com
Oracle VM Server login user name : root
Enable HA : false
Is the Oracle VM Server information correct(Y|n)?
すべて答えると以下tarballが展開され、インタビュー内容に応じて自動的にVM Managerの設定が行われます。
Untar the Oracle VM Manager template tarball …
Done
Move the parameter file to Manager.img
Done
Create Oracle VM Manager virtual machine …
Done
The Oracle VM Manager virtual machine is booting. To finish the Oracle VM
Manager configuration, connect to the virtual machine console using any
VNC Viewer from a desktop machine via the command:
vncviewer vmserver1.ovm.oracle.com:5900
After Oracle VM Manager has been successfully deployed, access the Oracle
VM Manager home page at:
http://10.185.145.227:8888/OVS
[root@vmserver1 local]#
この状態でセットアップスクリプト自体は終了していますが、VM Manager内部の設定処理はまだ走っています。ここから大体5-10分ほどで終了します。設定がすべて終了すれば、http://[VM_Manager_IP]:8888/OVSでVM Managerにアクセスできます。
初期設定処理の進捗を見たいといった場合や、いつ設定が終わったかちゃんと確認したい場合はVNCでVM Managerに接続することで様子を確認できます。VNC接続のあて先は上記セットアップスクリプトの出力の中に表示されています。今回の例だとvmserver1.ovm.oracle.com:5900ですね。
これで自動的にVM Managerがセットアップされ、さらにServer Poolが自動的に作成され、VM ServerがServer Pool Masterとして登録されます。
OCFS2のreflink機能
OCFS2はLinuxカーネルのメインストリームに採用されているクラスターファイルシステムで、Oracle VMにおいて仮想マシンのデータを格納する共有ストレージはOCFS2でフォーマットします。(NFSの場合を除く)
このOCFS2ですが、現在魅力的な新機能が開発されています。それはreflinkです。
このreflinkについてOracle VMの責任者Wimが最近ブログエントリーを書いています。
OCFS2 reflink by Wim Coekaerts on May 4, 2009
以下はこのブログエントリを簡潔にまとめたものです。
reflinkとは簡単に言えばファイルのスナップショット機能です。あるファイルをreflinkするとそのファイルがコピーされたようになりますが、実際のデータブロックは複製せずに同じ実体を共有しており、新たに作成するはのはその新規ファイルを指すinodeだけです。そして該当データに書き込みが会った場合にはじめてデータをチャンクと呼ばれる単位でコピーするというCoW(コピー・オン・ライト)という仕組みを使っています。したがってreflinkした時点では新しいファイルはディスクを消費しません。その後も変更されないデータブロックについては共有したままとなり、特にVM環境でのテンプレートプロビジョニングにおいて大幅なディスク消費削減が見込まれます。CoWは新しいプロセスをfolkしたときのメモリのコピーにも同様の仕組みが採用されていたり、考え方自体は目新しいものではありません。ただし、このファイルベースのCoWは通常特殊なファイルフォーマットを必要とします。例えばVMwareのvmdkやMicrosoftのVHDです。OCFS2の場合はユーザはそれを意識する必要はありません。違うのはファイル複製時にcpではなくreflinkコマンドを使用するというだけです。reflink元のファイルもreflink後のファイルも通常のファイルとして扱うことができ、ユーザもOS(VFSまでの上位レイヤ)もその違いを意識することはありません。そしてOCFS2のファイルなので当然クラスターの中で安全にどのサーバからも取り扱うことができます。
実際このreflink機能の開発をはじめたのはOracle VMを見据えてとのこと。前述したVMテンプレートのプロビジョニングや既存VMの複製、バックアップではこの機能はめちゃくちゃ重宝しそうです。まだOracle VM用のreflink対応OCFS2バイナリはでていませんが、近々テストパッケージをリリースするようです。楽しみですね。
New VMテンプレート!!!!
Oracle VMのVMテンプレートは国内外問わずとても好評です。
そのような背景もありOracleは続々と新しいVMテンプレートをリリースしています。テンプレートはE-Deliveryからダウンロード可能です。
http://edelivery.oracle.com/linux
新しく追加されたのは以下のテンプレート達です。
- Siebel CRM 8.1.1
- Enterprise Manager Grid Control 10.2.0.5
- Oracle Enterprise Linux 5.3
- Oracle Enterprise Linux 4.7
- Oracle Business Intelligence Enterprise Edition
- Oracle PeopleSoft Enterprise Human Resource Management and Campus Solutions
- Oracle Identity Management
*5/10現在、PeopleSoftはアナウンスされているもののE-Deliveryにはリストされていません。多分そのうちアップされると思います。
この中でも特筆すべきはOracle Enterprise Manager Grid Control 10.2.0.5でしょう。このバージョンではVM Management機能をプラグインすることができます。つまりEMGCでアプリケーションからミドルウェア、OS、さらにVMレイヤまですべて管理することができるようになります。特にVM管理機能は優秀で、一部のQoS設定等を除きVM managerの機能のほとんどが実装されています(EMGC+VM Management PackがあればVM Managerを別途構築する必要はありません)。
まさに一元管理。そしてこのEMGC 10.2.0.5自体をVMテンプレートとして一瞬で構築可能になったのです。
以下のテンプレートももちろん引き続きダウンロードできます。
- Oracle Database 10.2, 11.1
- Oracle WebLogic Server 10.3
- Oracle Application Server 10.3 WebCenter
- Oracle Fusion Middleware SOA
Enjoy !
いよいよOracle Open World Tokyo
いよいよOracle Open World Tokyoが来週開催されます。
http://www.oracle.co.jp/openworld/2009/index.html
お申し込みがまだの方は是非!招待コード「3769」で事前登録すれば無料で入場できます。
僕は最終日の24日 15:30 -のセッション、「SS03-151 低コストと高可用性にとことんこだわったOracle VM環境構築」に登壇します。まだ少しだけ席があるようなので是非ご来場ください!
Windows端末からTeraTermでファイルを送信する方法
TeraTermってすごいっす。
Windows端末からLinuxに接続するときは昔からTeraTermを使っていたのですが、ファイルをLinuxに転送する際には別途puttyのpscp.exe等を使っていました。Linux側でftpやらsambaやら立ち上げなくてもすむのでお手軽といえばお手軽ですが、いかんせん別窓を開いてDOSのコマンド打つのはあまり気持ちのいい作業ではありませんでした。
そんなとき!偶然発見したのですが、最近のTeraTerm(TeraTerm Professional4.5.8) にはscp機能が実装されていることに気がつきました。しかも「ドラッグ・アンド・ドロップ」で。めちゃくちゃびっくりしました。使い方は、ファイルを転送したいホストに普通にTeraTermのsshでログインしておき、その窓にファイルをドラッグ・アンド・ドロップするだけです。ほんとです。是非やってみてください。
今までなんて無駄作業をしていたのだろうか。
VMを本番環境で使えますか?
一昔前までI/Aサーバ用のVMは完全に検証環境用でした。I/Aサーバ用の仮想化技術は当初デスクトップマシンに仮想化ソフトをインストールし、そのソフトがハードウェアをエミュレーションすることでOS上にさらに複数のOSを稼動させることができるという技術でした。この画期的な技術は主に検証時に度々必要となる新しいOS環境、H/W環境の用意を素早く効率的に行う目的で検証作業、開発作業において広く受け入れられています。
一方、「エミュレーション」という言葉から連想されるのは「高度な抽象化」であると同時に「顕著な性能劣化」です。エミュレーションといってもその実装は様々だと思いますが、とかく仮想化 = エミュレーション = 性能は望めない という図式が通念となっていることは容易に想像できます。実際には現在サーバ仮想化分野で採用されている実装の主力はHypervisor型であり、従来のVMware Workstationのようなものとは全くことなる方式で複数OSの稼動が実現されています。Hyperviosr型仮想化ソフトウェアのパフォーマンスについては現在ではWebの記事掲載や各社が独自に性能検証を行っていることである程度知られるようになってきていると思います。ただしユーザの頭からはそう簡単には不安は消えません。性能劣化についての懸念や、漠然とした「安定性」への不安はソフトウェアベンダーがいくら理屈をこねてもすんなり受け入れられるものではないでしょう。それは性能や安定性を支える技術がOSやHypervisorのコアの部分に左右されるところであり、一部のカーネル開発者を除いて一般的なエンジニアにはその妥当性を技術的な観点で判断するのは極めて難しいことが理由だとおもいます。技術的には判断できないからこそ「事例」といった形の結果的、客観的な証明が求められるのだと思います。しかし事例というのは鶏と卵の関係で、ソフトウェアを開発してリリースした時点では当然事例は0です。そして事例がなければ受け入れられないのであれば事例が生まれることもありません。なのでソフトウェアベンダーはファーストリリースのソフトウェアの話に耳を傾けていただけるお客様に対して事例ではなく、技術的に、理論的に、そのコンセプトに熱意をもってアプローチしていかなければならないと思います。その観点で今回のポストは「事例があるかどうか」という話ではなくその前のフェーズで「VMを本番環境で使えるか?」について少し検証してみたいと思います。
多くのユーザはVMに漠然として不安を感じています。その不安の内訳は「性能劣化」と「安定性」が大部分を占めると思っています。今回は性能劣化について言及したいと思います。率直に言って現在のHypervisor型の、それもXenの準仮想化アーキテクチャは非常に優秀です。多くの方が抱かれている性能に関する不安はいろいろなテストを行えばほとんどは払拭できるのではないかと思っています。それどころか経験上は性能の良さに驚かれるケースの方が多いと感じています。特に純粋なCPUの演算能力についてはほとんどNativeのOSと際がない程です。仮想化環境で最も劣化が起こるのはI/O処理だと言われていますが、この劣化もそれほど影響が大きいものではありません。この劣化具合は残念ながら個別にテストしたデータをお見せするわけにはいかないのですが、第三者テスト機関のTolly GroupがOracle VM上のOracle Databaseに関するベンチマークを行い、そのレポートを公開しています。
Performance Evaluation of Oracle VM: Tolly Group Benchmark
これは性能データが公開されている極めて異例で貴重な資料です。この資料を参照するとOLTPの負荷に対してVMはNative OSと比較してわずか数%の劣化しか示していません。もちろん性能テストは環境やテスト内容によって結果は大きくことなりますが、一つの指標として有用な情報だと思います。この資料をもって全てのユーザが抱く性能についての不安払拭されることはないと思いますが、このようなデータをきっかけに興味を持っていただき、個別にテストを実施していただいて是非を判断いただければ良いなと思います。