Полезные команды ESXi 4.1

VMWareДанный пост представляет собой подборку полезных команд в ESXi 4.1. Эти команды достаточно удобно использовать в системах, в которых отсутствует сервер vSphere Server или нет возможности добраться до графического клиента   vSphere. Надеюсь, эта подборка команд для работы с  сервером ESX окажется полезной.

1. Получить список всех виртуальных машин на гипервизоре:

# 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

Обратите внимание на столбец vmid. Это идентификатор виртуальной машины, vmid достаточно часто используется в различных командах, предполагающих управление или просмотр параметров конкретной виртуальной машины.

2. Проверить какие физические сетевые карты NIC активны

В семействе команд esxcfg-*  есть достаточно много команд, использующихся для настройки сети. Например, если вам нужно получить список подключенных к сети карт NIC, можно воспользоваться следующей:

~ # 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

Из результатов выполнения команды видно, что карточки vmnic0 и vmnic2 активны (up).  Данная команда выполнялась на сервере HP Blade с функцией Flex-10 Virtual connect.

3. Создаем сетевое соединений

Например, мы знаем, что сетевая карта vmnic2 подключена к сети, давайте настроим наш сервер таким образом, чтобы иметь возможность подключаться по SSH:

# создаем vSwitch1
esxcfg-vswitch-a vSwitch1
# подключаем к  vSwitch1 в качестве аплинка vmnic2
esxcfg-vswitch -L vmnic2 vSwitch1
# добавляем на созданный свитч группу портов DATA
esxcfg-vswitch -A DATA vSwtich1
# подключаем группу портов DATA к vmnic2
esxcfg-vswitch -M vmnic2 -p DATA vSwitch1
# для группы портов DATA задаем VLAN 70
esxcfg-vswitch -v 70 -p DATA vSwitch1

4. Как создать новый vmdk и добавить его к существующей виртуальной машине

Пусть у нас есть виртуальная машина с vmid 32, и мы хотим добавить к этой машине новый диск vmdk размером 60GB.  В командной строке наберем:

# создадем диск размером 60GB в каталоге foo (это наша виртуалка)
vmkfstools -c 60G /vmfs/volumes/datastore1/foo/newfoo.vmdk
# добавляем диск в окружение виртуальной машины foo (0 и 1 это scsi ID)
vim-cmd vmsvc/device.diskaddexisting 32 /vmfs/volumes/datastore1/foo/newfoo.vmdk 0 1

5.  Управляем питанием виртуальной машины

Мы можем включать/отключать определенную виртуальную машину, а также проверить ее текущий статус прямо из командной строки, для этого нам нужно знать ее vmid (как узнать vmid  описано в 1 примере):

# проверяем состояние
vim-cmd vmsvc/power.getstat 16
# выключаем виртуальную машину
vim-cmd vmsvc/power.off 16
# включаем
vim-cmd vmsvc/power.of 16

6. Как добавить физическое USB устройство к виртуальной машине

Все мы помним, что в vSphere 4.1 появилась функция USB passthrough.

Если вам необходимо добавить USB устройство, которое подключено физически к серверу ESX, в виртуальную машину, это можно сделать при помощи следующих команд:

#проверим, что служба usbarbitrator запущена
/etc/init.d/usbarbitrator start
# пробрасываем USB device в виртуальную машину с vmid 16
vim-cmd vmsvc/device.connusbdev 16 "path:1/0/0 autoclean:1"

Примечание: убедитесь, что виртуальная машина выключена.

7.  Регистрация виртуальной машины на гипервизоре

В том случае, если вы скопируете все vmx и  vmdk файлы на гипервизор ESXi 4.1, для того чтобы данная виртуалка появилась в списке машин  гипервизора, ее нужно зарегистрировать и затем включить:

vim-cmd solo/registervm /vmfs/volumes/datastore1/foo/foo.vmx
# затем включите виртуальную машину, как описано в 5 примере!

8. Включить SSH из командной строки

/etc/init.d/TSM-SSH start

Вот и все, мы познакомилась с некоторыми простыми командами ESXi 4.1