Installing VirtualBox

VirtualBox is a virtualization software package that allows us to create a sandbox to play with Oracle software. We initially selected a deskside computer that is capable of hosting a variety of virtual guests. Our system has 24G of memory and a quad core Intel i7 processor. On Windows you can go to the Control Panel -> Systems to look at the memory and processor configuration.

system config

To download the software you can go to the VirtualBox web page and download the binary for the OS that you are running. In our example, we download the Windows host x86/amd64 binary.

virtualbox.org

From this, you can execute the binary and install the software. There really is not many options other than where you can install the binaries and if you want a shortcut on your desktop and startup menu for Windows.

Windows screen shots

MacOSX screen shots

The user documentation for VirtualBox is relatively helpful if you get stuck. Chapter 2 covers the installation on the various operating systems. Chapter 4 covers guest additions. If you want to mount a directory from your desktop computer you will need the guest additions. Chapter 6 covers networking. For most of what we will focus on, three network configurations are worth learning in more detail.

  1. bridged networks
  2. host-only networks
  3. network address translations

Bridged networks allows you to use DHCP or static ip mappings and send/receive data across routers. In my instance I use bridged routing to connect through my AT&T Uverse router and can see the virtual instance from outside my house. Bridged networks are needed for this so that the ip address is routable.

Host-only networks are good for virtual machine to virtual machine communications. If I have a WebLogic server configured to communicate with a database, I can use the host-only network which is non-routable and create a communications channel that is similar to a corporate backbone inside a DMZ. I can use non-secure communication mechanisms that are not available on a public network or can use things like remote desktop, VNC, or remote X-11 windows to display back to my MacBook Pro or Windows desktop.

Network Address Translation (NAT) is similar to bridged networks but keeps the ip address of the guest operating system hidden and not exposed. The VirtualBox engine and host operating system act as a router for the guest OS. I found that this works but makes administration a little more complex and less secure for my desktop OS if we want to route public ip traffic through AT&T Uverse into my guest OS. If we were trying to expose multiple guest virtual machines I would use NAT.

For our configuration we wanted to expose Enterprise Manager as the main console/browser into our network. We configure the AT&T router to map the DHCP address assigned to connect to the internet to map to the static ip address of the enterprise manager guest OS. In our instance that will be 192.168.1.120. This is a simple mapping that can be done on the admin page of the router using the firewall mapping. Any ports opened from the outside world to the router will get mapped to the static ip address. This allows us to server port 7802 which is the enterprise manager console port for demos. Security must be maintained on the virtual machine because all ports are now exposed to the internet and all script kiddies and hackers.

Screenshot 2015-07-02 13.30.48Once everything is installed you should be able to launch the VirtualBox management console and configure new guest operating systems.

Screenshot 2015-07-02 13.34.49

Note that this is a relatively mature installation with a variety of operating systems and configurations already done.

Up next: Installing Oracle Enterprise Linux and mounting local drives in VirtualBox.

Test platform

The easiest way to play with technology is to create a test platform that works for you and allows you to create a playground or scratch environment. Historically you had to purchase a computer, install and operating system on the computer, and install the software on the operating system. This was very cumbersome. Getting a dedicated computer to play with was initially expensive. Getting the OS installed and configured to work in your network was overly complex and typically required an OS license. Once you had the OS stable you were free to play with software installation and configuration. The key problem was that if something went wrong or something locked up the computer it was back to square one and re-installing and re-configuring the operating system.

Fortunately a few years ago virtualization became something that not only gave you a safe sandbox but became mainstream computing. There are currently three primary platforms for virtualization: VMWare, HyperV, and ZEN. All three have server solution. All three have desktop solutions.

With VMWare there are a variety of products that you can play with.  For desktop solutions, VMWare Fusion is a good solution. You can play with it for free but a licensed version is $70. It does require a modern Intel chip set (or AMD) with 64-bit capability and at least 2G or RAM and 1T of storage. Server solutions are out of the question for individuals but excellent if your corporation has standardized on it as a platform and provides you a sandbox to play in. The VMWare VCloud is a good hosting platform to play with if you have the money and resources but do not have a VMWare server in house to play with. Starting cost of VCloud is $670 per month and can grow as you require more resources. One of the key benefits is that what you develop in Fusion can migration to ESX/VMWare Enterprise to VCloud easily.

With Microsoft, HyperV is bundled into Windows 2012 and newer. You can run a virtual instance inside of Windows but it does require that you have a valid Windows OS license as the base operating system. Unfortunately, migrating HyperV instances from a private hosted environment to a public cloud environment like Azure does not work well and has different file formats. We will not be looking at this option because 1) it cost too much for me to play with (I have a Windows 7 desktop and can not get a server 2012 edition installed on my system to play with) and 2) if our goal is to migrate our examples to the cloud the lack of functionality to migrate these instances to the cloud are show stoppers.

With Oracle, there are two solutions Oracle VM (a Zen based hypervisor) and Virtual Box. Oracle VM is a server solution that is bundled into products like the Database Appliance or the Virtual Compute Appliance. It is also part of the Solaris operating system and works on Sparc and X86 platforms. We will be focusing on VirtualBox since it is a desktop solution that works on MacOSX, Windows 7, and Linux. We can configure a desktop system to be our sandbox at no cost. One of the benefits that I appreciate is the fact that you can add the extensions for your operating system and share drives with the guest OS. This allows you to stage installation binaries in a directory and not have them consume disk space in your virtual machine. This is a common practice in corporations and cloud hosting like Amazon Web Services. You create an S3 storage pool that contains all of you install binaries and mount this on your virtual machine. You can keep your virtual machine smaller and cross mount the installation files across multiple machines without consuming the disk space on all of them. We will be looking at VirtualBox because I did not want to use my laptop as my primary computer and install OracleVM on my deskside computer. I ordered a deskside Linovo computer with 24G of RAM and 3 terabytes of disk to act as a playground. The system came installed with Windows 7 and very little else installed on it since it is the Oracle Desktop standard image.

I mention the AWS service. We could use this as a playground. It is a valid alternative. We will not be looking at this initially because it involves a cost for storage and a cost for compute resources. Pricing for instances are reasonable ranging from 1.3 cents per hour ($113.88 per year)  to $2 per hour ($17,520 per year). They do have a year free on the cheapest services but in my opinion these services are too limiting to play. You get one virtual CPU and 1G of memory. The key benefit to this configuration is that you get a copy of Windows for free so if your testing platform is Windows then it might be a good alternative. The Oracle database requires at least 4G of memory to run without being painfully slow. Layering WebLogic on top of it and Enterprise Manager boosts the requirement to 6G or you are watching the processor spin while it thrashes memory.

There are a variety of other services that you could lease similar to AWS. Oracle has compute infrastructure as a service at $2,190 and up per year. Rackspace, Level 3, Google, and other hosting vendors are alternatives. My recommendation is to look at what works for you and stick with it. We will be using VirtualBox as our preferred platform because instance created in this sandbox can be exported to AWS, VMWare, and OracleVM. This platform is also free for a variety of platforms and has enough features to fulfill our needs and requirements.

Our sandbox system came down to cost. We selected a deskside Linovo M83 system at a cost of $1,364 because it can handle the extra memory that is needed. A laptop is typically limited to 4-8G of RAM. We don’t need the graphics capability of a gaming system or the added processing power. We went with a 4 core Intel i7-4770 chip at 3.4Ghz. This system was selected primarily for the memory expansion. The system can handle 36G so we have some headroom if needed. We could have selected AWS or Oracle IaaS as the testing platform but given that my department had budget for me to get a new computer I opted to keep my personal MacBook Pro as my laptop and have Oracle purchase the deskside as my daily “working” computer.

next: VirtualBox installation and configuration