RAC Attack in a Box

by Seth Miller

The RAC Attack event at OpenWorld 2013 was a great success. Moreover, it exposed a number of challenges that the RAC Attack Ninjas are prepared to solve. Time is of the essence at an event so we want to come up with the most efficient process of going through a RAC install as possible.

We are currently in the process of developing a virtual machine that will alleviate many of the hindrances at an event. We have coined the term “RAC Attack in a Box”. The hostname of the VM will be “dojo”. The VM will run in VirtualBox on one of the Ninja’s laptops. The users will be connected to the dojo via a wired (preferable) or wireless network. We will provide specific instructions for the users at the event which may vary depending on the event circumstances.

The dojo will provide a number of features; many of which are listed below. This RAC Attack in a Box is still under development so these features may change and will definitely be supplemented. As always, feedback is welcome and encouraged.

Kickstart Configuration
Kickstart scripts can be used to script the process of an Oracle Linux installation. Every installation of Oracle Linux leaves a file in the /root directory called “anaconda-ks.cfg”. This is the kickstart script generated from the options chosen during installation and can be used to install the OS again with the same options. It is a text file and can be read and modified. Kickstart is more than just a method of cloning an OS. It is highly customizable which means we can use it to cater to the user.

PXE Network Boot Server
The current RAC Attack documentation starts the OS installation using an ISO downloaded from Oracle. This ISO is mounted as a virtual CDROM and set as the first boot device in the VM. Another option for installation uses a network boot, commonly known as “PXE” (pronounced pixie). The dojo will respond to the network boot request and present a menu of options for the user.

Why a menu? RAC Attack is about the end-to-end experience of installing RAC. We want to give the user options so they can use their limited time in the most efficient way possible.

For example, installing the OS is part of RAC Attack so users can understand the Grid and the Database installation, as well as the foundation beneath it. But, one user may be at a different technical level or have different job responsibilities than another.

User A is a sysadmin and does OS installs all day. He doesn’t need to see the OS install so he chooses a fully automatic OS install. In five minutes he has the OS installed for both VM’s. He is now ready to install the Grid and Database software.

User B is a DBA and has never done an OS installation before. She can choose to do a raw OS install to get the full experience.

User C has done OS installs in the past and understands what is happening. However, she would like to see each step without having to worry about selecting the correct options. She can choose an automated but interactive install.

ISO Caching
Since Oracle Linux is open source software, RAC Attack can provide it to the users so they don’t have to download it during an event. However, the Grid and Database software is proprietary and cannot be provided. Each user must authenticate with Oracle edelivery and download their own copy. This has been a huge problem in the past because more often than not, internet access at events is poor or not available. Even with a decent internet connection, these downloads are not small and can take a significant amount of time.

We have come up with a solution to this. We use the open source proxy software called Squid to cache the ISO downloads. A user connects to edelivery through the proxy and authenticates. An internet connection is still required but only for the dojo, which then shares that connection via the proxy to the users.

Once the user authenticates and opens the link to download the ISO, the proxy sees that the file being downloaded matches one already in its cache. Instead of pulling those bits over the internet, the proxy feeds the user the file from the cache.

A download over the internet from Oracle will max out at about 1-2MB/sec. A download over a full duplex 1Gb wired network (the standard for all laptops sold in the last few years) will do about 30-110MB/sec (depending on how many users are downloading at once). Downloading all four ISOs that make up the 12c Grid and Database installations takes 1-3 hours via the internet or 1-3 minutes via the proxy.

Full Package Repository
The default OS installation disk has all of the default packages on the disk. However, once the initial OS installation is complete, the RAC Attack instructions call for additional package installation from the public YUM repository hosted by Oracle. The dojo will have not only the default packages, but will also contain another repository with any additional packages necessary for the full installation. The user will no longer need to go to the internet to download additional packages.

Another Learning Tool
Are you wondering how one of the RAC Attack in a Box features work? The RAC Attack Ninjas keep no secrets. The dojo and all of its components are fully open source. We will be documenting how to build it from scratch and making that documentation and all of the scripts available for anyone to download.

Perhaps you have already gone through the latest full RAC install at OpenWorld and don’t see any reason to do it again at Collaborate or one of the other many events at which RAC Attack will be. Come by anyway and build your own dojo or help a n00b with their first RAC install. Better yet, sign up to become a RAC Attack Ninja and contribute to the project.