And indeed this does work, but there are a couple of important gotchas to be aware of:
- I was using Oracle VM 3.2 which also needs a separate system for Oracle VM Manager to run on
- So I created 2 virtual machines in VirtualBox
- The Oracle VM virtual machine should be quite large e.g. 8 GB of memory
- As you will then want to create virtual machines within this
- The Oracle VM virtual machine will need additional disk storage which can be used for its virtual machines
- I created the VirtualBox VM with a 5 GB disk for installing Oracle VM itself onto
- And a second 100 GB virtual disk to use for Oracle VM virtual machines later on
- Oracle VM and Oracle VM Manager must be on the same network as each other for communication
- I added a second network adaptor to each virtual machine on an Internal Network (vmnet)
- This second network adaptor must have Promiscuous Mode enabled i.e set to "Allow All"
- The default of "Deny" will not allow Oracle VM to communicate successfully with Oracle VM Manager
- VirtualBox does not emulate the Intel VT-x virtualization instructions in its virtual machines
- So within Oracle VM you can only do Paravirtualized Machines (PVM)
- So I used Oracle Enterprise Linux has it has suitable paravirtualized drivers in it for use in a PVM
- You cannot create a Hardware Virtualized Machine (HVM) as this requires the Intel VT-x in the CPU used
- This is a limitation of VirtualBox, and nothing to do with the real CPU in your physical system on which your host operating system is running
- If
you want a virtual machine running under Oracle VM to be able to
network to the outside world you need to configure something else in the
network somewhere. There are different options for doing this,
depending on what you want and how much change you can do at your
network level.
- You could use the Bridged Adaptor type of network adaptor in VirtualBox, but this means that each virtual machine is visible on your public network and its IP address and hostname must not clash with any other existing system.
- If you only want internet access for web
browsing and downloading operating system updates then you can use the
Oracle VM Manager system as an intermediate. It may seem complicated
but it worked for me. There are 2 parts:
- Configure and run some DNS (Domain Name System) software on the Oracle VM Manager system, to let it act as a DNS server to the Oracle VM virtual machines. I used "Dnsmasq" which is simple and straightforward, and can act as a bridge out to cascade out to another DNS server. On the Oracle VM virtual machine configure it to use your Oracle VM Manager system as its DNS server.
- Configure the Oracle VM Manager to do NAT (Network Address Translation), which involves a few steps to configure "iptables" to do packet forwarding. Then configure the Oracle VM virtual machine to use the Oracle VM Manager as a network gateway (using "route").
The most important point is probably the one about the network adaptor setting in VirtualBox. This caused me no ends of problems as I could successfully install both Oracle VM and Oracle VM Manager on the VirtualBox virtual machines, and I could get Oracle VM Manager to discover and see the Oracle VM system. Which meant that the network between the two systems was definitely working. But whenever I tried to create a new virtual machine in Oracle VM and boot it, it always failed at the Oracle Enterprise Linux installation stage after entering a URL to install from. There is something special done at that point of the installation procedure that requires the network adaptors to be in promiscuous mode. After some digging I came across this "Promiscuous Mode" and tried its alternative setting, and it all worked then.
No comments:
Post a Comment