The vSphere Client is an extremely well thought-out interface with a plethora of ways to get day-to-day tasks completed without too much difficulty. At times it tends to be a bit “buttony” for me, with each screen presenting quite a few tasks to accomplish, but on the whole it does get the job done, and get it done well.
However, once you leave the care and feeding level of VMware administration, giant holes become apparent, such as how to …
- Manage SSH connections for remote tech support mode or your vMA.
- Write, debug, and use scripts, such as PowerShell (PoSh), specifically the PowerCLI commandlets.
- Quickly view and interact with the console of a VM guest.
Provided in this post are a number of tools that I feel are helpful for effectively managing a VMware environment. I use these tools on a daily basis and want to communicate to others that they exist and work. All of them are 3rd party applications and are either 100% free or have a free version with limited features. Many of them come in a lightweight, portable version that requires no install and works great in conjunction with a file sync app, such as Dropbox.
SSH Session Management
PuTTY is a long standing client for handling SSH sessions, is extremely small in size, and works. However, it is very clunky in respect to handling multiple sessions and making changes to saved sessions. My preferred SSH app is Remote Desktop Manager. The free edition handles a ridiculous amount of session types, from RDP, SSH, VNC, Citrix, and more using a tabbed pane with the option to put sessions into their own external window. It also allows you to organize your sessions into groups using a tree view, which is handy for setting up connections to host by cluster, datacenter, or country to name a few ideas. Optionally, it integrates with KeePass, a great encrypted password repository, to help secure and centralize your passwords for sessions.
Formerly I was using mRemote, however support ended for that app years ago, and a response on twitter (Thanks @dszp !) pointed out to me that Remote Desktop Manager can handle SSH sessions (I had been using it solely for RDP).
In the event that you need to work with either a vSphere Host, your vMA appliance, or really any other session, this tool can make connections quick and painless. With an encrypted, saved password as part of the profile, connecting to a vSphere Host to run esxtop, any esxcfg-xxx command, or tail the hostd log is a snap. In a troubleshooting event, time is of the essence, therefore I have all of my hosts for every datacenter saved to shave off valuable time to address, isolate, and resolve an issue.
VM Console Access
If console use is frequently a part of your day, be it maintenance of various one off tasks or assisting users with their VMs, having a tool like vmClient around is a big time saver, and also prevents you from having to switch off that important task in the vSphere client to track down a VM and open the console. Created by Eric Sloof, this app has matured nicely over the past 6 months that I’ve used it, and features the ability to now change the way the VMs are presented, including having a default favorite VM and the ability to search for VMs (which is great for when you have hundreds of VMs). The free version allows you to view 50 VMs and has a splash screen image, whereas a paid version removes the limit and image.
The link provided also contains a demo of the 4.1 release of vmClient.
I’ve used a number of free scripting tools, with PowerGUI being my personal favorite. There are a few other that I’ve used that offer a bit more features, but tend to be more prone to bugs or require payment. PowerGUI is extremely stable, modular, and offers an auto-complete command feature. This app will give you an easy way to write scripts that harness VMware’s PowerCLI commandlets. To gain the PowerCLI suite of commands, simply install PowerCLI and enable the module from PowerGUI. Once loaded, the snapin is always available. Additionally, you can load other modules, such as Quest’s ActiveRoles Management Shell for Active Directory, which will grant you further authority over multiple VMs from different approaches. Additionally, PowerGUI offers a simple to use layout with a pane containing all saved variables, color coding to match the command layout, and tabbed script viewing. The free edition is full featured with no limitations. If desired, a pro edition is available that provides many additional features, such as easy version control (one such flavor being SVN) and other enterprise add-ons.
Scripting is a valuable skillset to have and becomes incredibly useful, even necessary, as a VMware environment scales out. I’m fond of saying that once a task needs to be done more than once, generally there is ROI in making a script for it. Fortunately, VMware’s PowerCLI library, documentation, community, and examples are extensive, making learning and using PowerShell straight forward and enjoyable.
One of the apps that often have open is RVTools, which the author calls “Nice to Haveware” and I term to be “quick automation” for those semi-trivial tasks that need to be applied to many VMs at once. The lightweight app pulls in your entire vCenter environment into a grid layout with different tabs providing information and related tasks. This includes things like vCPU counts, service console / vmkernel details, the status of floppy and CD drives, and much more. Most tabs also let you do things related to this information, such as “ejecting” the CD on all VMs (disconnect the CD-ROM) or upgrading tools. Just having a single place to see all of the vmkernel IPs for every host is a great thing, as there isn’t any other easy way to get this information outside of scripting. If you want a cheat sheet on your environment with some automation thrown in, this is a good tool.