Planning the Deployment of oVirt

After I played with oVirt I needed to do several items:

  1. Migrate the oVirt engine to a new host
  2. Migrate the storage from a single NFS share to GlusterFS
  3. Move my VMs from Hyper-V to oVirt
  4. Test my setup

Migrate the oVirt Engine to a new host

This task was to prepare me for the disaster recovery scenario – what if my server room blew up – how would I recover my virtualization backbone? It might not be that important (considering I back up my VMs and can restore them anywhere), but when disaster strikes, tasks need to be simple because concentration will be difficult. As of version 3.5, oVirt had a good back up and restore operation:

#backup example
/usr/share/ovirt-engine/bin/ --mode=backup --scope=all --file=/root/engine_backup --log=/root/backup_log
#restore example
/usr/share/ovirt-engine/bin/ --mode=restore --scope=all --file=/root/engine_backup --log=restore_lg

All I had to do was run the backup script, copy the file, restore it, and run engine-setup. To further harden my installation, I placed the backup line in my daily crontab an hour earlier than my scheduled duplicity run.

Migrate the storage from a single NFS share to GlusterFS

This next step was a bit under-sighted on my part. In my test lab, I had 4 VMs running on 1 NFS server. The NFS server I chose in the lab environment began to choke around 30 VMs and eventually crashed when I hit the 35 mark. It was not a limitation on oVirt or NFS, but on my hardware. GlusterFS was extremely simple to set up and their documentation is easy to follow.

Move my VMs from Hyper-V to oVirt

I will discuss this in more detail in a following post. It was mostly running virt-p2v on Windows and CentOS and on Debian and Ubuntu VMs.

Test my setup

During the transition, I had the opportune time to experience what it was like when my single point of failure (the one NFS server) crashed. It was also painful when DNS and DHCP were on servers on the failed storage server (oVirt didn’t like that). Through this process, I have formulated several key steps to prevent a failure like that from happening again.