I spend a lot of time on the command line of ESXi 4.1 due to
my development duties at Sumavi. There are quite a few things you can do
on the command line that make it pretty cool to work with. As such, in
many instances I don’t install vSphere Server nor vSphere client. I just
log in and do my duties. Notice that everything I post below you can do
without vSphere Server nor vSphere client. Let me know if these are
useful to you!
1. Get a list of all VMs on
the Hypervisor:
# vim-cmd vmsvc/getallvms
Vmid
Name
File
Guest OS
Version Annotation
16 Vcenter1
[Storage1-ESX01] Vcenter1/Vcenter1.vmx
windows7Server64Guest
vmx-07
32 Vcenter
[Storage1-ESX01] Vcenter/Vcenter.vmx
winLonghorn64Guest vmx-07
Notice the vmid. That vmid is used in many commands
that follow when you want to perform actions on individual VMs.
2. Check which Physical NICS
are up
There are a few commands in the esxcfg-* family that are
used to configure the hypervisor network. For example, if you want to see
which NICs have network connections, you can use:
~ # esxcfg-nics -l
Name
PCI
Driver Link Speed Duplex
MAC Address MTU
Description
vmnic0 0000:02:00.00
bnx2x Up 1000Mbps
Full d8:d3:85:da:f8:30 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic1 0000:02:00.01
bnx2x Down 0Mbps
Half d8:d3:85:da:f8:34 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic2 0000:02:00.02
bnx2x Up 9000Mbps
Full d8:d3:85:da:f8:31 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic3 0000:02:00.03
bnx2x Down 0Mbps
Half d8:d3:85:da:f8:35 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic4 0000:02:00.04
bnx2x Down 0Mbps
Half d8:d3:85:da:f8:32 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic5 0000:02:00.05
bnx2x Down 0Mbps
Half d8:d3:85:da:f8:36 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic6 0000:02:00.06
bnx2x Down 0Mbps
Half d8:d3:85:da:f8:33 1500 Broadcom Corporation
NetXtreme II 57711E/NC532i 10Gigabit Ethernet
vmnic7 0000:02:00.07
bnx2x Down 0Mbps
Half d8:d3:85:da:f8:37 1500 Broadcom Corporation NetXtreme
II 57711E/NC532i 10Gigabit Ethernet
Notice that only vmnic0 and vmnic2 are up. This mostly
has to do with the way I configured my blades with the Flex-10 Virtual
connect. (A feature of HP Blades). If I am now to configure the
network, its best that I do only vmnic0 and vmnic2 since they’re the only ones
that have a link. For you Linux masters out there, there’s no ‘service
network status’ nor restart that you can do. It just always seems to be
on.
3. Creating a quick network
connection
Since we know vmnic2 is up, let’s make a connection to it so
that we can SSH into it, or at least ping out of it:
# add vSwitch1
esxcfg-vswitch-a vSwitch1
# link vSwitch1 to vmnic2 as an uplink
esxcfg-vswitch -L vmnic2 vSwitch1
# add the DATA portgroup to this switch
esxcfg-vswitch -A DATA vSwtich1
# uplink DATA to vmnic2
esxcfg-vswitch -M vmnic2 -p DATA vSwitch1
# put DATA on VLAN70
esxcfg-vswitch -v 70 -p DATA vSwitch1
4. Create a new vmdk and add
to existing VM
Here we have a VM (vmid 32 ) that we want to add a 60GB vmdk
to. We run:
# create the 60GB hard drive in foo's directory
vmkfstools -c 60G /vmfs/volumes/datastore1/foo/newfoo.vmdk
# add the disk to foo's inventory. (The 0 and 1 is the scsi
ID numbers
vim-cmd vmsvc/device.diskaddexisting 32 /vmfs/volumes/datastore1/foo/newfoo.vmdk
0 1
5. Check/Toggle VM power stat
You can turn nodes off and on and check power status.
You need to know the vmid as shown in #1 above:
# get power stat
vim-cmd vmsvc/power.getstat 16
# turn off
vim-cmd vmsvc/power.off 16
# turn on
vim-cmd vmsvc/power.on 16
6. Add the Physical USB Device
to a VM
If you want to add the USB device that’s plugged into the
physical machine to the virtual machine with vmid 16 you can do this:
#make sure usbarbitrator is started
/etc/init.d/usbarbitrator start
# add to vmid 16
vim-cmd vmsvc/device.connusbdev 16 "path:1/0/0
autoclean:1"
Note that the VM should be powered off when you do this for
best results.
7. Register a VM to the
Hypervisor
If you copied all the vmx and vmdk files to an ESXi 4.1
hypervisor you can simply register them with that hypervisor and turn them on:
vim-cmd solo/registervm /vmfs/volumes/datastore1/foo/foo.vmx
# then turn it on using the stuff in tip 5!
8. Enable SSH from the command
line
This is an easy one:
/etc/init.d/TSM-SSH start
9. Add the license to the ESXi
4.1 hypervisor
This came up in a few places and I already documented
it in this blog, but figured I’d do it again. If you have a license and
you want to add it to your hypervisor because its about to expire in 1 day you
can log in and just run:
vim-cmd vimsvc/license --set XXXXX-XXXXX-XXXXX-XXXXX-XXX11
10. Writing output to main
console
In your kickstart files, you may want to redirect output to
the main console that people watch as an installation takes place. This
is /dev/tty2. Therefore, if in your kickstart file you are cloning a vmdk
using vmdkfstools, you can let people see how the progress is going by just
piping it out. Here’s an example:
vmkfstools -i $DATASTOREREMOTE/stage/stage.vmdk -d
zeroedthick $DATASTOREOTHER/new/new.vmdk | tee -a /dev/tty2
This is cool in that you’ll see the percentage points pop up
as you go along. The thing to remember is that you’ll have to send some
carriage return escape sequences a la echo -e “\r\n” to line things up better.
Blogger Comment
Facebook Comment