Полезные мелочи VMware

Консольные команды ESXi:

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

[root@localhost:~] vim-cmd vmsvc/getallvms
Vmid      Name                         File                           Guest OS          Version   Annotation
1      ts2           [datastore1] ts2/ts2.vmx                   winNetEnterpriseGuest   vmx-13             
10     ceph-client   [datastore1] ceph-client/ceph-client.vmx   ubuntu64Guest           vmx-13             
2      ts1           [datastore1] ts1/ts1.vmx                   windows8Server64Guest   vmx-11             
3      ad1           [datastore1] ad1/ad1.vmx                   windows8Server64Guest   vmx-11             
4      centos        [datastore1] gw01/gw01.vmx                 centos64Guest           vmx-11             
5      gateway1      [datastore1] gateway1/gateway1.vmx         otherLinux64Guest       vmx-13             
6      ceph01        [datastore1] ceph01/ceph01.vmx             ubuntu64Guest           vmx-13             
7      ceph02        [datastore1] ceph02/ceph02.vmx             ubuntu64Guest           vmx-13             
8      ceph03        [datastore1] ceph03/ceph03.vmx             ubuntu64Guest           vmx-13

Из этого списка мы узнаем Vmid котоый можно использовать для управления виртуалкой:

# vim-cmd vmsvc/power.off id

[root@localhost:~] vim-cmd vmsvc/power.getstate 10
Retrieved runtime info
Powered off

Список команд большой, см. справку по vim-cmd vmsvc

power.getstate                  
power.hibernate                 
power.off                       
power.on                        
power.reboot                    
power.reset                     
power.shutdown                  
power.suspend                   
power.suspendResume


2. Клонирование диска виртуальной машины:

# vmkfstools -i ./ceph00_0.vmdk ../ceph-client/ceph-client_0.vmdk

3. Посмотреть список ВМ в разрезе сети

[root@localhost:~] esxcli network vm list
World ID  Name      Num Ports  Networks                 
--------  --------  ---------  --------------------------
  300810  centos            1  VM Network               
  269190  ceph02            1  VM Network               
  267987  ceph03            1  VM Network               
  267410  ceph01            1  VM Network               
  156976  ts1               1  VM Network               
   67979  ad1               1  VM Network               
   67844  gateway1          2  Internet-vlan2, VM Network

Далее можем посмотреть какой аплинк является рабочим для определенной ВМ:

[root@localhost:~] esxcli network vm port list -w 300810
   Port ID: 33554465
   vSwitch: vSwitch0
   Portgroup: VM Network
   DVPort ID:
   MAC Address: 00:0c:29:ac:b8:c1
   IP Address: 0.0.0.0
   Team Uplink: vmnic2
   Uplink Port ID: 33554434
   Active Filters:

4. Принудительное монтирование датастора

[root@srv-esx-01:~] esxcfg-volume -m data_01

Список неподключенных датасторов можно посмотреть командой: esxcfg-volume -l

5. Отключить модуль ntg3, включить tg3 (для сетевух Broadcom)

[root@srv-esx-01:~]esxcli system module set --enabled=false --module=ntg3
[root@srv-esx-01:~]esxcli system module set --enabled=true --module=tg3

Требуется перезагрузка хоста.

Используемые модули можно посмотреть командой: esxcfg-nics -l

6. rsa ключ, чтобы ходить по SSH на хост ESXi можно скопировать так:

#  cat id_rsa.pub | ssh root@srv-esx-02 'cat >>/etc/ssh/keys-root/authorized_keys'

7. Распаковать (извлечь все из) OVA

# tar -xvf filename.ova

На выходе получим, например такое:

descriptor.mf

descriptor.ovf

vm-1c4929cc-f517-41e0-8034-c53248666b3e-disk-0.vmdk

Далее клонируем диск, чтобы получить полноценный vmdk с flat-файлом, делается на хосте ESXi:

[root@srv-esx-12:/vmfs/volumes/2ea5f17d-83ec83c4] vmkfstools -i vm-1c4929cc-f517-41e0-8034-c53248666b3e-disk-0.vmdk filename-disk-0.vmdk