技術ブログ
弊社のx86系プラットフォーム検証環境はOracle VMをベースに構築しています。
これまで、弊社の検証環境では Oracle VM 2.xを使用していましたが、以下の点を魅力に感じて、Oracle VM 3.xの導入と移行を検討しているところです。
実際にOracle VM 3.xを使用して感じるのは、VMを構成するリソースハンドリングの抽象化が進んでいるということです。
ここでの抽象化とは、具体的にはVMを構成するリソース(≒dom-0からファイル等として見える構成要素)がUUIDベースで管理されており、ファイルパスからだけでは、個々ののファイルがどのVMのどのようなリソースであるかがよくわからないことを指しています。
[root@csov3m01 ovmrepo]# find -type f |xargs ls -l -h -rw------- 1 root root 36 8月 24 17:11 ./.generic_fs_stamp -rw------- 1 root root 152 8月 24 17:15 ./.ovsrepo -rw-r--r-- 1 root root 704 8月 24 17:50 ./Templates/0004fb000014000015c12536919d816b/vm.cfg -rw-r--r-- 1 root root 13G 8月 24 19:24 ./VirtualDisks/0004fb0000120000fc04d4cad1fa40df.img -rw-r--r-- 1 root root 13G 3月 8 2011 ./VirtualDisks/e30b35ec-82a0-4b82-a25a-467a17d41251.img -rw------- 1 root root 785 8月 24 18:28 ./VirtualMachines/0004fb0000060000289d70852505781a/vm.cfg上記はVMテンプレートを1つ、VMを1つ展開した状態における、Dom-0に展開されるファイルパスの例です。ファイルパスに意味不明な16進数表記の文字列があることがわかると思います。16進数表記の文字列が16文字であり、バイト換算で16バイトに相当することから、おそらくこの16進数表記の文字列は、UUID(Universally Unique Identifier)類似の数値であると推測できます。
UUID(Universally Unique Identifier)とは、Distributed Computing Environment (DCE)の一部としてOpen Software Foundation (OSF)が標準化した、一意に識別するための識別子である。UUIDは、分散システム上でどこかが統制を取らずとも、一意に特定可能な識別子の作成を目的としており、UUIDは重複や偶然の一致が起こりえないと確信して用いることができる。 (中略) UUIDは16バイトの数値で表され、「550e8400-e29b-41d4-a716-446655440000」のように表現する。
私の理解が正しければ、Oracle VM 2.x では、記憶域リポジトリ(/OVS)のみがUUIDベースで管理されていました。 Oracle VM 3.x では記憶域リポジトリ(/OVS)に加えて、以下のオブジェクトがUUIDベースで管理されているようです。
Dom-0からVMを構成するリソースをハンドリングすることを考えると、正直いってこの仕様は厄介です。
実は、Oracle VM 3.xからはDom-0からのVM制御は明確にサポート対象外とされています。xmコマンドを使用したVMの起動停止などのVM制御や、UNIXコマンドを用いた仮想ディスクの作成などです。
このため、必然的にすべての操作をOracle VM Manager(GUIベースのWebアプリケーション)から実行しなければならないわけなのですが、バージョン違い、Patchset違いなど多数のVM環境があり、かつ、各種管理作業が頻繁に発生するような検証環境を効率的に運用することを考えると、いちいちGUIベースのWebアプリケーションから操作するのは正直言って面倒すぎます。
また、サポート対象の構成だと以下の点で問題や、制限があるように思います。(認識違いでしたらぜひ教えてください)
また、もしかすると認識違いかもしれませんが、Oracle VM 2.xのVM資産を簡単に移行できないようです。(おそらくいったんテンプレート化する必要がある。RAC環境はどうする???)
というわけで、弊社検証環境では非サポート対象外の構成で突き進む予定です。(そもそもサポート買っていないし・・・)
もし、時間が割けたら、弊社検証環境で使用している非サポート対象外の構成についてBlogを書くかもしれません。