Данный пост представляет собой подборку полезных команд в 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