07 Jul 2011 by Simon Greaves
The vMA, or vSphere management assistant is an ovf template which can be downloaded for free from the VMware website.
The vMA has the following minimum system requirements
ESX(i) 3.5 update 2 or later
64 bit Intel-VT or AMD-V compatible CPU as the vMA is a 64-bit virtual machine
5GB virtual disk size
Access to the ESX(i) host management network
An ESX(i) server or a vCenter Server can be used as a target for the vMA.
Once the vMA has been downloaded and imported into ESX(i), power it on and it will run through a setup wizard where you can set the IP address, password and SNMP settings.
When you get to the prompt, login to the vMA using the vi-admin account.
The vMA contains the vCLI command utilities which offers the
vicfg-xxxxxx commands among others. These commands are located in the
command --help to list all available commands.
An example command is
vicfg-nics --list --server <targetservername>
Once prompted enter the vi-admin user name and password.
This will list the available nics on the target server.
Other commands available from the vCLI include
When a command is run through the vMA it is necessary to provide credentials each time for the target server. To get around this you can use to vi-fastpass command to add credentials to the vMA so that future commands will be run using these cached credentials.
To do this to two things are required.
Vifp - to add the server and credentials
Vifptarget - to specify the server that the command is run on.
--set | -s
--clear | -c
--display | -d
--help | -h
To use vifp type
vifp addserver <servername>
Type the vi-admin user name and password when prompted
Once added use Vifptarget within the command to tell the vMA the specific host to run commands on.
So to use the earlier example of
vifptarget -s <servername>
Notice that there is no prompt for credentials this time.
Once the server you are running the commands against has been added with
vicfgtarget -s you will be able to run all subsequent commands within this session without specifying the server name of credentials.
An alternative to
vi-fastpass for automating cached credentials are session files.
Session files are Perl script files that save session credentials in an aptly named saved session file, called
save_session.pl --server <servername> --user name < root> --password < password> --savesessionfile /home/vi-admin/esxsession
Once this has been saved, add it to the end of a command run through the vMA.
vicfg-nics -l --sessionfile /home/vi-admin/esxsession
ESXi doesn’t save log files. When the host is shutdown, all log files are deleted so in order to be able to refer to log files after a shutdown or reboot it is necessary to consolidate the log files. This can be achieved through the vMA using vilogger.
To use vilogger, first ensure that vi-fastpass is enabled using
vifp list server to list out the current vi-fastpass enabled servers, if no servers are listed use
vicfg addserver < servername> and vifptarget -s < servername> to add again.
vilogger has several parameters available, an example of which are
--numrotation number of files to collect
--maxfilesize specified in MB
--collectionperiod how often to poll, specified in seconds
vilogger enable --server < servername> --numrotation 20 --maxfilesize 10 --collectionperiod 10
This command will collect the following logs from the ESXi host
To scroll through the log files one page at a time use the more command.
To reset the vi-admin password, first reboot the vMA using the VMware tools and when it is starting up press a key on the grub loader screen to pause the boot, then press e to edit and add the word single the kernel command line, then continue the boot process.
Once it boots you will be at the sh-3.2# prompt, this means that the server is in single user mode.
Type the following at the prompt
Enter the new password when prompted and again to confirm. You have now reset the password and will be able to login when you reboot the vMA.
vicfg-nics | Manage physical NICs
vicfg-vswitch | Manage virtual switches
vicfg-vmknic | VMkernel NIC
vicfg-dns | Specify DNS configuration
vicfg-route | Manage default IP gateway
vicfg-ntp | Specify NTP server
-a Set the NIC to auto negotiate
-d half¦full Duplex options
-s Speed for NIC (val is 10,100,1000,10000)
-l Lists the NICS
-D Delete a port group
-d Delete a virtual switch
-U Remove an uplink from a vSwitch (unlink)
-Q Remove an uplink from a dvSwitch
-IP Assign IP address
-m Set MTU
-n Set netmask
Create a virtual switch
Add a port group to a virtual switch
Link an uplink to a virtual switch
Link an uplink to a distributed vSwitch
vicfg-vswitch –P -v
Set Max MTU size
vicfg-vswitch -m 9000
vicfg-vswitch –v -P
Remove a VLAN ID
vicfg-vswitch -v 0 –P
More information on the vMA can be found in the vMA guide
Additional commands can be found over at Ray Heffer’s blog
Comments are closed for this post.