Oracle VMはOracle社が無償で公開しているXenベースのサーバ仮想化ソフトウェアです。
Oracle VMは「VM Server」と「VM Manager」から構成されています(32ビット版と64ビット版は同じもので区別はありません)。
(1)VM Server
VM ServerはOEL(Oracle Enterprise Linux)のサブセットにXen本体とエージェント機能(VM Managerからの要求受付機能)を加えたLinux OSです。
VM Serverはそれ自体がXen機能に特化したLinux OSですがXen対応のGUI管理ツールは持ちません(デスクトップなし)。
仮想マシン(DomainU/HVMドメイン)はこのVM Server上で実行されます。
DomainUだけを使用するのであればIntel VT/AMD-Vに対応していないマシンにも導入して利用できます(VMware環境にインストールして試験的利用も可能)。
Oracle VM Server 2.1.1(Xen 3.1.3対応版)は2008年3月にリリースされましたが、そのベースとなるOELはOEL 5.1(Release 5 Update 1)ではなくOEL 5のようです。
尚、OEL 5にOracle VM Server 2.1.1付属のrpmパッケージのいくつかをインストールするとデスクトップ付きのVM Serverになります。
(2)VM Manager
Xenの仮想マシン(DomainU/HVMドメイン)全体のライフサイクル(生成から削除まで)をOracleデータベースで一括管理するWebベースのリモート管理ツールです。
ここでのOracleデータベースは無償のOracle XE(Oracle Database 10g Express Edition)です。
(Oracle XEは単独利用も可能)
VM ManagerはOC4J(J2EEアプリケーション実行環境)で動作するOracle Webアプリケーションとして実装されています。
Oracle VM Manager 2.1.1はOEL 4.5(Release 4 Update 5)以降のOS上での動作が保証されています。
Oracle VMの特徴は以下の通りです。
(1)仮想マシンの実行OSと管理OSが完全に分離しています(XenServer/XenExpressライクな動作環境)。
但し、Xenネーティブ機能を利用するだけならVM Serverだけでも仮想マシンを作成して実行させることができます。
(2)一つのVM Managerで複数のVM Server群を管理できます。
あるまとまりをもったVM Serverのグループをサーバプールと呼びます。
(3)仮想マシンの情報はすべてOracleデータベースで管理されているためアドホックな管理・稼働レポートも作成することができます。
しかもOC4JベースのアプリケーションもVM Managerマシンに追加して利用することができます。
(4)VM Serverは準仮想化と完全仮想化をサポートしていますが完全仮想化に対応していないマシンにもVM Serverを導入できます。
(5)VM Managerの仮想マシンコンソールを使用してVNC経由でゲストOSをインストール/実行操作することができます。
(6)Oracle VM用にいくつかのゲストOSインストール用テンプレートが公開されています。
(7)VM Manager自体はLinux専用ですが、WindowsからWebブラウザを介してVM Managerの機能を使用できます。
(8)VM Serverや仮想マシンを管理・監視するOVS Agent(VM Server側)とVM Managerの間はsslを利用したXML-RPCプロトコル通信が行われます。
(9)その他、盛り沢山の機能・特徴を備えていますがOSインストールメディアもサーバに登録しないと使用できない等の煩雑さもあります。
ここではVM Serverの構築、VM Managerの導入、仮想マシンの作成・実行例を中心にVM Serverのデスクトップ化方法も紹介します。
尚、今回は実メモリ8GB、Core 2 Quad搭載マシンで32ビット版VM Server/VM Managerを使用しました。
1.Oracle VMの環境構築に最低限必要なソフトウェア
... would you like to modify password to communicate with agent?[y/N]y password:ここにパスワードを指定 again:同様
EULA LICENSE readme.txt runInstaller.sh scripts source# sh runInstaller.sh
Subject: Thanks for choosing Oracle VM To access the Oracle VM Manager home page go to: http://127.0.0.1:8888/OVS The default account is 'admin' with the password '********'. To access the Oracle VM Manager help page go to: http://127.0.0.1:8888/help/help尚、VM ManagerのインストールでOracle XEも自動インストールされますがその際に「oracle」というユーザアカウントも作成されます。
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Productionとの接続が切断されました。# sqlplus scott/tiger
DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTONSQL> exit
EULA RPM-GPG-KEY TRANS.TBL eula.py supportinfo GPL RPM-GPG-KEY-oracle VT/ images/ RELEASE-NOTES-en.html# ls -F /mnt/VT
TRANS.TBL libvirt-0.1.8-15.el5.1.1.2.i386.rpm libvirt-python-0.1.8-15.el5.1.1.2.i386.rpm python-virtinst-0.99.0-3.el5.1.7.noarch.rpm repodata/ xen-devel-3.1.3-0.0.5.el5.i386.rpm# cd /mnt/Server/
# The MGMNT_IF controls which network interface is used to # manage this machine. MGMNT_IF=eth0 |
# virt-install -p -n DomUCentOS5 -r 512 -f /root/domucentos5.img -s 4 -b xenbr0 --vnc -l http://ホストIPアドレス/iso |
title CentOS (2.6.18-8.el5xen) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.18-8.el5xen.imgこの「CentOS」エントリの内容は特に変更は要りません。
# Automatically generated xen config file name = "DomUCentOS5" memory = "512" disk = [ 'file:/root/domucentos5.img,xvda,w', ] vif = [ 'mac=00:16:3e:15:df:c2, bridge=xenbr0', ] vfb = ["type=vnc,vncunused=1"] uuid = "5092846f-a075-3fc7-3bbb-9bbac9f6f6a9" bootloader="/usr/bin/pygrub" vcpus=1 on_reboot = 'restart' on_crash = 'restart'
default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.21-2950.fc8xen) root (hd0,0) kernel /vmlinuz-2.6.21-2950.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.21-2950.fc8xen.img title Fedora-base (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img
# Automatically generated xen config file name = "DomUF8x64" memory = "500" disk = [ 'file:/root/domuf8x64.iso,xvda,w', ] vif = [ 'mac=00:16:3e:00:8e:05, bridge=xenbr0', ] vfb = ["type=vnc,vncunused=1"] uuid = "b910f488-f48a-2d02-14a3-c68b9a3c9215" bootloader="/usr/bin/pygrub" vcpus=1 on_reboot = 'restart' on_crash = 'restart'
OVS boot etc lib media mnt proc sbin srv tmp var bin dev home lost+found misc opt root selinux sys usr# vi /mnt/boot/grub/grub.conf
[変更前の部分] hiddenmenu title Oracle VM Server-ovs (xen-3.1.3 2.6.18-8.1.15.0.16.el5ovs) root (hd0,0) kernel /boot/xen-32bit.gz dom0_mem=512M module /boot/vmlinuz-2.6.18-8.1.15.0.16.el5xen ro root=LABEL=/ module /boot/initrd-2.6.18-8.1.15.0.16.el5xen.img [変更後:朱書き部分が変更箇所] hiddenmenu title Oracle VM Server-ovs (xen-3.1.3 2.6.18-8.1.15.0.16.el5ovs) root (hd0,0) kernel /boot/vmlinuz-2.6.18-8.1.15.0.16.el5xen ro root=LABEL=/ initrd /boot/initrd-2.6.18-8.1.15.0.16.el5xen.img# umount /mnt
bootloader = '/usr/bin/pygrub' disk = ['file:/root/xmsubovs.img,hda,w'] memory = '768' name = 'SubOVS' on_crash = 'restart' on_reboot = 'restart' vcpus = 1 vif = ['mac=00:16:3E:1D:8E:D2, bridge=xenbr0']