When you try to pick up new technology, what is the process that you follow? Do you read the documentation first (docs.oracle.com), do you read the tutorials first (otn.oracle.com), do you look at the wiki (wiki.oracle.com), or do you read a discussion forum (otn.oracle.com), or do you join an online community (mix.oracle.com). There is also the tried and true method of buying a book or going to the local users group.
It seems to me that this is an overload of information and I need to rethink how I learn new technologies. I recently decided to learn the OracleVM technology because I am familiar with virtual machines, domains, and high availability architecture. I am also somewhat familiar with Linux so the learning curve should not be that great. Let’s look at my learning process and figure out if it is the right way of doing things or there are better ways.
1) I heard about the product at a keynode address. I naturally went to the otn web site and tried to find the product information page. Unfortunately, all I can find is how to download the product. Interesting but not what I am looking for. Since I don’t want to dig around too much, I follow the download link to see if it will take me to the product page.
2) The technology/OracleVM page does give me a little information but not much. It does have a link to the product home page so I jump there. Before I go, I notice that from this page I can read the documentation, download the code, participate in a wiki, be part of a discussion forum, and watch a podcast on the product with one of the product managers.
3) Since I want to find out what this product is before I invest too much time, I go to the OracleVM product home page. At this page I can read a short paragraph on the product, look at the press release, read partner reviews, read a FAQ, and look at the product datasheet. I also notice that the product is better, faster, free, and available for download. This does not help me much but it does make me feel better about the time I have invested.
4) looking at the OracleVM datasheet, I at least get an idea of what is required to make the product run. I note that it supports Linux and Windows as a guest operating system but there is something called hardware virtualization that I need to learn about as well. I also learn that I need to have two computers to make this product work. These computers must also have static IP addresses which scares me a little. I find out the processor, memory, and disk requirements for the VM Manager which also must run on Linux. I also find out that the majority of Oracle products are supported in a VM with the exception of RAC. There is also a link to a metalink note (464754.1) that has more recent information on product support. After reading the document again I note that the VM Server runs on bare metal and does not need an operating system to run on. This intrigues me so I write down to learn more about this as well.
After reading this document I realize that the two laptops that I have will need to be reconfigured. The one that I primarily use is the more powerful and should be used for the VM Server. The older one needs to be the VM Master. The first thing that I need to do is make sure that I have the Linux OS installed on the older laptop and put a new disk in my newer laptop.
5) At this point I realize that I need to know more so I read the press release to look for link to more information. Surprisingly, from the press release I learn the price of the support and that this product is based on the Xen Hypervisor.
6) At this point I realize that there is a list of things that I need to learn about so I look at the FAQ to see if there is more that I need to research. From the FAQ I learn about pricing, licensing, that Oracle On Demand is using the product, and a repeat of the details in the press release.
7) To learn a little more, I read the whitepaper to figure out if I should invest more time or not. The net that I learn from this is that OD had upgraded their dual processor single core 2U systems with dual processor dual core 1U systems. This doubles the compute capacity of the existing hardware while reducing the rack footprint thus creating expansion in the data center. Interesting information but how is this relevant to VM? In reading further, I learn that one option is to run multiple web/app servers on the same hardware box or but them in different VMs isolated from each other. Interesting concept. I have run into multiple virtual apache web servers and upgrading one while not upgrading the others made the project unmanageable. All of the web servers had to be upgraded at the same time which was a political nightmare. The OD solution also gives a new twist to HA because I can move a VM to a new box that is ready to accept the image. The requirement for the new box is to have the VM Server installed and the product can be moved to a higher capacity system or provisioned quickly in event of failure. Interesting features, I guess I need to learn more.
8) At this point I go to the OracleVM wiki server to learn more. From this page I get links to a podcast, documentation, a discussion forum, code to download, and an installation video. I also notice that there are two sub-pages on hard partitioning and the management API. There is also another sub page on installation.
9) Since I am now interested in moving forward, let’s see what is required to install the product. This is done on the wiki sub page which takes us to a youtube video in installation. In the releavant content at the bottom of the page I notice that there are discussion on vmware, ovs-agent, and paravirtualized drivers. I need to learn more on how this compares to vmware, what ovs-agent is, and what a paravirtualized driver is.
10) the video is 8 minutes in length. This leads me to believe that the installation of the server should only take this long. Promising. From the video I learn that it is built on the Xen 3.1.1 Hypervisor. There are defaults to install this which includes partitioning. It looks like I could create a multi-boot installation because it uses a grub loader. It would be interesting to see if I could install Windows and VM Server on the same system and dual boot. When you install you do need to have a static IP address, gateway, and primary dns as well as a hostname. The one used in the video was a fully qualified domain name. You will need a password for the VM Agent which is used by the VM Manager to communicate to the agent. There is also a root password for the VM Server domain 0 which is the first guest OS running on top of the Hypervisor. This domain is used to manage the other guest operating systems. The video does go through a full installation. It contains a compact Linux installation that fits on a single CD. It installs a boot loader, kernel, and rpms on the disk. Once the install is completed, we reboot the computer and it comes up to the domain 0 instance. The boot process in the video took about a minute. The installation took about 6 minutes. The boot looks like a typical Linux
boot with the appropriate messages and notifications on startup. Once the boot is complete, you need to agree to the license on first boot. When this is done you get dropped into a login prompt for the dom0 instance.
11) at this point I download the code for the VM Server and the VM Master. To do this I need to supply my name, company name, email address, and country. I also need to agree to export and legal terms. Once I do this I get to download a 304M VM Server 2.1 binary, a 534M VM Manager 2.1 binary, or a 465M VM Server 2.1 source distribution for 32 or 64 bit. Even though the download page has two options, the binaries downloaded for the two different packages are the same. I also have the choice of downloading Linux Release 5 and Linux Release 4 Update 5. I will defer downloading these till later because they are 4G in size and will take a while on my cable modem.
12) while the system is downloading I read the documentation. The Quick Start Guide is a good place to start usually. There is also an installation guide, release notes, and a users guide. The Quick Start Guide is 6 pages in length and does not supply much more information than I have learned before. It gives a good explanation of the VM Agent which I haven’t seen before now. It give a good picture of the product mix which also helps me understand how the product works. I watched the video on installing the Server and it looks easy. The VM Manager looks like a typical runInstaller program typical for Oracle software. It looks like I will need to make sure that port 8888 is open in the firewall. I will also need to learn more about a Server Pool Master and Utility Server. It looks like the first steps in getting the system running is to go to the Manager page and create a server pool master. I can also load templates and ISO files for VMs. I need to learn more about templates and how to create/use them.
13) The Quick Start guide was interesting. let’s look at the Manager Installation Guide to learn more. This gives yet another interesting diagram that talks about different server pool managers and server pools. The document is 12 pages long so it isn’t a difficult read. It does give a good definition of a pool master, utility server, and virtual machine server. It also talks about storage resources which I will need to learn more about. The document also talks about tightVNC for remote console into the VMs as well as libaio and the use of ports 8888 and 8889, both use TCP/IP. Other ports that are needed are ports 8080 and 1521. The VM Manager has an http server, 10g Enterprise Edition, and OC4J server, and the need to connect to an SMTP server for problem communications. The code on the disk also contains Chart Builder and XML-RPC 3.0. I’m not sure what these are used for but will need to learn more. The install process looks simple, you can install or uninstall the product. You will need to provide two port numbers and a password for the database. You also need to provide a hostname for the SMTP server as well as an email address for admin notifications. The VM Manager is accessed by web page at port 8888 and extension /OVS. There is an App Express management interface available at port 8080 and extension /apex. Any errors are logged into /var/log/ovm-manager. There are three log files, ovm-manager.log, xe.log, and oc4j.log. The VM Manager is started with the service oc4j start command and is configured to start automatically by running an /etc/init.d script.
14) at this point the download is complete and I need to unzip and burn these images to a CD. I do this on my windows desktop and boot the VM Master system with a Linux image.
15) while the CDs are burning, I read the VM Server Install Guide. This document is 24 pages in length and basically tells me the same thing that the 8 minute video showed me. It does appear that you can assign the box to boot with DHCP but the assignment must be a static assignment. The document goes through different installation methods (hard drive, CD, NFS, FTP, and HTTP) so the document is really about 15 useful pages that are duplicated with minor differences.
16) Ok, at this point I realize that I don’t know how to create a template, what a paravirtualized driver is, how it compares to vmware, and if anyone else has dual booted a VM Server and Windows/Linux for a dual boot installation. I typically don’t read the release notes but I will in this case just for grins because it usually bites you if you don’t. From the VM Server Release Note I learn that there might be a clock drift issue which is also an issue for vmware, there might be an IP address issue, there might be an issue with network latency, and paravirtualized guests might be needed for Enterprise R4U4. I also learn that SELinux is not supported in this release which is interesting. I wonder why and if other flavors of Linux are not supported. There is some discussion about disk partition emulation and disk parameters that need to be set. I need to learn more about this before I really screw up something by playing around too much. From the VM Manager Release Note, there isn’t much new to learn. I will probably need to download the ovm-console and install it on the VM Master to use virtual consoles. I will also need to download the tightvnc package as well.
17) At this point I am feeling brave and the CDs are ready. I first start with the VM Master. The installaion is trivial as expected. I then install the VM Server. This is a little scary because I had to wipe out a disk and install it in my laptop. This is different from VMWare workstation because workstation runs on top of Windows/Linux and can easily be discarded or refreshed. The VM Server is a little different. I am running on the hypervisor and the dom0 Linux installation does not appear to be very functional. It does not contain an X11 installation so the normal admin tools that I am use to don’t exist. I need to relearn the command line versions of all of these. I guess I got sloppy in my admin skills and started relying upon the easy GUI interface. I knew there was a reason that I still used vi and didn’t go to emacs or a more advanced editor. I could not get my wireless interface working on the VM Server so I had to break out a 4 port network hub and network my two laptops together. It wasn’t a big issue. I just had to reconfigure my network interfaces and make sure that I didn’t become a router for the world through my two laptops. I will also need to figure out how virtual networks are configured and how they work since I will have to share a network interface between guest operating systems. I guess that I will need to read the Users Guide at some point. The first task is to play with the master and see if I can create a Linux guest and Windows guest and push it to the pool server/vm server on my faster laptop.
As I was installing the VM Master I kept getting an error when creating the connection pool. The installer would come up with -Failed at “Could not get Deployment Manager”-. I decided that it was the computer that I was using and switched to another computer. Unfortunately, they both got the same error. It looks like I was using the Enterprise Release 4 Update 4 which is not supported. I am now downloading the Update 5 as well as Enterprise Release 5 to see how well they both fare…. I had to re-read the release notes to see this requirement. You need update 5 to get it to work. I states this but does not state why. I guess I know why now.
At this point I know that I have two systems that can work as VM Servers. Bo
th appear to work very well. One has a funky wifi card that even R4U4 did not like. The other has a slower processor but both networks were found even by the VM Server/Hypervisor. I guess now I need to start reading the VM Server Users Guide and see how to get into the hypervisor manager and see if I can create a new domain and launch it. I also need to figure out what the paravirtualized thing is and see if I need it on my machine. While I am waiting for R4U5 to download and install I can play with the hypervisor manager and read the documentation.
18) more later….. I actually need to get some work done today….