Build Your Own Oracle Infrastructure: Part 3 – Install Oracle VM Software.

icon-oraclevm

The Oracle VM software provides the fundamentals for building the entire Oracle infrastructure.

The good news is, it’s really quite easy to install it.

In other news, the configuration can be a little challenging if you don’t know a handful of concepts, some terminology and the order in which to do things. Fear not, that’s covered in Part 4.

Quick links to all the tasks:

Task #1: Install Oracle VM Server.

The Oracle VM Server software will be installed on the Oracle VM Server Computer which in my case is an HP ProLiant DL380 G7. Before installing any software you will need to configure the server’s storage. The DL380 originally had 8 x 72 GB internal SAS drives (HP Part# 375861-B21). The scope of this project has expanded a little since I started so I replaced six of the 72 GB drives with six 300 GB drives (HP Part# 507127-B21). The 72 GB drives would have worked, but the extra capacity will give us a little more wiggle room when creating Oracle database server VMs. The 300 GB drives are a little more expensive than the 72 GB drives. They range from $25 to $40 depending upon where you get them from. I buy most of my drives from sellers on eBay. For a complete list of supported drives, check the HP Smart Array P410i Controller documentation here.

So, the DL380 now has 2 x 72 GB internal SAS drives and 6 x 300 GB internal SAS drives. I used the P410i Controller RAID configuration utility to configure 2 logical drives. Logical drive #1 consists of the two 72 GB drives in a RAID 1+0 configuration. This is where Oracle VM Server will be installed. Logical drive #2 consists of the six 300 GB drives also in a RAID 1+0 configuration. This will be used later on as an Oracle VM Storage Repository.

Note, in a production environment, this storage repository is more likely to come via a dedicated network storage filer rather than internal server drives.

With the server storage configured, we can proceed with installing Oracle VM Server. Oracle has done a pretty nice job of making this simple and well documented. However, the order in which I was prompted to do things was different to the order in the official installation guide. It shouldn’t make any difference in the grand scheme of things as you end up in the same place regardless. The official installation guide can be found here.

What follows are the 20 steps I used to install from DVD. I had previously used ImgBurn to create a bootable Oracle VM Server DVD. The installer runs in text only mode. There is no GUI as such.

Step #1: Boot The Server From DVD.

This may require you to change some BIOS settings so that the server can boot from a DVD or CD-ROM device. With the DVD in the DVD drive, simply reboot the server and wait for the first prompt.

Step #2: Start The Installation.

After the server has booted from the DVD you will see a prompt telling you to press the Enter key to begin the installation. Guess what you have to do!

Step #3: Disc Found.

Amazingly the DVD is detected. Here you have the option of testing the installation media or skipping the test. The media test does take a while. If you downloaded Oracle VM Server without any issues and ImgBurn created an ISO image on a blank DVD without any errors, you’re probably OK. In which case, select Skip to avoid the media test.

Step #4: Oracle VM Server.

Here you’ll see a little welcome notice. Select OK and move on.

Step #5: Language Selection.

You’ll probably want English, but if you fancy a challenge pick something else.

Step #6: Keyboard Selection.

Choose what seems most appropriate. US for example.

Step #7: License Agreement.

Simply Accept the license agreement and move on.

Step #8: Partition Type.

The server has two logical drives (8 physical). The smaller of the two logical drives is where we’ll install Oracle VM Server. I selected the options, “Use entire drive” and “sda 69974 MB (HP LOGICAL VOLUME)”. It’s cool that the installer recognizes the drive as an HP logical volume. YMMV.

Step #9: Writing Storage Configuration To disk.

Select the option, “Write changes to disk”.

Step #10: Boot Loader Configuration.

Select the option, “/dev/sda Master Boot Record (MBR)”.

Step #11: Oracle VM Management Interface.

At this point you need to select the network interface to use to connect to the OVM Server. The DL380 has 4 network interfaces, eth0 through eth3. I picked eth0. I’m creative that way.

Step #12: IPv4 Configuration For eth0.

I selected, “Manual address configuration” and used these values:

IP Address: 200.200.10.7
Prefix (Netmask): 255.255.255.0

Step #13: Miscellaneous Network Setup.

I used these values:

Gateway: 200.200.10.1
Primary DNS: 200.200.10.1
Secondary DNS: 8.8.8.8

Note, in a production environment, you would likely need to get the networking information from your Network Administrator. If you can find them. ?

Step #14: Hostname Configuration.

I selected the manual option and used this value:

ovmsvr.mynet.com

Step #15: Time Zone Selection.

Select the appropriate value from the menu displayed.

Step #16: Oracle VM Agent Password.

This password is extremely important. Write it down and keep it somewhere safe. You’ll need it a little later. You’re prompted to enter the password twice.

Step #17: Root Password.

This password is also extremely important. Write it down and keep it somewhere safe. You’re prompted to enter the password twice.

Step #18: Package Installation.

At this point the Oracle VM Server installation kicks off. A left to right progress bar is displayed as the various packages are installed. For Oracle VM Server version 3.3.2 there are 429 packages to install. This takes several minutes, but eventually the progress bar will show 100% and the screen displays the message, “Packages Complete: 429 of 429”. After this there’s a lengthy pause. Don’t worry, the installation hasn’t died. Probably.

Step #19: Post Installation.

This step displays the message, “Performing post-installation configuration”. Again, there’s a pause during this step.

Step #20: Installation Complete.

A congratulations message is displayed and the DVD is ejected. Remove the DVD and press Enter to reboot the server. After the server comes back up, you’ll see the console display the following information:

Oracle VM Server 3.3.2 Console [Alt-F2 for login console]

Local hostname             : ovmsvr.mynet.com
Manager UUID               : Unowned
Hostname                   : None
Server IP                  : None
Server Pool                : None
Clustered                  : No
Server Pool Virtual IP     : None
Cluster State              : Offline
Master Server              : No
Cluster Type               : None
Cluster storage            : None

At the foot of the screen you’ll see information relating to the status of the server:

OVS Agent                  : Running
VMs running                : 0
System memory              : 73717
Free memory                : 70636
Uptime                     : x days, y hours, z minutes

As the screen shows, if you need to login to the OS, hit Alt-F2. This will clear the screen and show a login prompt. To get back to the above console display, hit Alt-F1.

The installation writes a couple of log files to /root:

-rw-r--r--. 1 root root 18708 Nov 1 16:32 install.log
-rw-r--r--. 1 root root  6310 Nov 1 16:29 install.log.syslog

The install.log.syslog file records the additions the installer makes to OS users and groups. The install.log file records the installation of all the Linux packages. Check these files for errors.

The installer writes several system start-up and monitoring scripts to /etc/init.d, including:

ocfs2
ovm-consoled
ovmwatch
ovs-agent
ovs-devmon

The default fdisk output for /dev/sda looks like this:

[root@ovmsvr ~]# fdisk -l
Disk /dev/sda: 73.4 GB, 73372631040 bytes
255 heads, 63 sectors/track, 8920 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000782ce

   Device Boot     Start         End     Blocks   Id System
/dev/sda1   *           1         64     512000   83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64       6591   52428800   83 Linux
/dev/sda3            6591       7114    4194304   82 Linux swap / Solaris
/dev/sda4            7114       8921   14516224   83 Linux

 Disk /dev/mapper/OVM_SYS_REPO_PART_3600508b1001c1cf46029dbf4c8e1f13a: 14.9 GB, 
14864613376 bytes
255 heads, 63 sectors/track, 1807 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

The default file system layout should look like this:

[root@ovmsvr ~]# df -h
Filesystem     Size  Used  Avail Use%  Mounted on
/dev/sda2       50G  1.2G    46G   3%  /
tmpfs          1.1G     0   1.1G   0%  /dev/shm
/dev/sda1      477M   47M   401M  11%  /boot
none           1.1G   40K   1.1G   1%  /var/lib/xenstored

Note, the /dev/sda drive has 4 partitions but only 3 of them are being used. The /dev/sda1 partition is mounted on /boot. The /dev/sda2 partition is mounted on / (the root filesystem) and the /dev/sda3 partition is used for swap space. The partition /dev/sda4 is unused. The size of this partition is 14,516,224 1K blocks, which equals 14,176 MB, which equals 13.84 GB. The significance and usefulness of this unused 13.84 GB partition will become clear when we create storage repositories later.

That’s it!. Pretty simple, huh?

Task #2: Install Oracle VM Manager.

Oracle VM Manager is a GUI application which runs on top of Linux. Since we’ll be using a dedicated physical computer to run Oracle VM Manager, installing it requires 3 steps. Clink the link you need:

Step #1: Install Oracle Linux.

You may already have a Linux computer ready to install Oracle VM Manager onto. However, be aware there are some hardware and software requirements which must be met in order for the Oracle VM Manager software installation to succeed. The hardware requirements can be found here and the software requirements can be found here.

Basically, the hardware and software requirements boil down to this:

Category Resource Value
Hardware RAM 8.00 GB or better
Hardware CPU 64 bit 1.83 GHz or better
Hardware Swap Space 2.10+ GB
Hardware /u01 5.50+ GB free
Hardware /tmp 2.00+ GB free
Hardware /var 500+ MB free
Hardware /usr 500+ MB free
Software OS Oracle Linux / RHEL 5.5 64 bit or later
Software OS Oracle Linux / RHEL 6 64 bit or later

The installation and configuration of Oracle Linux 6 Update 6 is covered in detail with screen shots in         Part 7 – Build Oracle RAC Servers. For now, we’ll assume we have a running Oracle Linux 6.6 server.

Step #2: Configure Oracle Linux for Oracle VM Manager.

Configuring Oracle Linux for Oracle VM Manager is done in 3 steps:

Step #2a: Install Required Packages.

The type of Oracle Linux installation I normally perform for Oracle database servers ensures most if not all required packages are installed. Oracle VM Manager does require the unzip, libaio and perl packages. You can check if they are present using these commands:

[root@oramgt ~]# rpm -qa | grep unzip
unzip-6.0-2.el6_6.x86_64

[root@oramgt ~]# rpm -qa | grep libaio
libaio-0.3.107-10.el6.x86_64

[root@oramgt ~]# rpm -qa | grep perl
perl-5.10.1-136.el6_6.1.x86_64
perl-ExtUtils-MakeMaker-6.55-136.el6_6.1.x86_64
perl-IO-Zlib-1.09-136.el6_6.1.x86_64
perl-Module-CoreList-2.18-136.el6_6.1.x86_64
perl-parent-0.221-136.el6_6.1.x86_64
perl-DBD-SQLite-1.27-3.el6.x86_64
perl-HTML-Tagset-3.20-4.el6.noarch
perl-Pod-Escapes-1.04-136.el6_6.1.x86_64
perl-Module-Load-0.16-136.el6_6.1.x86_64
perl-IPC-Cmd-0.56-136.el6_6.1.x86_64
perl-Archive-Extract-0.38-136.el6_6.1.x86_64
perl-Crypt-SSLeay-0.57-17.el6.x86_64
perl-CPAN-1.9402-136.el6_6.1.x86_64
perl-CPANPLUS-0.88-136.el6_6.1.x86_64
perl-DBI-1.609-4.el6.x86_64
perl-XML-Parser-2.36-7.el6.x86_64
perl-URI-1.40-2.el6.noarch
perl-libwww-perl-5.833-2.el6.noarch
perl-libs-5.10.1-136.el6_6.1.x86_64
perl-Params-Check-0.26-136.el6_6.1.x86_64
perl-IO-Compress-Base-2.021-136.el6_6.1.x86_64
perl-ExtUtils-ParseXS-2.2003.0-136.el6_6.1.x86_64
perl-IO-Compress-Zlib-2.021-136.el6_6.1.x86_64
perl-File-Fetch-0.26-136.el6_6.1.x86_64
perl-Term-UI-0.20-136.el6_6.1.x86_64
perl-Digest-SHA-5.47-136.el6_6.1.x86_64
perl-Test-Simple-0.92-136.el6_6.1.x86_64
perl-Parse-CPAN-Meta-1.40-136.el6_6.1.x86_64
perl-core-5.10.1-136.el6_6.1.x86_64
perl-XML-Grove-0.46alpha-40.el6.noarch
perl-Compress-Raw-Bzip2-2.021-136.el6.x86_64
perl-HTML-Parser-3.64-2.el6.x86_64
perl-Pod-Simple-3.13-136.el6_6.1.x86_64
perl-Locale-Maketext-Simple-0.18-136.el6_6.1.x86_64
perl-Log-Message-0.02-136.el6_6.1.x86_64
perl-devel-5.10.1-136.el6_6.1.x86_64
perl-Compress-Raw-Zlib-2.021-136.el6_6.1.x86_64
perl-Archive-Tar-1.58-136.el6_6.1.x86_64
perl-Log-Message-Simple-0.04-136.el6_6.1.x86_64
perl-Module-Loaded-0.02-136.el6_6.1.x86_64
perl-ExtUtils-Embed-1.28-136.el6_6.1.x86_64
perl-CGI-3.51-136.el6_6.1.x86_64
perl-Time-HiRes-1.9721-136.el6_6.1.x86_64
perl-XML-Twig-3.34-1.el6.noarch
perl-Module-Pluggable-3.90-136.el6_6.1.x86_64
perl-Module-Load-Conditional-0.30-136.el6_6.1.x86_64
perl-Package-Constants-0.02-136.el6_6.1.x86_64
perl-ExtUtils-CBuilder-0.27-136.el6_6.1.x86_64
perl-Module-Build-0.3500-136.el6_6.1.x86_64
perl-Time-Piece-1.15-136.el6_6.1.x86_64
perl-XML-Dumper-0.81-8.el6.noarch
perl-libxml-perl-0.08-10.el6.noarch
perl-version-0.77-136.el6_6.1.x86_64
perl-Test-Harness-3.17-136.el6_6.1.x86_64
perl-Compress-Zlib-2.021-136.el6_6.1.x86_64
perl-Object-Accessor-0.34-136.el6_6.1.x86_64
perl-IO-Compress-Bzip2-2.021-136.el6_6.1.x86_64
perl-DBIx-Simple-1.32-3.el6.noarch

If you are missing any of these packages, you can install them using this yum command:

[root@oramgt ~]# yum install zip unzip libaio perl

This assumes you have already setup a yum repository. If you have not, check out Creating a Public Oracle Yum Repository for Oracle Linux 6.

You will also need to install the ovmcore-console package in order to gain access to the console of VMs. You can check if you have it installed using this command:

[root@ovmmgr rpm]# rpm -qa | grep ovmcore
ovmcore-console-1.0-42.el6.noarch

If it’s not installed, install it using this command:

[root@ovmmgr rpm]# rpm -Uvh ovmcore-console-1.0-42.el6.noarch.rpm
Preparing...                ########################################### [100%]
   1:ovmcore-console        ########################################### [100%]

Step #2b: Edit the /etc/hosts File.

Ensure you have the correct entry in the local /etc/hosts file. I used this entry:

200.200.10.5  ovmmgr.mynet.com     ovmmgr

Step #2c: Add an OS User and Group, Configure the Firewall and Check for /u01.

The oracle user and dba group need to be added to the system. In addition, some security limits need to be set for the oracle user. To ensure proper communication between Oracle VM Server and Oracle VM Manager, the settings for some Linux firewall ports need to be modified. Finally, the existence of /u01 is checked. /u01 can be either a directory within the root file system or the mount point for its own file system. Either way, a minimum of 2.4 GB is needed to install Oracle VM Manager within /u01.

The simplest way to make all the required changes is to run a script provided by Oracle called createOracle.sh. It can be found in the root directory of the Oracle VM Manager DVD. To make the changes, simply mount the DVD and run the script:

[root@ovmmgr /]# mount -t iso9660 /dev/sr0 /media
[root@ovmmgr /]# cd /media

[root@ovmmgr media]# ls -l create*
-r-xr-x---. 1 root root 10794 Jan 14 2015 createOracle.sh

[root@ovmmgr media]# ./createOracle.sh

It’s a best practice to ensure the oracle user UID and dba group GID are the same across your entire server infrastructure. Doing so avoids weirdness when copying oracle owned files from one server to another. By default, the script creates the oracle user with a UID of 54321 and the dba group with a GID of 54321. These values are unlikely to be compatible with your own standards, so to change them use these commands:

[root@ovmmgr /]# groupmod -g <your_preferred_GID> dba
[root@ovmmgr /]# usermod -u <your_preferred_UID> oracle

The security changes for the oracle user are made to the file, /etc/security/limits.conf. The Linux firewall changes are made to the file, /etc/sysconfig/iptables. It’s not required to have the Linux firewall up and running. To check its status, use this command:

[root@ovmmgr ~]# service iptables status
iptables: Firewall is not running.

If the firewall is running, the output will look something like this:

[root@ovmmgr ~]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target     prot opt source      destination
1   ACCEPT     all  --  0.0.0.0/0   0.0.0.0/0   state RELATED,ESTABLISHED
2   ACCEPT     icmp --  0.0.0.0/0   0.0.0.0/0
3   ACCEPT     all  --  0.0.0.0/0   0.0.0.0/0
4   ACCEPT     tcp  --  0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:22
5   REJECT     all  --  0.0.0.0/0   0.0.0.0/0   reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num target     prot opt source      destination
1   REJECT     all  --  0.0.0.0/0   0.0.0.0/0   reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num target     prot opt source      destination

To turn the Linux firewall off, see the relevant commands here.

Step #3: Run the Oracle VM Manager installer.

If not already mounted, mount the Oracle VM Manager DVD then run the installer script, runInstaller.sh:

[root@ovmmgr /]# mount -t iso9660 /dev/sr0 /media
[root@ovmmgr /]# cd /media
[root@ovmmgr media]# ./runInstaller.sh
Oracle VM Manager Release 3.3.2 Installer

Oracle VM Manager Installer log file:
/var/log/ovmm/ovm-manager-3-install-2015-11-25-165414.log

Please select an installation type:
   1: Install
   2: Upgrade
   3: Uninstall
   4: Help

   Select Number (1-4): 1

Starting production with local database installation ...

Verifying installation prerequisites ...

One password is used for all users created and used during the installation.
Enter a password for all logins used during the installation: <enter password>
Enter a password for all logins used during the installation (confirm): <enter password>

Please enter your fully qualified domain name, e.g. ovs123.us.oracle.com,
(or IP address) of your management server for SSL certification generation,
more than one IP address are detected:
200.200.10.5 200.200.30.5 [ovmmgr.mynet.com]: <press enter>

Note, two IP addresses were reported during my installation because my Oracle VM Manager server has two NICs configured. YMMV.

Verifying configuration ...

Start installing Oracle VM Manager:
  1: Continue
  2: Abort

  Select Number (1-2): 1

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

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

Step 4 of 9 : WebLogic and ADF...
Retrieving Oracle WebLogic Server 12c and ADF ...
Installing Oracle WebLogic Server 12c and ADF ...
Applying patches to Weblogic ...

Step 5 of 9 : Oracle VM ...
Installing Oracle VM Manager Core ...
Retrieving Oracle VM Manager Application ...
Extracting Oracle VM Manager Application ...
Retrieving Oracle VM Manager Upgrade tool ...
Extracting Oracle VM Manager Upgrade tool ...
Installing Oracle VM Manager Upgrade tool ...

Step 6 of 9 : Domain creation ...
Creating Oracle WebLogic Server domain ...
Starting Oracle WebLogic Server 12c ...
Creating Oracle VM Manager user 'admin' ...
Retrieving Oracle VM Manager CLI tool ...
Extracting Oracle VM Manager CLI tool...
Installing Oracle VM Manager CLI tool ...

Step 7 of 9 : Deploy ...
Configuring Https Identity and Trust...
Deploying Oracle VM Manager Core container ...
Configuring Client Cert Login...
Deploying Oracle VM Manager UI Console ...
Deploying Oracle VM Manager Help ...
Disabling HTTP access ...

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

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

Retrieving Oracle VM Manager Tools ...
Extracting Oracle VM Manager Tools ...
Installing Oracle VM Manager Tools ...
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' ...


Step 9 of 9 : Start OVM Manager ...
Enabling Oracle VM Manager service ...
Shutting down Oracle VM Manager instance ...
Starting Oracle VM Manager instance ...
Waiting for the application to initialize ...
Oracle VM Manager is running ...

Please wait while WebLogic configures the applications...
Oracle VM Manager installed.

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                       : 0004fb0000010000965afbe809a1a7cb

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://ovmmgr.mynet.com:7002/ovm/console
Log in with the user 'admin', and the password you set during the installation.

Note that you must install the latest ovmcore-console package for your 
Oracle Linux distribution to gain VNC and serial console access to your 
Virtual Machines (VMs). Please refer to the documentation for more 
information about this package.
For more information about Oracle Virtualization, please visit: http://www.oracle.com/virtualization/

Oracle VM Manager installation complete. 

Please remove configuration file /tmp/ovm_configw74jWS.

That’s it! How easy is that? Nice.

Using a web browser, you can now login to the Oracle VM Manager console using these credentials:

URL                : https://ovmmgr.mynet.com:7002/ovm/console
Username           : admin
Password           : <password you provided earlier>

I use Firefox to log into Oracle VM Manager. Chrome works just fine too. Internet Explorer goes off into la-la land trying to display the login box for some reason. I have better things to do than sort out IE’s issues with life. You will have to deal with your browser’s paranoia about connecting to a site which it considers verboten, but once you give it a stiff talking to, you should see an Oracle VM Manager console screen similar to this:

The tricky bit is next. See you in Part 4 – Configure OVM Server.

If you have any comments or questions about this post, please use the Contact form here.