Vmware

From Halfface
Jump to navigation Jump to search

Names

DCUI          Direct Console User Interface
drs           Distributed Resource Scheduler
fsvm          vSAN file service Node
hci           hyper-converged infrastructure
vCLS          vSphere Cluster Services
vmk           VMkernel port
vDFS          vSAN Distributed File System
vpxa          vCenter Server Agent, also referred to as vpxa
VSS           VMware Distributed Switch
VSS           VMware Standard Switch

Reload vmx file

vim-cmd vmsvc/reload Vmid

vim-cmd

vim-cmd vmsvc/getallvms                Get all vm:s.
vim-cmd vmsvc/get.config 1835          Get info about vm.
vim-cmd vmsvc/power.on                 Start vm.
vim-cmd vmsvc/power.off                Stop vm.
vim-cmd hostsvc/hosthardware           Get info about underlying hardware. | grep numCpu (to get number of cpu:s.

To power on a virtual machine from the command line:

  1. List the inventory ID of the virtual machine with the command:
vim-cmd vmsvc/getallvms
  1. Check the power state of the virtual machine with the command:
vim-cmd vmsvc/power.getstate <vmid>
  1. Power-on the virtual machine with the command:
vim-cmd vmsvc/power.on <vmid>

deploy vmware machine on cli

Look at image.

/vmfs/volumes/datastore1/ipmon_images/vmware-ovftool/ovftool /vmfs/volumes/datastore1/Test_image.ova
OVF version:   1.0
VirtualApp:    false
Name:          test

Annotation:  Test image. 
            
            Virtual Machine Version: 8
            
            CPU:       4vCPU
            Memory:  8G
            HD:         50G [ Optimal Performance = Thick Provision Eager 
            Zeroed ] 

Download Size:  1.69 GB

Deployment Sizes:
 Flat disks:   50.00 GB
 Sparse disks: 3.86 GB

Networks:
 Name:        vmware
 Description: vmware description

Virtual Machines:
 Name:               Test-SL-6.6-NovAPP
 Operating System:   rhel6_64
 Virtual Hardware:
   Families:         vmx-08 
   Number of CPUs:   4
   Cores per socket: 1
   Memory:           8.00 GB

   Disks:
     Index:          0
     Instance ID:    9
     Capacity:       50.00 GB
     Disk Types:     SCSI-VirtualSCSI 

   NICs:
     Adapter Type:   VmxNet3
     Connection:     dvpg-VM Linux-820

Setup machine from image.

/vmfs/volumes/datastore1/vmware-ovftool/ovftool -dm=thick -ds=datastore1 "--net:vmware=VM Network" '/vmfs/volumes/datastore1/ipmon_images/Test_image.ova' 'vi://root:password@localhost'
Opening OVA source: /vmfs/volumes/datastore1/Test_image.ova
Opening VI target: vi://root@10.151.105.131:443/
Deploying to VI: vi://root@10.151.105.131:443/
Transfer Completed                    
The manifest validates
Warning:
 - No manifest entry found for: 'SL-6.6-NovAPP-05092015-disk1.vmdk'.
Completed successfully

which version of esxi

# vmware -vl
VMware ESXi 4.1.0 build-260247
VMware ESXi 4.1.0 GA

backup

Backing up a running virtual machine. Run the following command to create a snapshot:

vmware-cmd <path to vmx file> createsnapshot <name of snapshot> <snapshotdescription> 1 1

Run the following command to make a clone:

vmkfstools -i  

Run the following command to remove all snapshots:

vmware-cmd <path to vmx file> removesnpshots

Backup the cloned VMDK file using NetBackup.

list virtual machines

esxcli vm process list
vim-cmd vmsvc/getallvms

show ip address of esxi host

esxcli network ip interface ipv4 get
esxcli network ip interface list
esxcfg-nics -l

show routes

esxcli network ip route ipv4 list

create vmdk file that point to flat file.

Rename to flat

mv IPcenter-CIS-SL69-20170801.vmdk IPcenter-CIS-SL69-20170801-flat.vmdk

List size of file.

ls -la
-rw-------    1 root     root     80530636800 Jan  4 10:22 IPcenter-CIS-SL69-20170801-flat.vmdk

Create think file matching criteria.

vmkfstools -c 80530636800 -a lsilogic -d thin temp.vmdk

Rename file to matching name.

mv temp.vmdk IPcenter-CIS-SL69-20170801.vmdk

Edit file to contain reference to right file and remove thin option.

vim IPcenter-CIS-SL69-20170801.vmdk
# Change name to *flat.vmdk file.
RW 8388608 VMFS "vmdisk0-flat.vmdk"
# Remove this line.
ddb.thinProvisioned = "1"

Test that file work.

vmkfstools --fix check /vmfs/volumes/4e0cdac0-bbcd2986-39a2-b8ac6f88f9f9/shehbab.se2.ipsoft.com/IPcenter-CIS-SL69-20170801.vmdk

ssh password less login

esxi -4

/.ssh/authorized_keys

esxi 5+

/etc/ssh/keys-<username>/authorized_keys
/etc/ssh/keys-root/authorized_keys

vmdk file not seen when finding uploaded vmdk file

mv machine1.vmdk machine1.vmdk.uploaded
vmkfstools -c $(ls -la machine1.vmdk.uploaded | grep size) -d zeroedthick machine1.vmdk
mv machine1.vmdk.uploaded machine1.vmdk.uploaded machine1-flat.vmdk

view syslog settings

esxcli system syslog config get

set syslog server

esxcli system syslog config set --loghost=udp://rb-fluentd01.int.redbridge.se:5140

reload config

esxcli system syslog reload

disable firewall

esxcli network firewall set --default-action true

enable firewall

esxcli network firewall set --default-action false

list firewall rules

esxcli network firewall ruleset list

netstat

esxcli network ip connection list

mount

esxcli storage filesystem list

list of the physical drive paths to the controller installed in the system

esxcli storage core path list

list disks

esxcfg-scsidevs -c

read logfiles

ls -alrt /scratch/log/ | tail -20

top

esxtop

vib

List installed vibs.

esxcli software vib list

manage certs

Manage VMware Certificate Store (VECS) instances. Use these commands together with dir-cli and certool to manage your certificate infrastructure.

vecs-cli

vCenter Server Management

https://172.30.32.36:5480/#/ui/summary

arp list

esxcli network ip neighbor list

ping

vmkping 172.19.12.13

vm-support

Collect logfiles.

connect to postgres

psql -d VCDB -U postgres
pg_dump -U postgres VCDB --file=/tmp/postgres_backup

enable shell

shell.set --enabled true

curl

Function to get command.

curl_vmware_url_username_password(){
  local VMWARE_URL VMWARE_USER VMWARE_PASS 
  if [ ${#} -lt 3 ]; then
    echo "${FUNCNAME} vsphere_url username password."
    return 1
  fi
  VMWARE_URL="${1}"
  VMWARE_USER="${2}"
  VMWARE_PASS="${3}"
  VMWARE_KEY=$(curl -s -k -X POST https://${VMWARE_URL}/rest/com/vmware/cis/session -u "${VMWARE_USER}:${VMWARE_PASS}" | awk -F \" '{print $4}')
  curl -s -k -X GET -H "vmware-api-session-id: ${VMWARE_KEY}" https://${VMWARE_URL}/rest/vcenter/vm
  echo -e "\nExample command to use:"
  echo "curl -s -k -X GET -H \"vmware-api-session-id: ${VMWARE_KEY}\" https://${VMWARE_URL}/rest/vcenter/vm"
}

Login with cookie

curl -k -b /tmp/cookie-jar.txt https://vsphere.inter.net/api/vcenter/lcm/update/pending
curl -k -i -u 'administrator@vsphere.local:P@ssw0rd' -X POST -c /tmp/cookie-jar.txt https://vsphere.inter.net/rest/com/vmware/cis/session

Get vm:s

curl -k -X GET -H "vmware-api-session-id: $ID" https://<VCENTERIP>/rest/vcenter/vm

Datastores

curl -k -X GET -H "vmware-api-session-id: $ID" https://<VCENTERIP>/rest/vcenter/datastore