Rolling out a virtual infrastructure is a lot like buying a new car. You have a base model, but once you start adding features, the price can jump considerably. And much like a new set of wheels, if you can customize your own virtual environment in house, you can potentially save some dough.
More on devising virtualization workarounds
The top free VMware scripting and command-line tools
SCVMM PowerShell scripts simplify administrative tasks
But writing custom code and scripting workarounds is not for everyone. Other than sending out some desperate pleas for help on Twitter, there’s no one to call for troubleshooting virtualization problems.
Then again, off-the-shelf tools can be expensive, and you may require only a minor feature in a product suite. Or, in extreme cases, there’s nothing available on the market to meet your needs.
In any case, our advisory board members recalled times when they channeled their inner-MacGyvers to answer the following question:
Have you ever used in-house workarounds to solve virtualization problems?
Who created that virtual machine (VM)? When was it created? Who was it created for?
I am sure that most admins have been asked these questions at some point during their virtualization journey. Of course, if you are an organized shop, there are records (i.e., an email, helpdesk ticket, spreadsheet). And, if you are not so organized, then you might find yourself digging through your grey cells or rummaging through a stack of Post It notes on your desk.
For our workaround, we didn’t create a virtualization-specific process but more of a process workaround. You have the option of adding custom fields into vCenter, which you can attach to certain entities in your infrastructure. To document the previous three questions, I incorporated fields into the vSphere Client.
Each time a VM is created, an automatic script is triggered, and the creator of the VM and date is populated in the fields. Once daily, an additional script finds all of the new VMs and checks if the owner field is also populated. If not, an email is sent to the creator of the VM, instructing him to enter the owner in the appropriate field.
Because of vCenter’s flexible application programming interfaces and the amazing integration of PowerCLI into the whole environment, I am able to keep a neat and tidy shop, with no extra cost and a minimal amount of development.
My former employer needed to automate the installation of the free VMware vSphere Hypervisor on board their shipping vessels. Because Auto Deploy is a vSphere Enterprise Plus feature that requires vCenter Server as well as Host Profiles, it was not something we could use for this deployment project.
In fact, we didn´t require any of the features in the paid-for versions of vSphere, but we lacked a deployment mechanism. As far as we could tell, no such option was available to us at the time, so we decided to roll out our own solution.
Because the installations are performed on board the vessels, we needed a mobile deployment solution. After trying different ways of accomplishing this task, we ended up with a "deployment laptop" that a technician used during an installation.
That laptop contained a VM running in VMware Player that enabled a scripted, PXE-based installation of a new vSphere Hypervisor host. When the installation finished, a custom PowerCLI script took care of the actual configuration of the host, including the networking, data stores and so on. Then, the script copied a prepared set of VMs and registered them on the host.
The entire process takes about an hour or so to complete. And by scripting/automating the process, you are guaranteed that all of the hosts are configured correctly. It also removes the possibility of configuration errors and typos.
We even created a graphical user interface for the configuration tool, which further limited the possibility of user error during the installation.
For more details, visit the vNinja.net blog post, which has a video of the actual installation process.
GreenPages Technology Solutions
I went to Chris Chesley, a solution architect at GreenPages, for this month’s answer.
Not every IT shop we work with has off-the-shelf software to solve all of the issues that arise in a virtual or physical environment, and automation is one of the key capabilities missing. The ability to reliably and repeatedly perform routine tasks can simplify common responsibilities as well as free up time and people for more important projects.
PowerShell is a great tool for this purpose, and it can carry out many tasks. It also integrates with many platforms beyond Microsoft, including VMware infrastructures through the use of PowerCLI. Scripts are available to mount and unmount data stores, test vMotion and identify performance bottlenecks, in addition to many other common tasks.
The best tools are free, flexible and have cross-platform capabilities. PowerShell allows users to create workarounds and solve their own virtualization problems in their environment.
This month’s question is a tough one. As I gaze back through my experiences in virtualization, I’ve found that the platform tools and third-party vendors generally rise to meet the need. Even virtualization’s more-complex requirements are often best served by looking elsewhere, rather than building in-house workarounds. Monitoring performance, managing capacity, automating provisioning and even the update process has been a relatively pleasant experience with the tools at hand.
Now that’s not to say there haven’t been virtualization problems. There absolutely have been issues. When they do happen, today’s ecosystem of virtualization vendors has generally fit the bill (at a reasonable cost) for all our virtual needs.
This was first published in February 2012