VMWare ESXi
Installation Steps
- install ESXi onto the hardware (use unetbootin to create the image, don't follow the manual: it's shit)
- install VMWare vSphere client onto your PC
- Connect using the vSphere client
- In the server -> configuration -> Licensed Features (under Software) - Edit (on the right) and enter the license key: JM28P-8UJE1-68Z81-02ARH-81L04 (edgarbv) H401K-82H0M-K8F49-0H9A4-95CM0
- Create a datastore and on that create a directory .locker-HOSTNAME
- Go to Manage -> System -> Advanced settings and find ScratchConfig.ConfiguredScratchLocation edit this to be /vmfs/volumes/UUID/.locker-HOSTNAME
- now find Syslog.global.logdir and set this to the datastorename [platters]/.locker-HOSTNAME/log or via syslog.global.loghost (for remote logging)
Expanding HDs on a VM
Increase A VMware Disk Size (VMDK) Formatted As Linux LVM without rebooting You can only extend the current disk if you have less than 4 partitions
If it's a root volume you have to reboot with a Debian CD and enter rescue mode. Otherwise you may be able to extend without powering off
check if you can see the extra space
If you have increased the size of the disk
fdisk -l
parted
cfdisk
If not then you can rescan the scsi bus
ls /sys/class/scsi_device/ echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
Rescan for each device found.
If you have added a new disk
ls /sys/class/scsi_host/ echo "- - -" > /sys/class/scsi_host/host0/scan
It won't show any output, but running 'fdisk -l' will show the new disk.
extend an existing disk
parted print resizepart 2 <- NB this is the extended partition (enter max size to max size shown on print) resizepart 5 <- NB this is the logical partition on the extended partition (enter max size to max size shown on print) write quit vgscan pvscan pvdisplay
It should now show you that the physical volume has more space, as will vgdisplay
From here
Run this command to extend the physical volume: # vgextend VolGroup00 /dev/sda3 Note: To determine which volume group to extend, use the command vgdisplay. Run this command to verify how many physical extents are available to the Volume Group: # vgdisplay VolGroup00 | grep "Free" Run the following command to extend the Logical Volume: # lvextend -L+#G /dev/VolGroup00/LogVol00 Where # is the number of Free space in GB available as per the previous command. Use the full number output from Step 10 including any decimals. Note: To determine which logical volume to extend, use the command lvdisplay. Run the following command to expand the ext3 filesystem online, inside of the Logical Volume: # ext2online /dev/VolGroup00/LogVol00 Notes: Use resize2fs instead of ext2online if it is not a Red Hat virtual machine. By default, Red Hat and CentOS 7 use the XFS file system you can grow the file system by running the xfs_growfs command. Run the following command to verify that the / filesystem has the new space available: # df -h /
old info
By adding a new partition formatting it and then adding it to the VG
Turn off the VM, change the size of the disk in the settings. Start up the vm.
use fdisk /dev/sda to view the free space. If fdisk doesn't work, use parted or cfdisk.
Format the extra space as type 8e (LVM). Use vgextend and then lvextend to increase the size
adding new disks to a vm and booting
When you add a new disk, you may get an OS not installed / can't boot up error. This is because for some reason, esxi adds the new disk as scsi 0:0 (which is the first disk that wants to boot up). So you need to edit the new hard disk to scsi 0:2, the old one to 0:0 and then the new one to 0:1 again.
cloning VMs using the CLI
Cloning a virtual machine disk without delta files or snapshots To clone a virtual machine disk using the ESXi/ESX host terminal:
Log in to the terminal of the ESXi/ESX host.
Navigate to the virtual machine's directory using the cd command. It is located at:
/vmfs/volumes/source_datastore/virtual_machine/
Confirm the destination directory where the clone will be copied to. Create this directory, if required.
For example, if this destination directory does not exist:
/vmfs/volumes/destination_datastore/virtual_machine/
Create the directory using this command:
mkdir /vmfs/volumes/destination_datastore/virtual_machine/
Clone the virtual hard disk using the vmkfstools -i command after shutting down the virtual machine:
# vmkfstools -i /vmfs/volumes/Storage1/examplevm/examplevm.vmdk /vmfs/volumes/Storage2/examplevm_clone.vmdk
You see output similar to:
Destination disk format: VMFS thick Cloning disk '/vmfs/volumes/Storage1 (3)/examplevm/examplevm.vmdk'... Clone: 100% done.
Notes:
Encapsulate objects with quotes where appropriate to ensure spaces and other special characters are interpreted correctly.
By default, the vmkfstools -i command will create a destination thick provisioned disk. If you want the destination disk to be thin provisioned, add -d thin to the end of the preceding command.
For example:
# vmkfstools -i /vmfs/volumes/Storage1/examplevm/examplevm.vmdk /vmfs/volumes/Storage2/examplevm_clone.vmdk -d thin
Cloning a virtual machine disk with delta files or snapshots
To clone a virtual machine disk using the ESXi/ESX host terminal:
Log in to the ESXi/ESX host's terminal.
Navigate to the virtual machine's directory using the cd command. It is located at:
/vmfs/volumes/source_datastore/virtual_machine/
Confirm the destination directory where the clone will be copied to. Create this directory, if required.
For example, if this destination directory does not exist:
/vmfs/volumes/destination_datastore/virtual_machine/
Create the directory using this command:
mkdir /vmfs/volumes/destination_datastore/virtual_machine/
Clone the virtual hard disk from its current snapshot delta point using the vmkfstools -i command.
# vmkfstools -i /vmfs/volumes/Storage1/examplevm/examplevm-000003.vmdk /vmfs/volumes/Storage2/examplevm_clone.vmdk
You see output similar to:
Destination disk format: VMFS thick Cloning disk '/vmfs/volumes/Storage1 (3)/examplevm/examplevm-000003.vmdk'... Clone: 100% done.
Impact/Risks
Downtime during the clone procedure.
Additional Information
Additional steps for virtual machine disks with delta files or snapshots
The original virtual machine files are still intact without modifications. You may opt to either create a new virtual machine and attach the cloned disk file(s), or replace the existing disks attached to the virtual machine with the cloned copies. These steps encompass the latter option.
To replace the original virtual machine disk(s) and delta snapshot file(s) with the cloned copy or copies:
Detach the virtual hard disk from the virtual machine's configuration in the VMware vSphere or Infrastructure Client.
Attach the new (cloned) virtual hard disk, /vmfs/volumes/Storage2/examplevm_clone.vmdk to the virtual machine.
Rename the snapshot database (.vmsd) file for the virtual machine. At this time, it is no longer valid due to manipulation of the virtual machine's disk layout during troubleshooting:
# mv examplevm.vmsd examplevm.vmsd.old
Power on the virtual machine and confirm the guest operating system can boot successfully. Verify data integrity and confirm data is not missing or corrupt.
With the virtual machine still powered-on, you may remove the original disk files to free datastore space. Files in use by the powered-on virtual machine cannot be removed by the VMware ESX server. This can be used as a safeguard.
add new user
Go to local users and groups and right click on the screen to add a new user. The password needs to be 8 characters long.
Then go to permissions and right click on the screen to add a permission. Choose the assigned role and then add the new user (on the left)
auto start vm's
under the configuration tab for the machine, at "Virtual Machine Startup/Shutdown"
Choose Properties. You can configure the startup/shutdown here.
renaming the hostname / domain name
Changing the name of an ESX or ESXi host (1010821)
Or see join or leave AD below
using vsphere client
Select the Host machine, then tab configure. Under software choose VM Startup/shutdown. Press 'edit' top right. Move the desired machines into the boot order using the move up / move down.
starting from a cdrom or iso after OS has been installed
In advanced boot options change the bootup delay to 99999 milliseconds. Then when you start up the VM you can press esc to select a boot device
keyboard shortcuts for console
Ctrl+Shift+Insert Sends Ctrl+Alt+Delete
Ctrl+G Transfers mouse and keyboard input from the local machine to the virtual machine (same as clicking in the window) great for when you don't have a mouse handy
Ctrl+Alt+Enter Full Screen VM
Ctrl+Alt Unlocks mouse/keyboard from VM console window, also exists full screen mode
Ctrl+Shift+X Exit VM Console
installing tools on a VM
The tools allow you to do things like copy paste into the console. In order to install the tools, you mount a CD from the internal datastore. Choose the version for the OS you have. Mount the CD, then copy the contents to /usr/local/src and unzip them. Inside this directory you run the perl scripts. For Linux you will need the kernel headers package
Debian
apt-get install open-vm-tools
Resetting the password for ESXi
There is the Cisco Way and the
NB you will have to use udpkg to install gzip from the cdrom (find the deb and use udpkg -i file.deb). Also you will need nano editor because vi isn't installed with the rescue disk.
After the host was shut down, I booted up with the Linux live CD. I then ran the commands fdisk -l and ls -l /mnt/sda5/ / ls -l /mnt/sda6/ to determine the location of the most recent state.tgz file. Note that if you're using ESXi Embedded then you may only see local.tgz instead of state.tgz and you should then copy and recreate that file.
After determining where the most recent state.tgz file was located, this was copied to /tmp. gzip and tar were then used to extract local.tgz from state.tgz. If you're using ESXi Embedded then you will copy local.tgz to tmp and run gzip and tar on that file. Once local.tar was extracted the cd etc command was run followed by vi shadow
ssentially you'll want to have the root entry as root::13358:0:99999:7::: . Once you have removed the password hash, press ESC and to save the change type in :wq and press Enter. You can run cat shadow to confirm that the change was saved successfully.
Once the shadow file has been updated, you'll use cd .. to go back to /tmp and then run tar -czvf local.tgz etc to create the local.tgz file. If you're using ESXi Embedded then you'll copy this file to the drive where it came from in step 3. Otherwise you'll run tar -czvf state.tgz local.tgz to create state.tgz which should then be copied to the correct location. In the below image you'll notice that I don't always use the -v option with the tar command.
Once the file has been copied back to the /bootbank partition the host can be rebooted back into ESXi. You'll be able to login with the root account with no password and will be greeted with the familiar message to change the root password
Import VirtualBox harddisks
On your VirtualBox host create a clone of the VMs hard disk like that: vboxmanage clonehd in.vdi out.vmdk –format VMDK –variant Fixed,ESX
If your VirtualBox drive is allready a vmdk then in.vmdk
This creates two files. One with the actual data and the other holding a descriptor. If the virtual hard drive is not completely filled, zipping the image will dramatically reduce its size.
On your ESXi host create a new VM without hard drive. Use the advanced mode to do so.
Copy the hard drive image to your ESXi host by using scp (or similar). Place it (both files) into the directory of you newly created VM.
Edit the settings of your new VM and add that hard drive.
That’s all. Using this method your virtual hard drive should now be a SCSI hard drive as expected by ESXi even if it was a SATA drive in VirtualBox before.
From [1]
Import Windows 7 client from VirtualBox
Same as above, but change HD type from SCSI to SATA
Virtualdisk manager
This can be used to expand, shrink, repair, create, etc vmdk files
Download from vmware (vmware-vdiskmanager.exe is part of the The Virtual Disk Development Kit (VDDK)
Some examples of use can be found here
If the inventory tree views are no longer showing items and you can't click on the triangle any more, in 6.5 you can click on your username, go to settings and turn off show only recent objects
Updates
Updating the Hypervisor
https://tinkertry.com/easy-update-to-esxi-67
It comes down to this though:
- reboot before doing this - preferably power down
- upgrade VMSA (VmWare Server Appliance) if you have it
- dry run
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-8169922-standard --dry-run
- the real thing
<esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-8169922-standard>
- reboot
Updating the web interface
https://www.ivobeerens.nl/2018/05/01/configure-vm-autostart-in-the-esxi-embedded-host-client/
Note: The web interface is properly called the ESXI Embedded host client. Web client etc is used for the server appliance vCenter. You can tell the difference between the server appliance vCenter web interface and the embedded host client interface because the server appiance one has a black background and the embedded one has a blue background / border. vCenter is not free.
You can tell which version you have by looking at Help (top bar) -> about. It should show you the client and build version
The upgrade of the Host client is easy, no maintenance mode and reboot of the ESXi host is needed. The upgrade can be done by following these steps:
- Download the latest VIB https://labs.vmware.com/flings/esxi-embedded-host-client
- Upload the VIB on a datastore on your ESXi host
- SSH to the ESXi host
- Enter the following command to update the host client
esxcli software vib update -v /vmfs/volumes/datastore/vibname.vib
NOTE the path - it won't work if you cd to /vmfs/volumes/etc and then try to run ./vibname.vib
Also, presumably when you update the hypervisor you will probably also need to re-update the embedded host client.
Vmware Vcenter Server Appliance (VCSA)
When installing, make sure your SSO domain is different from your internal domain name, so use something like yourdomain.local. Most examples online use vshpere.local
Single Sign On (SSO)
change SSO password policy to never expires
Navigate to the Configuration UI.
From the Home menu, select Administration. Under Single Sign On, click Configuration.
Click Policies, select Password Policy, and click Edit.
Set maximum lifetime to 0
reset the SSO password
Log in to vCenter Server Appliance using SSH as the root user.
enter the shell
Run
/usr/lib/vmware-vmdir/bin/vdcadmintool
Press 3 to enter the Reset Account Password option.
a) It will prompt for an “Account UPN”
b) Enter administrator@vsphere.local
c) A new temporary password is generatedss4
You can use this temporary password to login to vCenter server and change the SSO password after login to vCenter server.
After login, Click on Administration>Single Sign On > Users
a) Right click on Administrator and select Modify
b) Change the password
We have successfully reset the vCenter SSO password.
SSO information
To find out your SSO domain, you can ssh in, log in, then:
shell
gets you into bash
cat /etc/vmware/install-defaults/vmdir.domain-name
or
/usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost
To get the site name
/usr/lib/vmware-vmafd/bin/vmafd-cli get-site-name --server-name localhost
To find out which AD account is used to connect to Active Directory
cat /etc/vmware/install-defaults/ad.domain.username
SSO can also fail if time is out of sync with the domain controller.
To check
log file location
/storage/log/vmware/sso/vmware-sts-idmd.log
/storage/log/vmware/sso/websso.log
or /var/log/vmware/sso
other bits
resetting root password (for SSH access)
To reset the lost forgotten root password in vCenter Server Appliance 6.5: Take a snapshot or backup of the vCenter Server Appliance 6.5 before proceeding. Do not skip this step. Reboot the vCenter Server Appliance 6.5. After the OS starts, press e key to enter the GNU GRUB Edit Menu. Locate the line that begins with the word Linux. Append these entries to the end of the line: rw init=/bin/bash Press F10 to continue booting. Run the mount -o remount,rw / command. In the Command prompt, enter the command passwd and provide a new root password (twice for confirmation): passwd Unmount the filesystem by running this command: umount / Reboot the vCenter Server Appliance 6.5 by running this command: reboot -f Confirm that you can access the vCenter Server Appliance 6.5 using the new root password. Remove the snapshot taken in Step 1 if applicable.
join or leave AD
Join or Leave an Active Directory Domain
If you do this, then make sure that the hostname of the esxi machine is resolvable. You can do this in vsphere by clicking on the machine, tab configure, under networking TCP/IP configuration, then select the Default system stack line. You can see the hostname, domain name and DNS servers. You can edit these using the edit button above the lines, below the TCP/IP Configuration title.
On the esxi host website, you can select Default TCP/IP stack under Networking and click 'edit settings' above the icon / Default TCP/IP Stack icon
Otherwise you may run into ESX/ESXi hosts fail to scan in vCenter Update Manager 4.1.x, 5.x, and 6.0 (2007398)
Check and restart VCSA services
To List all the Services in vCSA appliance
service-control --list-services
To check a status of all services you can enter the following command:
service-control --status
List services and their status
If you see a service which has stopped and you’ll need to restart it, then simply go and enter this command: (example of vpxd service)
service-control --start vpxd
to stop is also simple
service-control --stop vpxd
You can also do stop all services, and then start them all. They’ll stop and start by keeping their dependency. This allows to completely restart all vCenter services without restarting the whole appliance.
Type this:
service-control --stop --all
and then this:
service-control --start –all
The start of all services takes time because they have to initialize and also the dependencies one with another is assured automatically, so be patient. In my own testing, it took me about 5 min until all services have restarted completely.
some tips and tricks NOTE - he is talking about using the web client, ie the flash client in the GUI section
Different clients
Starting with VMware vSphere 6.5 there are mainly two different “Web Client”:
the vSphere Web Client (based on Flash and introduced in vSphere 5.0) (blue background top) the new HTML5-based vSphere Client (with the same name of the legacy Windows client, for this reason, we simply call it HTML5 vSphere Client) (black background top)
But there are also other web clients, for most specific use cases:
the Appliance Manager UI (VAMI): used to manage the configuration of the virtual appliance, in case you are using the vCenter Server Appliance (vCSA) for the vCenter Server and/or the Platform Service Controller (PSC) the PSC UI: specific for the management of the PSC components, especially the certificate management and SSO management. This interface is available only on embedded or external PSC nodes. the Host Client: an HTML5 web client for the host management, if you don’t have the vCenter Server running or if you have standalone hosts
Web Client URL Scope
vSphere Web Client https://vCenter_FQDN/vsphere-client Entire infrastructure
vSphere Client https://vCenter_FQDN/ui Entire infrastructure
VAMI https://vCSA_FQDN:5480 vCSA configuration (NOTE, for me this is https://VCSA_IP:5840)
PSC UI https://PSC_FQDN/psc PSC configuration
Host Client https://ESXi_FQDN/ui Single host management
From Is the html5 vsphere client finally mature?