X

Move your VMware and KVM applications to the cloud without making any changes

  • August 19, 2015

InfinityDC: How to extend your on-premises vSphere data center to the cloud

In this blog I’m going to focus on how to extend your VMware vSphere on-premises datacenter to the public cloud. With Ravello, you can run ESXi nodes in AWS or Google Cloud, and easily connect it to your data center. Hence, you can spin up as many VMware ESXi nodes as you need, on demand, and simply pay for what you use. We call this, the InfinityDC. Both, the on-premises data center as well as the ESXi nodes running in AWS can be managed using the same VMware vCenter, providing for a seamless, scalable fabric.

My data center setup consists of 3 ESXi nodes, 1 NFS server and 1 vCenter appliance to manage the whole deployment. The Ravello application in Google cloud has 3 ESXi hosts and represents a VMware vSphere environment you set up in public cloud. The Ravello “application” in Google Cloud and my data center are completely isolated. I have used pfsense to establish a VPN between these two sites. The vCenter in my data center controls all the 6 ESXi hosts. The VPN is configured using the instructions outlined in this blog.

Settings the VPN

The VPN is configured as OpenVPN peer to peer (better performance than IPSEC in Ravello) as explained in the VPN blog.

The on-premises data center

Notes:

  • OpenVPN server is running in this environment.
  • All machines are using static IPs only.
  • In this example, ESXi machines have only one network interface.
  • In this example, vCenter machine has no inbound internet connection (for security reasons - this entire environment is closed for inbound connection (other than the VPN server of course)). I have used console (rather than RDP) to work with it.
  • In order to be able to connect over VPN to remote ESXi machines from the remote datacenter, I had to reduce the MTU of vmk0 interface in all 3 ESXi hosts running in on-premises DC (see “IP fragmentation/Jumbo packets/MTU” section in the VPN blog). I have reduced the MTU (from 1500 to 1300) by running the following command esxcli network ip interface set -i vmk0 -m 1300

Ravello application running on Google Cloud

Notes:

  • OpenVPN client is running in this application environment.
  • All machines are using static IPs only.
  • In this example, ESXi machines have only one network interface.
  • In order to be able to connect over VPN to remote ESXi machines, I had to reduce the MTU of vmk0 interface in all 3 ESXi hosts running in Google (see “IP fragmentation/Jumbo packets/MTU” section in the VPN blog). I have reduced the MTU (from 1500 to 1300) by running the following command esxcli network ip interface set -i vmk0 -m 1300

Running VMs in the remote datacenter

In order to deploy VMs in the Ravello ESXi environment, you have several options. The straightforward way to accomplish that is by:

  1. Copying the needed files (either ISO files or actual VMs (vmdk+ovf)) to the remote NFS server. You can do this using SCP for example or using the vSphere client plugin.
  2. Once the files are located in the remote NFS machine you can normally deploy/install the VM and run it.

Long distance vMotion

Since vCenter 6.0 version, VMware supports long distance vMotion.

You can perform such vMotion and move running VMs from your on-premises datacenter to your Ravello remote datacenter without any downtime.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.