06 Build VM Server Manually


Manual VM Configuration

Given the failure to configure the Oracle Virtual Server as described in 05 Diagnose VM Agent Problem , I decided to pursue the manual configuration option ( Use XEN commands from DOM0 to create a VM image ) as described in 02 Problem Installing VM Manager .

Allocate OVS Filesystem

There are two (2) devices on the Lenovo TS130 server:

  1. /dev/sda
  2. /dev/sdb

I decide to use all of the space on /dev/sdb for the /OVS filesystem. I use fdisk to create a single partition as follows:

Command (m for help): p

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      121601   976760001   83  Linux

Unable to Format Filesystem

When I try to format the filesystem, I get the following error:

[root@victoria ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.39 (29-May-2006)
/dev/sdb1 is apparently in use by the system; will not make a filesystem here!

Reboot Failed

I tried to reboot the server in order to release the lock, but instead found I could not proceed of a mistake I made. I had updated /etc/fstab with an entry for /OVS pointing to /dev/sdb1 . And, of course, the initialisation failed that filesystem could not be checked on start-up. Unfortunately, the shell I got dropped into only allowed read-only access to /etc/fstab . Not knowing any better, I decided to reinstall Oracle Virtual Server from scratch.

Re-Installation of OVS

Followed the procedure from 01 Install VM Server with the exception that I modified the disk layout as follows:

  • Created a new filesystem on partition #4 of RAIDP0 that:
    • used all of the free space (nearly 1.8TB)
    • was mounted at /OVS
    • was formatted as EXT3 instead of OCFS2 because I am not sharing this filesystem with another physical server

Create OEM12 Template on Victoria

Created Subdirectories

Created the following subdirectories under /OVS :

  • iso_pool
  • running_pool
  • seed_pool

Unpack the Downloaded File

I unzipped the downloaded files in a DOS window on a Windows box. The Window Explorer complains about needing 436PB to unzipped the downloaded files. Then I used psftp to push the unzipped files to VICTORIA .

Used the method described in Problem importing templates for EM12c into OVS 3 :

[root@victoria seed_pool]# cat *.tgz | tar --list --verbose --gunzip --file -
drwxr-xr-x root/root         0 2012-03-16 10:55:27 OVM_EM12/
-rw-r--r-- root/root 6720053760 2012-03-07 10:42:52 OVM_EM12/System.img
-rw-r--r-- root/root        305 2012-03-14 17:38:01 OVM_EM12/vm.cfg
-rw-r--r-- root/root 28994112000 2012-03-07 10:41:46 OVM_EM12/em12.img
[root@victoria seed_pool]# cat *.tgz | tar --extract --verbose --gunzip --file -
OVM_EM12/
OVM_EM12/System.img
OVM_EM12/vm.cfg
OVM_EM12/em12.img

Try OEM from GRIDCTRL Again

Now that I have an /OVS filesystem mounted on VICTORIA , I decided to follow the procedure in 04 Finish OEM Virtualisation Intallation again. This time I got a different error message in emoms.log :

2012-08-18 22:03:05,747 [EMUI_22_03_05_/console/virtualization/target/ovmserverpool/createVSP] ERROR pp.virtualization logp.251 - oracle.sysman.pp.virtualization.service.platform.ovm.OVMServerPoolManagementIntegrator.validateAddServerPool : Validation failed oracle.ovs.biz.agent.AgentException: OVM-1000 Agent 192.168.1.100 couldn't be connected, please check server ip and agent password .
at oracle.ovs.biz.xmlRpc.AgentRPC.rpcClientExecute(AgentRPC.java:109)
at oracle.ovs.biz.agent.AgentService.getAgentVersion(AgentService.java:369)
at oracle.ovs.api.datamodel.agent.AgentEntityHelper.getOvsAgent(AgentEntityHelper.java:37)
at oracle.ovs.api.datamodel.serverPool.ServerPoolEntityHelper.getServerPool(ServerPoolEntityHelper.java:87)
at oracle.ovs.api.ServerPoolManagementImpl.validateCreateServerPool(ServerPoolManagementImpl.java:243)
at oracle.sysman.pp.virtualization.service.platform.ovm.OVMServerPoolManagementIntegrator.validateAddServerPool(OVMServerPoolManagementIntegrator.java:203)
at oracle.sysman.pp.virtualization.service.target.impl.ovm.OVMTargetDataStoreImpl.registerVirtualServerPool(OVMTargetDataStoreImpl.java:787)
at oracle.sysman.pp.virtualization.ui.target.ovmserverpool.model.OVMServerPoolModel.registerVirtualServerPool(OVMServerPoolModel.java:187)
at oracle.sysman.pp.virtualization.ui.target.ovmserverpool.view.CreateVSPPageHandler.handleEvent(CreateVSPPageHandler.java:318)

It would appear that the OVM-2007 is really complaining about the absence of the /OVS filesystem.

Assuming the OVM-1000 is really a file system error, then the other directory involved is the OVS Proxy Location .

Chapter 14: Virtualization Management says that:

OVS Proxy Location — This is a directory on the virtual server where the scripts required for monitoring are stored when the virtual server is registered with Enterprise Manager.

Third Attempt to Create Virtual Server Pool

Given that creating a directory fixed the OVM-2007 problem, I reasoned that the same could be done with the OVM-1000 error. So, I created a directory for the proxy location on VICTORIA :

mkdir -p /root/ovs-proxy

Tried to Create Virtual Server Pool again with:

  • OVS Proxy Location as /root/ovs-proxy

Got the same OVM-1000 error message in emoms.log .

On VICTORIA , I see the following errors in /var/log/ovs-agent.log :

[2012-08-20 05:10:17 21776] ERROR (xmlrpc:116) Unauthorized access attempt from ('192.168.1.252', 8677)!
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/agent/xmlrpc.py", line 111, in do_POST
    auth(username, password)
  File "/usr/lib64/python2.4/site-packages/agent/xmlrpc.py", line 51, in auth
    raise Exception('Authorization failed: user does not exist or password error.')
Exception: Authorization failed: user does not exist or password error.
[2012-08-20 05:10:17 21776] INFO (xmlrpc:177) code 403, message Unauthorized access attempt from ('192.168.1.252', 8677)!

Following the python code, I found the password file at /etc/ovs-agent/passwdfile which had one (1) user: oracle .

Looks like I need to create the oracle user on VICTORIA .

Create ORACLE User

Ran the following commands on VICTORIA :

[root@victoria agent]# groupadd --gid 200 oracle
[root@victoria agent]# useradd --uid 200 --gid 200 --shell /bin/bash --home-dir /home/oracle oracle
[root@victoria agent]# grep oracle /etc/passwd
oracle:x:200:200::/home/oracle:/bin/bash
[root@victoria agent]# passwd oracle
Changing password for user oracle.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@victoria agent]# chown -R oracle:oracle /OVS
[root@victoria agent]# su - oracle
[oracle@victoria ~]$ pwd
/home/oracle
[oracle@victoria ~]$ mkdir proxy

From GRIDCTRL , tested the SSH connection—it worked!

Fourth Attempt to Create Virtual Server Pool

I used the following parameters for Create Virtual Server Pool under OEM 10.2.0.5:

Virtual Server Pool Name VICTORIA
Shared Directory /OVS
High Availability Mode Disable
Master Virtual Server Details
Virtual Server Host 193.168.3.1
Name of master Virtual Server
Monitoring Server Agent gridctrl.yaocm.id.au:3872
Grid Control Agent that will monitor the Virtual Server. Eg: abc.xyz.com:4889
Monitoring Server User oracle
Username of Grid Control Agent's Owner
Monitoring Server Password
Password of Grid Control Agent's Owner
SSH Username oracle
SSH Username to connect to Virtual Server
SSH Password
SSH Password to connect to Virtual Server
Oracle VM Agent Password
OVM Agent Password on Virtual Server
OVS Proxy Location /home/oracle/proxy
Staging location on Virtual Server

This failed with the following error message in emoms.log :

2012-08-19 20:24:23,591 [EMUI_20_24_23_/console/virtualization/target/ovmserverpool/createVSP] ERROR pp.virtualization logp.251 - oracle.sysman.pp.virtualization.service.platform.ovm.OVMServerPoolManagementIntegrator.validateAddServerPool : Validation failed
oracle.ovs.biz.server.ServerException: OVM-2007 Master Agent '192.168.1.100' is not active, so couldn't proceed such operation .
at oracle.ovs.biz.server.helper.ServerValidationHelper.checkAgentStatus(ServerValidationHelper.java:72)
at oracle.ovs.api.ServerPoolManagementImpl.validateCreateServerPool(ServerPoolManagementImpl.java:248)
at oracle.sysman.pp.virtualization.service.platform.ovm.OVMServerPoolManagementIntegrator.validateAddServerPool(OVMServerPoolManagementIntegrator.java:203)
at oracle.sysman.pp.virtualization.service.target.impl.ovm.OVMTargetDataStoreImpl.registerVirtualServerPool(OVMTargetDataStoreImpl.java:787)
at oracle.sysman.pp.virtualization.ui.target.ovmserverpool.model.OVMServerPoolModel.registerVirtualServerPool(OVMServerPoolModel.java:187)
at oracle.sysman.pp.virtualization.ui.target.ovmserverpool.view.CreateVSPPageHandler.handleEvent(CreateVSPPageHandler.java:318)

Fifth Attempt to Create Virtual Server Pool

I updated /etc/ovs-agent/passwdfile changing oracle to root . Ran the OEM page again with SSH Username set to root . Got the same errors as described in Third Attempt to Create Virtual Server Pool .

Starting Over

I have re-installed OVS again with the creation of the /OVS filesystem.

I have gone back to using root as the SSH Username .

On GRIDCTRL , emoms.log shows:

2012-08-19 20:56:13,149 [EMUI_20_56_13_/console/virtualization/target/ovmserverpool/createVSP] ERROR pp.virtualization logp.251 - oracle.sysman.pp.virtualization.service.platform.ovm.OVMServerPoolManagementIntegrator.validateAddServerPool : Validation failed oracle.ovs.biz.server.ServerException: OVM-2007 Master Agent '192.168.1.100' is not active, so couldn't proceed such operation .
at oracle.ovs.biz.server.helper.ServerValidationHelper.checkAgentStatus(ServerValidationHelper.java:72)
at oracle.ovs.api.ServerPoolManagementImpl.validateCreateServerPool(ServerPoolManagementImpl.java:248)
at oracle.sysman.pp.virtualization.service.platform.ovm.OVMServerPoolManagementIntegrator.validateAddServerPool(OVMServerPoolManagementIntegrator.java:203)
at oracle.sysman.pp.virtualization.service.target.impl.ovm.OVMTargetDataStoreImpl.registerVirtualServerPool(OVMTargetDataStoreImpl.java:787)
at oracle.sysman.pp.virtualization.ui.target.ovmserverpool.model.OVMServerPoolModel.registerVirtualServerPool(OVMServerPoolModel.java:187)
at oracle.sysman.pp.virtualization.ui.target.ovmserverpool.view.CreateVSPPageHandler.handleEvent(CreateVSPPageHandler.java:318)

On VICTORIA , /var/log/ovs-agent.log shows:

[2012-08-19 21:52:30 5584] DEBUG (service:77) echo: ('Is agent alive?',)
[2012-08-19 21:52:30 5584] DEBUG (service:85) echo: call completed.

05 Diagnose VM Agent Problem 07 Response From Oracle Support