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

1. OSインストール

Oracle Linux 5.9 をインストールします。(詳細は省略)
パッケージは、下記を追加選択しました。
  • 開発
    • レガシーなソフトウェア開発
    • 開発ツール
    • 開発ライブラリ
  • ベースシステム
    • システムツール
      • oracle-validated

ファイアウォールは「無効」にします。
SELinux設定 も「無効」にします。

2. hostsファイルの編集

/etc/hostsファイルにOVMM自身のホスト名を記入しておきます。
[root@ovmm31 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.0.231   ovmm31.gowatana.lab ovmm31

3. 前提RPMパッケージの確認

インストール前提となるPRMパッケージを確認しておきます。
  • libaio
  • unzip
  • bc
[root@ovmm31 ~]# rpm --qf "%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n" -q libaio
libaio-0.3.106-5 x86_64
libaio-0.3.106-5 i386
[root@ovmm31 ~]# rpm --qf "%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n" -q unzip
unzip-5.52-3.0.1.el5 x86_64
[root@ovmm31 ~]# rpm --qf "%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n" -q bc
bc-1.06-21 x86_64

4. ソフトウェアインストール先の確認

OVMMのインストール要件として、/u01に 5.5GB 必要なので、
余裕をもって約10GB割り当てました。
[root@ovmm31 mnt]# df -h /u01
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/sdb1             9.9G  151M  9.2G   2% /u01

5. インストールメディアのマウント

OVMMのインストールメディアをマウントします。
※インストールメディアは、e-Delivery (https://edelivery.oracle.com/linux)からDLできます。
[root@ovmm31 ~]# mount /dev/cdrom /mnt
mount: ブロックデバイス /dev/cdrom は書き込み禁止です、読込み専用でマウントします
[root@ovmm31 ~]# ls /mnt
EULA                  TRANS.TBL        oracle-validated.params  runUpgrader.sh
LICENSE               components       ovmm-installer.bsx       upgrade
OvmSDK_3.2.1.516.zip  createOracle.sh  runInstaller.sh

6. 環境構成スクリプト

インストールメディアに含まれる環境構成スクリプトを実行します。
(★読み取り専用の領域で実行してしまったのでエラーが出ています)
[root@ovmm31 ~]# cd /mnt
[root@ovmm31 mnt]# ./createOracle.sh
mkdir: ディレクトリ `2月-18-2013-08-01-00' を作成できません: 読み込み専用ファイルシステムです ★エラーが・・・
Adding group 'oinstall' with gid '54323' ...
groupadd: group oinstall exists
Adding group 'dba'
groupadd: group dba exists
Adding user 'oracle' with user id '54322', initial login group 'dba', supplementary group 'oinstall' and  home directory '/home/oracle' ...
User 'oracle' already exists ...
uid=54321(oracle) gid=54321(oinstall) 所属グループ=54321(oinstall),54322(dba)
Creating user 'oracle' succeeded ...
/bin/cp: target `2月-18-2013-08-01-00' is not a directory
Failed to copy /etc/security/limits.conf to /var/log/oracle-validated/backup/ 2月-18-2013-08-01-00 ... ★エラーが・・・(後の手順で別途設定する)
Verifying user limits failed ...
Changing '/u01' permission to 755 ...
Modifying iptables for OVM
Adding rules to enable access to:
     7002  : Oracle VM Manager https
     15901 : Oracle VM Manager VM console proxy
     54321 : Oracle VM Manager core
     54322 : Oracle VM Manager core via SSL
       123 : NTP
     10000 : Oracle VM Manager CLI Tool
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[  OK  ]
Rules added.

7. シェル制限の変更

環境構成スクリプトで設定できなかったシェル制限設定を、手動で実施します。
設定ファイル(/etc/security/limits.conf)に追記します。
[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

8. インストールスクリプトを実行

インストールスクリプトを実行します。
インストールタイプで 「Simple」 を選択すると、従来のOracle Database XE のかわりに
MySQL 5.5 がインストールされます。
※これ以降のOVMMリリースには、OracleXE は同梱されないようです。
[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-001745.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(以前の「Demo」と同様)を選択。

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 ★メモリ不足の警告が出るがインストールは可能

One password is used for all users created and used during the installation.
Enter a password for all logins used during the installation: ★設定するパスワードを入力する。
Enter a password for all logins used during the installation (confirm):

Verifying configuration ...

Start installing the configured components:
   1: Continue
   2: Abort

   Select Number (1-2): 1 ★インストールを開始するので「1」を入力。

Step 1 of 9 : Database Software...
Installing Database Software...
Retrieving MySQL Database 5.5 ...
Unzipping MySQL RPM File ...
Installing MySQL 5.5 RPM package ...
Configuring MySQL Database 5.5 ...
Installing MySQL backup RPM package ...

Step 2 of 9 : Java ...
Installing Java ...

Step 3 of 9 : Database schema ...
Creating database 'ovs' ...
Creating user 'ovs' for database 'ovs'...

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 ...
Installing Oracle ADF Patch...

Step 6 of 9 : Oracle VM  ...
Retrieving Oracle VM Manager Application ...
Extracting Oracle VM Manager Application ...
Installing Oracle VM Manager Core ...

Step 7 of 9 : Domain creation ...
Creating Oracle WebLogic Server domain ...
Starting Oracle WebLogic Server 11g ...
Configuring data source 'OVMDS' ...
Creating Oracle VM Manager user 'admin' ...

Step 8 of 9 : Deploy ...
Deploying Oracle VM Manager Core container ...
Deploying Oracle VM Manager UI Console ...
Deploying Oracle VM Manager Help ...
Granting ovm-admin role to user 'admin' ...
Set Log Rotation ...
Disabling HTTP and enabling HTTPS...
Configuring Https Identity and Trust...
Configuring Weblogic parameters...

Step 9 of 9 : Oracle VM Manager Shell ...
Retrieving Oracle VM Manager Shell & API ...
Extracting Oracle VM Manager Shell & API ...
Installing Oracle VM Manager Shell & API ...

Retrieving Oracle VM Manager Upgrade tool ...
Extracting Oracle VM Manager Upgrade tool ...
Installing Oracle VM Manager Upgrade tool ...

Retrieving Oracle VM Manager CLI tool ...
Extracting Oracle VM Manager CLI tool...
Installing Oracle VM Manager CLI tool ...
Copying Oracle VM Manager shell to '/usr/bin/ovm_shell.sh' ...
Installing ovm_admin.sh in '/u01/app/oracle/ovm-manager-3/bin' ...
Installing ovm_upgrade.sh in '/u01/app/oracle/ovm-manager-3/bin' ...
Enabling Oracle VM Manager service ...
Shutting down Oracle VM Manager instance ...
Restarting Oracle VM Manager instance ...
Waiting for the application to initialize ...
Oracle VM Manager is running ...
Oracle VM Manager installed.

Please wait while WebLogic configures the applications... This can take up to 5 minutes.

Installation Summary
--------------------
Database configuration:
  Database type               : MySQL
  Database host name          : localhost
  Database name               : ovs
  Database listener port      : 49500
  Database user               : ovs

Weblogic Server configuration:
  Administration username     : weblogic
Oracle VM Manager configuration:
  Username                    : admin
  Core management port        : 54321
  UUID                        : 0004fb000001000012738a647a8d2b17

Passwords:
There are no default passwords for any users. The passwords to use for Oracle VM Manager, Database, and Oracle WebLogic Server have been set by you during this installation. In the case of a default install, all passwords are the same.

Oracle VM Manager UI:
  https://ovmm31:7002/ovm/console
Log in with the user 'admin', and the password you set during the installation.

Please note that you need to install tightvnc-java on this computer to access a virtual machine's console.

For more information about Oracle Virtualization, please visit:
  http://www.oracle.com/virtualization/

Oracle VM Manager installation complete.

Please remove configuration file /tmp/ovm_configshkCBB.
[root@ovmm31 mnt]# 

9. ログイン確認

WebブラウザでOVMMにアクセスします。
※OVMM 3.2.1では、デフォルトでhttpは無効になるのでhttpsでアクセスします。
  • URL: https://<OVMMのIPアドレス>:7002/ovm/console/
  • ユーザ: admin
  • パスワード: インストール時に指定したパスワード


OVMM にログインできることを確認します。




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

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日月曜日

OVS2:コマンドでライブマイグレーション

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)

事前に、共有ディスク上にVMのイメージファイルを配置しておきます。
/dev/sdb1 が、ovs001, ovs002両方でマウントされています。
[root@ovs001 ~]# mounted.ocfs2 -f
Device FS Nodes
/dev/sda3 ocfs2 Not mounted
/dev/sdb1 ocfs2 ovs001, ovs002

両方のノードで、/dev/sdb1 は /OVSにマウントしてあります。
★ノード1側
[root@ovs001 ~]# df -h /dev/sdb1
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 4.0G 2.3G 1.8G 57% /OVS

★ノード2側
[root@ovs002 ~]# df -h /dev/sdb1
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 4.0G 2.3G 1.8G 57% /OVS

VMの構成ファイルは共有ディスク上(/OVS配下)にあります。
[root@ovs001 ~]# ls -lh /OVS/running_pool/EL52_vm1/
total 2.1G
-rw-r--r-- 1 root root 2.1G Jan 5 21:05 System.img
-rw-r--r-- 1 root root 347 Jan 5 21:04 vm.cfg

ライブマイグレーション実行

まずライブマイグレーションで移動するVM(VM名は EL52_vm1)を起動します。
[root@ovs001 ~]# xm create /OVS/running_pool/EL52_vm1/vm.cfg
Using config file "/OVS/running_pool/EL52_vm1/vm.cfg".
Started domain EL52_vm1 (id=1)
[root@ovs001 ~]# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 512 1 r----- 396.5
EL52_vm1 1 256 1 -b---- 19.2

ライブマイグレーションします。
xm migrateコマンドに、--live (もしくは -l)を付けることで「ライブ」マイグレーションになります。
このオプションを付けないと、移行中にVMが停止してしまいます。

コマンド:
xm migrate  <VM名(ドメイン名またはドメインID)>  <移行先OVS>  --live

移行先OVS は、ライブマイグレーションで使用するNWに接続している
OVSのIPアドレス(またはホスト名)を指定します。
[root@ovs001 ~]# xm migrate EL52_vm1 192.168.10.102 --live

ライブマイグレーション中、移行先にもVMが作成されますが
「p」状態(ポーズ状態)になっています。
[root@ovs002 ~]# xm li
Name ID Mem VCPUs State Time(s)
Domain-0 0 512 1 r----- 270.5
EL52_vm1 1 256 0 --p--- 0.0
マイグレーション終了後は、移行先のOVSで
VMのStateが「r」か「b」になります。
[root@ovs002 ~]# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 512 1 r----- 277.6
EL52_vm1 1 256 1 -b---- 0.3

ライブマイグレーションの最後の切り替え(瞬断)は、
VMにSSHログインして作業していても気づかない程度です。
移行元のVMは消えてしまいます。
[root@ovs001 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   512     1     r-----    574.6

ちなみに、ノード1側にライブマイグレーションで戻すとドメインIDはカウントアップされていました。
マイグレーションを実行すると、新しいドメインとして別のOVSに移動されるようです。
ライブマイグレーションでVMを往復させると、それぞれのOVSでドメインIDが1ずつUPします。
[root@ovs001 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   512     1     r-----    483.2
EL52_vm1                                     2   256     1     -b----      0.3

以上、OVSでライブマイグレーションしてみました。

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から同時マウントしてみました。