2013年2月28日木曜日

Oracle VM Manager 3.2 と VNC Viewer

Oracle VM Manager(OVMM)でVMのコンソールを開くとき、
VNCビューアが使用されます。

Oracle VM のマニュアルを読んだところ、
ORACLE社的には、RealVNCがおすすめなようです。

今回は、VNC Viewer でコンソールを開くための設定についてです。

インストールが必要なもの

コンソールを開くために、下記が必要です。
無償で入手できるので、あらかじめDLしてOVMMを開く端末にインストールしておきます。
ブラウザは、IEでも大丈夫です。ちなみに私はIE9を使用しています。
  • Java(JRE)
  • RealVNC
  • Webブラウザ(IEでもよい)

コンソールが開くまで

まず、OVMMで、VMのモニタのボタンをクリックします。
本来であれば、このままVMのモニタが開きます。


残念なことに、開かないことがほとんどだと思います。
「The vnc viewer is not installed on the manager server and no local vnc viewer is found.
Please contact your administrator to install the default vnc viewer on the manager.」



ここで、画面右上に表示される Java のウインドウに注目します。



「Option」 をクリックし、「Configuration」 をクリックします。



VNC Viewer のパスを指定するウインドウが表示されるので、フルパスで入力します。
「Browse」ボタンで選択してもOKです。

指定するパスは、
「"C:\Program Files (x86)\RealVNC\vncviewer.exe"」あたりになります。
これを指定することで、OVMM と VNCビューアが連携できるようになります。



これでVMの画面が開けるようになります。


OVS3にOVS3をインストールしている画面が・・・
Nested Hypervisor 的なことをやっています。

以上、OVMM 3 とVNCビューアの話でした。

2013年2月27日水曜日

Oracle VM Manager 3.2.1 インストール失敗例

今回は、Oracle VM Manager 3.2.1 のインストール失敗例です。
成功例はこちら。
Oracle VM Manager 3.2.1 インストール。

失敗した時のOVMMアンインストール方法はこちら。
Oracle VM Manager 3.2.1 のアンインストール。

失敗例1: シェル制限設定もれ

OVMMのインストール中に
hardnofiles should be set to 8192 but was 4096」 というエラーが表示され失敗します。
MySQLのメモリサイズに関するWarninig(警告)の直後なのでわかりにくいですが、
シェル制限「nofile」設定のチェックで引っかかっています。
※ちなみに引っかかった「nofile」はユーザが開けるファイル数についての制限です。
[root@ovmm31 mnt]# ./runInstaller.sh

Oracle VM Manager Release 3.2.1 Installer

Oracle VM Manager Installer log file:
/tmp/ovm-manager-3-install-2013-02-18-084138.log

Please select an installation type:
   1: Simple (includes database if necessary)
   2: Custom (using existing Oracle database)
   3: Uninstall
   4: Help

   Select Number (1-4): 1

Starting production with local database installation ...

Verifying installation prerequisites ...
*** WARNING: Recommended memory for the Oracle VM Manager server installation using Local MySql DB is 7680 MB RAM
hardnofiles should be set to 8192 but was 4096
Configuration verification failed ...

/etc/security/limits.conf への設定もれが原因でした。
下記を追記してOVMMを再インストールします。
[root@ovmm31 ~]# vi /etc/security/limits.conf

oracle       hard    nofile  8192 ★このあたりの不足がエラー表示された。
oracle       soft    nofile  8192
oracle       soft    nproc   4096
oracle       hard    nproc   4096
oracle       soft    core    unlimited
oracle       hard    core    unlimited

失敗例:2 SWAP容量不足

OVMMコンポーネントのインストール要件のうち
SWAP領域が微妙に不足したためインストールが停止してしまいました。
[root@ovmm31 mnt]# ./runInstaller.sh

Oracle VM Manager Release 3.2.1 Installer

Oracle VM Manager Installer log file:
/tmp/ovm-manager-3-install-2013-02-18-090241.log

Please select an installation type:
   1: Simple (includes database if necessary)
   2: Custom (using existing Oracle database)
   3: Uninstall
   4: Help

   Select Number (1-4): 1

(中略)
Step 4 of 9 : WebLogic ...
Retrieving Oracle WebLogic Server 11g ...
Installing Oracle WebLogic Server 11g ...

Step 5 of 9 : ADF ...
Retrieving Oracle Application Development Framework (ADF) ...
Unzipping Oracle ADF ...
Installing Oracle ADF ...
Failed to install Oracle ADF ...
            Oracle Universal Installerを起動中です...

CPU速度が300 MHzを超えていることを確認中.    実際1297 MHz    問題なし
一時領域の確認中: 150 MBを超えている必要があります.   実際9326 MB    問題なし
スワップ領域の確認中: 509 MB使用可能、512 MB必要。    失敗しました <<<<
要件でSWAP領域が512MB必要なところ、
ギリギリ512MBで作成したら微妙に不足してしまいました。(認識されたのは509MBのため)

お試し環境の構築などでは、わざわざSWAP領域を用意したり
SWAP領域不足のためにOS再インストールするのがためらわれることがあります。
その場合は、一時的にSWAP領域を追加して対処できます。(例では、+512MBしています)
★SWAP領域用のファイルを作成
[root@ovmm31 mnt]# dd if=/dev/zero of=/tmp/swap1.img bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 8.36919 seconds, 64.1 MB/s
[root@ovmm31 mnt]# mkswap /tmp/swap1.img
Setting up swapspace version 1, size = 536866 kB

★SWAP領域に追加
[root@ovmm31 mnt]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       522108  220     -1
[root@ovmm31 mnt]# swapon /tmp/swap1.img
[root@ovmm31 mnt]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       522108  220     -1
/tmp/swap1.img                          file            524284  0       -2

このSWAP領域は、swapoff コマンドやOS再起動で解除されるので、
不要になったらSWAP領域用のファイルを削除します。
[root@ovmm31 ~]# swapoff /tmp/swap1.img
[root@ovmm31 ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       522108  498760  -1
[root@ovmm31 ~]# rm /tmp/swap1.img

以上、OVMM 3.2.1 のインストール失敗例でした。

2013年2月26日火曜日

Oracle VM Manager 3.2.1 のアンインストール。

前回の続きで、Oracle VM Manager 3.2.1 のアンインストールについてです。

インストールはこちら。
Oracle VM Manager 3.2.1 インストール。

あまりOVMMをアンインストールするケースはないかもしれませんが、
諸事情によりどうしてもアンインストールしたい時もあると思います。
たとえば、事前にしっかり作りこんだOS環境へのOVMMインストールが失敗した時など・・・

インストールの途中で失敗した時に OVMM を上書きインストールしようとすると、
すでにコンポーネントが存在するためエラーになってしまいます。
そのためインストールに失敗した時は、一度 OVMM をアンインストールします。

OVMM 3.2.x アンインストール方法

OVMM のアンインストールは、インストールと同じ
runInstaller.sh スクリプトを実行します。
このスクリプトは、インストールメディアに入っています。

スクリプトを実行すると、既にインストールされているコンポーネントに対して
順番にアンインストールするかどうか質問されます。
[root@ovmm31 mnt]# ./runInstaller.sh

Oracle VM Manager Release 3.2.1 Installer

Oracle VM Manager Installer log file:
/tmp/ovm-manager-3-install-2013-02-18-001406.log

Please select an installation type:
   1: Simple (includes database if necessary)
   2: Custom (using existing Oracle database)
   3: Uninstall
   4: Help

   Select Number (1-4): 3 ★アンインストールは「3」を選択します。

Uninstall Oracle VM Manager

DB component : MySQL 5.5 RPM package
MySQL 5.5 RPM package installed by OVMM was found...
Uninstall options
   1: Uninstall MySQL 5.5 RPM package
   2: Skip uninstall of MySQL 5.5 RPM package

   Select Number (1-2): 1 ★OVMM同梱のMySQLを削除します。
Removing MySQL 5.5 RPM package installation ...

Product component : Java in '/u01/app/oracle/java/'
Java is installed ...

Uninstall options
   1: Uninstall Java
   2: Skip uninstall of Java

   Select Number (1-2): 1 ★OVMM 同梱のJavaを削除します。
Removing Java installation ...

Product component : Oracle VM Manager in '/u01/app/oracle/ovm-manager-3/'
Oracle VM Manager is not installed

Product component : Oracle WebLogic Server in '/u01/app/oracle/Middleware/'
Oracle WebLogic Server is installed

Uninstall options
   1: Uninstall Oracle WebLogic Server
   2: Skip uninstall of Oracle WebLogic Server

   Select Number (1-2): 1 ★OVMM 同梱の WebLogicを削除します。
Removing Oracle WebLogic Server installation ...

Uninstall completed ...
[root@ovmm31 mnt]#
上記の要領でアンインストールをします。

ちなみに、OVMMのインストール失敗した時に、アンインストールせずに
上書きインストールしようとすると、下記のようにエラーになります。
★すでに1回インストール失敗した状態のまま、インストールを再実行。
[root@ovmm31 mnt]# ./runInstaller.sh

Oracle VM Manager Release 3.2.1 Installer

Oracle VM Manager Installer log file:
/tmp/ovm-manager-3-install-2013-02-18-001332.log

Please select an installation type:
   1: Simple (includes database if necessary)
   2: Custom (using existing Oracle database)
   3: Uninstall
   4: Help

   Select Number (1-4): 1 ★Simpleタイプでインストール実行

Starting production with local database installation ...

Verifying installation prerequisites ...
*** WARNING: Recommended memory for the Oracle VM Manager server installation using Local MySql DB is 7680 MB RAM
Product component(s) found, please run runInstaller.sh with the uninstall option first ...
                               ★OVMMのコンポーネントが見つかったので
                                  まずアンインストールするようにメッセージが出る。

Configuration verification failed ...
[root@ovmm31 mnt]#  ★インストーラはそのまま停止。

以上、OVMM 3.2.1 のアンインストールでした。

2013年2月24日日曜日

Oracle VM Manager 3.2.1 インストール。

Oracle VM Manager 3.2.1 (OVMM)をインストールしてみました。
インストール先のOSは、Oracle Linux 5.9 64bit です。

インストール環境の概要
  • CPU: AMD Athlon(tm) II Neo N36L Dual-Core Processor
  • メモリ: 2GB(インストール要件は6GB。時間はかかるがインストールできた)
  • ディスク: OS領域に 16GB(/, /boot, swap)、/u01に10GB
  • 実はVMにインストールしています。(しかもESXi 5.0 ・・・)
参考: 
Oracle VM Installation and Upgrade Guide for Release 3.2.1
4.3.1. Hardware Requirements
http://docs.oracle.com/cd/E35328_01/E35330/html/vmiug-manager-requirements.html#vmiug-manager-hardware

2013年2月12日火曜日

OCFS2のcluster.conf設定の注意点

地味な話ですが、
OCFS2の設定ファイル cluster.conf では、
インデントが重要です。

正しい書き方は、下記のようになります。
[root@ovs001 ~]# cat /etc/ocfs2/cluster.conf
node:
        ip_port     = 7777
        ip_address  = 192.168.10.101
        number      = 0
        name        = ovs001
        cluster     = ovscluster
node:
        ip_port     = 7777
        ip_address  = 192.168.10.102
        number      = 1
        name        = ovs002
        cluster     = ovscluster
cluster:
        node_count  = 2
        name        = ovscluster

node: や cluster: 以外の部分にはインデントが必要です。
まちがって下記のようにしてしまうとエラーが出ます。
node:
ip_port     = 7777
ip_address  = 192.168.10.101
number      = 0
name        = ovs001
cluster     = ovscluster
node:
ip_port     = 7777
ip_address  = 192.168.10.102
number      = 1
name        = ovs002
cluster     = ovscluster
cluster:
node_count  = 2
name        = ovscluster

上記のような状態では、OCFS2に依存関係があるo2cbが起動できなくなってしまいます。
そのため、OCFS2も使用できません。
設定ファイルが存在しても、「設定ファイルがロードできません」となってしまいます。
[root@ovs001 ~]# service o2cb start
Starting O2CB cluster ovscluster: Failed
o2cb_ctl: Unable to load cluster configuration file "/etc/ocfs2/cluster.conf"
Stopping O2CB cluster ovscluster: Failed
o2cb_ctl: Unable to load cluster configuration file "/etc/ocfs2/cluster.conf"
インデントは、スペース1つでも、Tabでも、どちらでもOKです。

以上、cluster.confの注意点でした。

2013年2月11日月曜日

Oracle VM 2.x:コマンドでライブ マイグレーション

Oracle VM Server(OVS)でライブマイグレーションをしてみます。
OVSのバージョンは 2.2.2 です。
[root@ovs001 ~]# cat /etc/ovs-release
Oracle VM server release 2.2.2

OVSは2台です。
  • 1号機: ovs001(192.168.56.101)
  • 2号機: ovs002(192.168.56.102)

2013年2月9日土曜日

OVM3資格試験について。

1/31に、OVM3 の資格試験(日本語版)がリリースされました。

Oracle VM 3.0 for x86 Essentials [ 1Z0-590 ]
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-590&p_org_id=70&lang=JA

この認定試験に合格すると、
Oracle VM 3.0 for x86 Certified Implementation Specialist
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=458&p_org_id=70&lang=JA&get_params=p_track_id:VM3x86
になれます。

そこで、話のタネに受験してみました。
合格できたのでエラそうなことを言いますと
OVM2試験のときよりも、内容がイケている気がしました。

受験契約的に試験問題には触れられませんが、感想をいくつか・・・
  • 結構実践的な内容な気がしました。(ありえない系/重箱の隅系がない)
  • 難易度もちょうどよい気がしました。

クラスタファイルシステム(ocfs2)でディスク共有

今回は、クラスタファイルシステムでディスク共有してみます。

※前回のポストの続きです。
OCFS2のようなクラスタファイルシステムを使用することで
共有ディスク上のファイルに対して、複数サーバからのデータ書き込みができるようになります。

共有ディスクをOCFS2でフォーマット

まず、以前に作成した ext3 のファイルシステムをocfs2 でフォーマットしなおします。
共有ディスク(/dev/sdb1)は、まだどちらのノードでもマウントされていません。
★ノード1側
[root@ovs001 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="85cfeb37-ade9-49e2-8c67-4ec52f620de7" SEC_TYPE="ext2" TYPE="ext3"
[root@ovs001 ~]# mount | grep sdb1
[root@ovs001 ~]#

★ノード2側
[root@ovs002 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="85cfeb37-ade9-49e2-8c67-4ec52f620de7" SEC_TYPE="ext2" TYPE="ext3"
[root@ovs002 ~]# mount | grep sdb1
[root@ovs002 ~]#

共有ディスクなので、フォーマットはノード1側からだけ実施します。
[root@ovs001 ~]# mkfs -t ocfs2 /dev/sdb1
mkfs.ocfs2 1.4.3
Cluster stack: classic o2cb
Filesystem label=
Block size=4096 (bits=12)
Cluster size=4096 (bits=12)
Volume size=4293562368 (1048233 clusters) (1048233 blocks)
33 cluster groups (tail covers 16041 clusters, rest cover 32256 clusters)
Journal size=67108864
Initial number of node slots: 4
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing backup superblock: 1 block(s)
Formatting Journals: done
Formatting slot map: done
Writing lost+found: done
mkfs.ocfs2 successful

ocfs2になりました。
★ノード1側から確認
[root@ovs001 ~]# blkid /dev/sdb1
/dev/sdb1: LABEL="" UUID="be12fb29-8b3e-4325-a13a-b18d4dc7ead0" TYPE="ocfs2"

★ノード2側からも確認
[root@ovs002 ~]# blkid /dev/sdb1
/dev/sdb1: LABEL="" UUID="be12fb29-8b3e-4325-a13a-b18d4dc7ead0" TYPE="ocfs2"

既存ディスクのアンマウント

最初に /OVSから既存のディスクをアンマウントしておきます。
★ノード1側
[root@ovs001 ~]# umount /OVS

★ノード2側
[root@ovs002 ~]# umount /OVS

クラスタファイルシステムのマウント

両方のノードで手動マウントしてみます。
自動マウント設定をしていないため、今回のマウントは
OSを再起動したら元の状態(既存のディスクマウント状態)に戻ります。
★ノード1でマウント
[root@ovs001 ~]# mount -t ocfs2 /dev/sdb1 /OVS
[root@ovs001 ~]# df -h /OVS
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 4.0G 270M 3.8G 7% /var/ovs/mount/8FA1F11000F145DA8A8272436BCD02C2

★ノード2でマウント
[root@ovs002 ~]# df -h /OVS
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 4.0G 270M 3.8G 7% /var/ovs/mount/4EA14718C32B4D7784F3161A75953439

共有ディスクに、ディレクトリとファイルを作ってみる。

まずノード1側でディレクトリとファイルを作成してみます。
[root@ovs001 ~]# mkdir /OVS/dir1
[root@ovs001 ~]# ls -dl /OVS/dir1
drwxr-xr-x 2 root root 3896 Feb 9 11:35 /OVS/dir1
[root@ovs001 ~]# echo Test01 > /OVS/dir1/test1.f
[root@ovs001 ~]# cat /OVS/dir1/test1.f
Test01

ext3 の時とは異なり、ノード2側でも
ノード1で作成したディレクトリとファイルが見えます。
※ext3を使用した時は見えなくなっていました。
root@ovs002 ~]# ls -ld /OVS/dir1
drwxr-xr-x 2 root root 3896 Feb 9 11:38 /OVS/dir1
[root@ovs002 ~]# cat /OVS/dir1/test1.f
Test01

ノード2側でもディレクトリとファイルを作成してみます。
[root@ovs002 ~]# mkdir /OVS/dir2
[root@ovs002 ~]# echo Test02 > /OVS/dir2/test2.f
[root@ovs002 ~]# cat /OVS/dir2/test2.f
Test02

ノード1側からも見ることができます。
[root@ovs001 ~]# cat /OVS/dir2/test2.f
Test02


このように、OCFS2のようなクラスタファイルシステムであれば、
複数OSからの書き込み処理が発生してもデータの整合性を保つことができます。
使い勝手はNFSに近い感じになります。

以上、クラスタファイルシステムでのディスク共有でした。

2013年2月3日日曜日

クラスタ非対応ファイルシステム(ext3)でディスク共有

基本的に、ext3のようなクラスタ非対応ファイルシステムでは、
共有ディスクにたいして複数OSから同時アクセスすることはできません。

そこで、ext3 でフォーマットした領域を
あえて複数OSから同時マウントしてみました。