Build Your Own Oracle Infrastructure: Part 3 – Install Oracle VM Software.
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.
Installing the Oracle VM software is done by completing two tasks. Click the link you need:
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)”.
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: 184.108.40.206 Prefix (Netmask): 255.255.255.0
Step #13: Miscellaneous Network Setup.
I used these values:
Gateway: 220.127.116.11 Primary DNS: 18.104.22.168 Secondary DNS: 22.214.171.124
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:
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?
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:
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:
|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.
Configuring Oracle Linux for Oracle VM Manager is done in 3 parts.
Step #2, Part #1/3: 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:
# 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 #2, Part #2/3: Edit the /etc/hosts File.
Ensure you have the correct entry in the local /etc/hosts file. I used this entry:
126.96.36.199 ovmmgr.mynet.com ovmmgr
Step #2, Part #3/3: 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.
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: 188.8.131.52 184.108.40.206 [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.