Running the VMware vSphere 6 vCenter Appliance on the Ravello Systems cloud is not supported in its native format. If you have created a local working copy of the appliance then you can import it into the Ravello Systems cloud environment. When you then want to Edit and Verify the imported virtual machine an error message will be generated that Ravello Systems only supports 7 virtual disks but the appliance was created by VMware with 11 virtual disks.
In this image you can see disks 10 and 11 of the imported appliance:
When you try to save this configuration this error message is generated:
There are workarounds available elsewhere on the internet. I was inspired by this blog article by Emad Younis. He has documented a way of running the appliance natively in the Ravello Systems cloud. Technically it's a great solutions but I found the described process more work than I wanted to invest and I think there are many readers that will find part of the documented solutions too complex to configure because of the Linux-part.
When I was setting up my environment in the cloud I came up with the idea to run the vCenter Appliance as a VM inside a dedicated ESXi host. That way you can natively deploy the appliance whilst still being able to contact it from all other virtual machines.
This will not work because of the 7 disk limit:
But this solution will work:
My workaround is to install a dedicated vSphere 6 ESXi host that runs just this single VM for the vCenter Appliance. This way the 7 disk limit is bypassed. The performance will not be as good as a native deployment but in my test environment I found the performance acceptable.
This is how it looks like: an ESXi host with one VM:
Don't forget to configure this virtual machine to automatically start when the ESXi host is started. This can be found on the configuration tab of the ESXi host in the vSphere Client or the manage tab of the ESXi host in the vSphere Web Client.
Before you can run the VM an advanced setting must be added to the virtual machine, otherwise you will get this error that the hypervisor is not compatible:
"Failed to power on virtual machine. You are running ESXi through an incompatible hypervisor. You cannot power on a virtual machine until this hypervisor is disabled."
The advanced setting to add to the virtual machine is: vmx.allownested = true
You can do this from the vSphere Web Client or Windows vSphere Client. Edit the settings of the virtual machine, in the Options tab under Advanced Options you can add a new row with this parameter/value pair.
When the virtual machine boots there is one more problem that we need to get rid of. This is the error message you will get about the hypervisor not being compatible:
"The profile does not allow you to run the products on this system."
"Hypervisor used current value: kvm must be one of: vmware."
You can press any key each you power on the virtual machine. But with the tip that Emad Younis has documented to suppress the message it's a piece of cake to get the virtual machine to automatically start.
Login to the vCenter Appliance via the local console or ssh to access the command line.
Follow the on-screen instructions to get to the actual Linux bash shell:
- shell.set --enabled true
- shell
Once on the bash prompt edit the boot.compliance file with the VI editor. Instructions how to use the editor can be found here: Basic commands to use the VI editor.
vi /etc/init.d/boot.compliance
The original lines 47 and 48 are:
MSG=`/usr/bin/isCompliant`
CODE=$?
The new lines 47 and 48 should be:
MSG=`/usr/bin/isCompliant -q` //added -q
CODE=0 //changed $? into 0
That's it, next time the appliance boots without waiting for you to press a key.