Category Archives: VMware

VMware

VMware CLI – sprawdzenie zajętości dysku virtualnego (maszyny wirtualnej)

Jest to świetny skrypt umożliwiający sprawdzenie zajętości dysku virtualnego. Jest on tym bardziej przydatny, ponieważ VMware Tools zainstalowany na maszynie wirtualnej nie posiada tej opcji.

# Establishing the connection to our vSphere object
$vm = Get-VM -Name $vmName
$vmView = $vm | Get-View
# Creating a new PowerShell custom object to easily output properties
$output = New-Object -TypeName PSCustomObject
# Adding desired properties to the new PowerShell object
$diskCommit = $vmView.Storage.PerDatastoreUsage.Committed
$diskUncommit = $vmView.Storage.PerDatastoreUsage.Uncommitted
Add-Member -InputObject $output -MemberType NoteProperty -Name UsedSpaceGB -Value ($diskCommit / 1GB)
Add-Member -InputObject $output -MemberType NoteProperty -Name ProvisionedSpaceGB -Value (($diskCommit + $diskUncommit) / 1GB)
$diskKey = $vmView.LayoutEx.Disk.Key
$diskCapacity = $vmView.Config.Hardware.Device | Where-Object {$_.key -eq $diskKey} | Select-Object -ExpandProperty capacityInBytes
Add-Member -InputObject $output -MemberType NoteProperty -Name CapacityGB -Value ($diskCapacity / 1GB)
Add-Member -InputObject $output -MemberType NoteProperty -Name GuestPath -Value $vmView.Guest.Disk.DiskPath
Add-Member -InputObject $output -MemberType NoteProperty -Name GuestCapacityGB -Value ($vmView.Guest.Disk.Capacity / 1GB)
Add-Member -InputObject $output -MemberType NoteProperty -Name GuestFreeSpaceGB -Value ($vmView.Guest.Disk.FreeSpace / 1GB)
# Viewing the output
$output

Źródło: https://www.kmruddy.com/2019/powercli-disk-space-utilization-vsphere-object/

Świetny blog!

 

vSphere vCenter Server Appliance 7.0 – problem z instalacją

Instalator vCenter 7.0 zawiesza się przy 80% (komunikat „Waiting for RPM”) mimo że rekord ESXi jest dodany do DNS, NTP jest skonfigurowany – czas jest poprawny, a na serwerze / macierzy jest wystarczająco dużo zasobów.
Rozwiązaniem problemu jest przywrócenie licencji trial na hoście ESXi, na którym jest instalowany vCenter Appliance. Można tego dokonać logując się na ESXi przez Putty i wydając polecenia:

rm -r /etc/vmware/license.cfg
cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg
/etc/init.d/vpxa restart

Źródło: https://support.vanersity.com/portal/en/kb/articles/to-reset-your-expired-esx-4-x-esxi-4-x-esxi-5-x-or-esxi-6-x-60-day-evaluation-license

Import obrazu VirtualBox VMDK do ESXi

Aby zaimportować obraz VMDK stworzony przez VirtualBOX do VMware ESXi należy:

  1. Utworzyć na ESXi nową maszynę wirtualną o nazwie np NOWA-MASZYNA;
  2. Usunąć z dysku (datastore1/NOWA-MASZYNA) pliki: NOWA-MASZYNA.vmdk oraz NOWA-MASZYNA -flat.vmdk;
  3. Za pomocą WinSCP przekopiować do katalogu datastore1/NOWA-MASZYNA stworzony w VirtualBOX obraz dysku Obrez_z_VirtualBOX .vmdk;
  4. Za pomocą komendy vmkfstools -i Obrez_z_VirtualBOX.vmdk -d thin NOWA-MASZYNA.vmdk przekonwertować obraz do formatu VMware.

ESXi Free kopia backup maszyny wirtualnej za pomocą pakietu GhettoVCB

Ze strony https://github.com/lamw/ghettoVCB/releases/ należy pobrać plik vghetto-ghettoVCB.vib u uploadować na hosta ESXi, np. przy pomocy interfejsu WWW (przy założeniu że nasza przestrzeń dyskowa nosi nazwę datastore1: storage -> datastore1 -> Datastore browser)

Z linii komend ESXi należy zainstalować w/w pobrany pakiet:

esxcli software vib install -v /vmfs/volumes/datastore1/vghetto-ghettoVCB.vib -f

Komendy związane z zarządzaniem pakietami, w tym przypadku ghettoVCB

esxcli software vib -n list ghettoVCB
esxcli software vib list|grep -i ghettovcb
esxcli software vib remove --vibname=ghettoVCB

Pliki konfiguracyjne znajdują się w folderze /etc/ghettovcb.
Skrypty odpowiedzialne za tworzenie kopii i przywracanie maszyny znajdują się w patalogu /opt/ghettovcb/bin.
W pliku ghettoVCB.sh należy edytować poniższe ustawienia:

VM_BACKUP_VOLUME – ścieżka do magazynu gdzie maszyna wirtualna ma być kopiowana;
VM_BACKUP_ROTATION_COUNT – liczba kopii danej maszyny wirtualnej, po przekroczeniu której najstarsza kopioa zostanie automatycznie usunięta;
ENABLE_COMPRESSION – kompresja obrazu maszyny wirtualnej do formatu ZIP.

Tworzenie kopii maszyny wirtualnej np. o nazwie Debian11

 ./opt/ghettovcb/bin/ghettoVCB.sh -m Debian11 

Tworzenie kopii wszystkich maszyn wirtualnych znajdujacych się na hoście ESXi

 ./opt/ghettovcb/bin/ghettoVCB.sh -a 

Przywracanie kopii zapasowej:

./opt/ghettovcb/bin/ghettoVCB-restore.sh -c /vmfs/volumes/SynologyNFS/Debian11/Debian11-2021-09-07_09-26-48/Debian11-flat.vmdk -d 1 -l /tmp/ghettoVCB-restore.log

Instalacja wtyczki Synology NFS VAAI na hoście ESXi w celu przyśpieszenia sprzętowego w magazynach danych Synology. Konfiguracja dysku NFS

esxcli software acceptance set --level CommunitySupported
esxcli software vib install -v /vmfs/volumes/datastore1/synology-nfs-vaai-plugin-1.2-1008.vib --no-sig-check

Konfiguracja dysku NFS

Name: SynologyNFS: 
NFS Server: IP_address
NFS share: /volume1/u

lub komenda:

esxcfg-nas -a SynologyNFS -o IP_address -s /volume1/u

UWAGA: NFS share jest ścieżką do zasobu, wyświetlaną w Synology w zakładce Uprawnienia NFS

Logowanie do ESXi 7.0 przez SSH bez podawania hasła

Wygenerowanie klucza w Windows:

ssh-keygen -t ecdsa -b 521

Wygenerowany klucze znajdują się w plikach: id_ecdsa oraz id_ecdsa.pub w folderze .ssh w katalogu domowym użytkownika.

Przekopiowanie zawartości pliku id_ecdsa.pub do pliku: /etc/ssh/keys-/authorized_keys

W pliku /etc/ssh/sshd_config należy zmienić (a jak nie ma to dopisać) następujące wpisy :

 PermitRootLogin yes
ChallengeResponseAuthentication no
PasswordAuthentication no
PasswordAuthentication można ustawić na yes jeśli użytkownik ma się logować w dwojaki sposób, tj. podając hasło oraz bez podawania hasła

Restart usługi

/etc/init.d/SSH restart

Teraz można wykonywać skrypty .cmd bez podawania hasła, np. skrypt do zrestartowania ESXi:

 ssh root@10.1.1.200 'reboot'

lub wyłączyć poszczególną maszynę wirtualną i zrestartować ESXi:

ssh root@10.1.1.200 'vim-cmd vmsvc/power.shutdown 5';'reboot';

gdzie numer maszyny wirtualnej można sprawdzić wpisując komendę:

vim-cmd vmsvc/getallvms

Źródło: https://kb.vmware.com/s/article/1002866