What is the vMA?
vMA stands for vSphere Management Assistant. Is it a virtual appliance provided by vmware that is running SUSE Linux 11 and has some custom vmware commands for scripting and authentication that allows you to manage a vmware infrastructure. You can download it from Vmware for free from this location:
In order to deploy into your infrastructure you need to deploy it into your ESXi host like any other virtual appliance:
From the web client
- vCenter -> Hosts -> select your ESXi host
- Actions -> Deploy OVF Template
- Go through the prompts to deploy
Once the OVF has been deployed you can power it on. It will ask you for ip information. Once it’s setup with ip you can manage it via the web interface https://your_ip:5480. From here you can setup common settings and update the machine. You just need to login as vi-admin with the default password of vmware. Make sure to change this default password in the web interface.
vMA’s real power is in the command line you can access it via ssh logging in as vi-admin. Vmware has included all their common commands but one command is very powerful it’s vifp (vi fast pass) this allows you to stored login information for ESXi hosts so you don’t have to type them on every script. You can use it like this:
To add a server (you should do this for vcenter and each ESXi host):
vifp addserver vcenter_or_esxi_host
To see what servers you have in vifp type the following:
There are times where you want to manage only one host at a time you can select your target server via this command
vifptarget -s server_to_manage_name_from_listservers
Once you have selected a target you will notice it as part of your command line prompt.
Once you have added hosts and selected a target any vmware commands you run will be against the target host.
You can also add the vMA to active directory so you don’t have to store the passwords in vifp. This is done via :
sudo domainjoin-cli join domain_name domain_admin_user
Since the vMA is running SUSE linux a full featured linux kernel is available to us. Which means there are a lot of things we can do to make our life easier. You can use aliases and variables. For example if I wanted to execute the command:
esxcli hardware cpu list
I could use variables to help:
variable_name=”data for variable”
cmd="hardware cpu list"
Then I could create an alias for the esxcli command:
Then I could run the following command:
And that would execute
esxcli hardware cpu list
If you want to keep these aliases or variables then you can add them to your environment settings via these commands:
Add your variables and aliases and they will be available to you when you login. There is one word of caution these variables are not available to your scripts unless you manually run them. Any variables you need in scripts should be included in the scripts.
Some common aliases I use are the following:
alias e='esxcli' alias v='vmware-cmd' conn="Your connection information for older commands"