Скрипт массового изменения настроек заданий Veeam Backup

Скрипт берет список задач, которые бекапят сервера на виртуализации VMware и у которых параметр Enable VMware Tools quiescence не включен и меняет эту настройку на «Включено»
Import-Module Veeam.Backup.PowerShell
$jobs = Get-VBRJob | where {($_.Options.ViSourceOptions.VMToolsQuiesce -like 'False') -and ($_.TypeToString -like "VMware Backup")}
Foreach ($job in $jobs)
{
$options = Get-VBRJobOptions $job
$Options.ViSourceOptions.VMToolsQuiesce = 'True'
Set-VBRJobOptions -job $job -options $options
}

Скрипт вывода информации о занятом и выделенном дисковом пространстве в кластере vSphere

Get-Module -ListAvailable VMware* | Import-Module
$vcservers = "адрес сервера vSphere"
$username = "имя пользователя"
$report = @()
$Used = 0
$Unused = 0
$AllUsed = 0
$AllAllocated = 0
Connect-VIServer $vcservers -User $username -Password 'пароль пользователя'

$allvms = Get-Cluster -name ‘имя кластера‘ | Get-VM
foreach ($VMName in $allvms){
$Server = Get-VM $VMName | Get-View
foreach ($size_com in $($Server.Storage.PerDatastoreUsage).Committed) {
$Used += $size_com
}
foreach ($size_uncom in $($Server.Storage.PerDatastoreUsage).Uncommitted) {
$Unused += $size_uncom
}
$Used = [math]::Round((($Used)/1024/1024/1024),2)
$Unused = [math]::Round((($Unused)/1024/1024/1024),2)
$Allocated = $Used + $Unused
$row = «» | select ‘Имя сервера’, ‘Занято(ГБ)’, ‘Выделено(ГБ)’
$row.’Имя сервера’ = $VMName
$row.’Занято(ГБ)’ = $Used
$row.’Выделено(ГБ)’ = $Allocated
$report += $row
$AllUsed += $Used
$AllAllocated += $Allocated
}
$report | ft
Write-Host «Всего занято дискового пространства (ГБ): $AllUsed»
Write-Host «Всего выделено дискового пространства (ГБ): $AllAllocated»
Disconnect-VIServer $vcservers -Confirm:$False

Проблема с Zabbix Appliance

Проблема:
Скачал и установил готовый appliance от zabbix . Но с ним есть проблемы — при создании снапшота виртуальная машина перестает работать, а при запуске ее вновь ошибка Object type requires hosted I/O Failed to start the virtual machine. Module Disk power on failed. Cannot open the disk ‘/vmfs/volumes/5bcda19c-7fdf91a6-d95f-2c768aae1eb8/zabbix/zabbix_appliance-6.4.10-disk1.vmdk’ or one of the snapshot disks it depends on. После этого ее удается запустить только после исправления виртуального диска командой vmkfstools -x repair. Пытался изменить настройки виртуальной машины, вместо ide контроллера для диска выбирал SCSI, ошибка Unsupported or invalid disk type 7 for ‘scsi0:0’. Ensure that the disk has been imported. Failed to start the virtual machine. Module DevicePowerOn power on failed. Unable to create virtual SCSI device for scsi0:0, ‘/vmfs/volumes/5bcda19c-7fdf91a6-d95f-2c768aae1eb8/zabbix/zabbix_appliance-6.4.10-disk1.vmdk’. Снапшот на выключенной виртуальной машине делается без ошибок.
VMware ESXi, 7.0.3, 21424296
vCenter 7.0.3 22357613
Решение:
Смотрим что творится с дисками виртуальной машины:

Открываем содержимое диска, которое занимает меньше всего пространства и видим:


Видим, что тип диска Sparse, который имеет формат split, делящий диск на 2ГБ куски. Такой тип диска поддерживается  в работе Vmware Workstation. Чтобы корректно работать с ним на VMware Esxi необходимо выполнить конвертацию  диска:

vmkfstools -i zabbix_appliance-6.4.10-disk1.vmdk zabbix_appliance-6.4.10-disk1_new.vmdk

Добавляем новый диск к ВМ, вместо старого
Удаляем старый диск вместе с дескриптором:

vmkfstools -U zabbix_appliance-6.4.10-disk1.vmdk

Скрипт вывода в CSV занятого пространства на каждом датасторе для всех включенных виртуальных машин в кластере VMware

$VCServer = 'fqdn vcenter сервера'
$VC = Connect-VIServer $VCServer -User 'учетная запись vCenter' -Password 'пароль для учетной записи'
$report = @()
$allvms = Get-Cluster VM-Cluster05 | Get-VM | where {$_.PowerState -eq "PoweredOn"}
foreach ($vm in $allvms) {
$vmview = $vm | Get-View
foreach($disk in $vmview.Storage.PerDatastoreUsage){
$dsview = (Get-View $disk.Datastore)
$dsview.RefreshDatastoreStorageInfo()
$row = "" | select VMNAME, DATASTORE, VMUSED_GB
$row.VMNAME = $vmview.Config.Name
$row.DATASTORE = $dsview.Name
$row.VMUSED_GB = [math]::round((($disk.Committed)/1024/1024/1024),0)
$report += $row
}
}
$report | Export-Csv "C:\Temp\vm_ds.csv" -NoTypeInformation
Disconnect-VIServer $VC -Confirm:$False

Перенос виртуального сервера

Привет! В очередной раз перенес сайты onix.me и wiki.onix.me на новый хостинг. Теперь он называется NUXTCloud. Так что, если сайт будет долго не доступен, то меня не ругайте — это все провайдер 🙂 Шутка! Перенос осуществил из-за того, что Microsoft прекращает 11 января моей учетке выделять виртуальные деньги на ресурсы Microsoft Azure.

Так как у меня жаба душит оплачивать их дорогие услуги, да еще и заграницу, поэтому настроил новый сервер в самом недорогом хостинге. Так как у меня сайт без рекламы, поэтому все расходы оплачиваю со своего кармана. Не знаю с чем заканчивается предоставление услуг Microsoft — с общемировыми тенденциями или просто я давно не сдавал экзамены Microsoft — не в курсе, да это и не важно. В любом случае это было ожидаемо.

После восстановления vSphere не работает на нем сеть или ошибка Setting ip/ipv6 configuration failed: (‘ IP configuration not allowed’,)

Привет!
После восстановления из бекапа vCenter 7 вы можете попасть в такое состояние, когда на нем не работает интерфейс  управления, то есть vCenter не доступен по сети. Зайдя в его настройки можно увидеть, что в нем не задан шлюз по-умолчанию, а при попытке его задать и сохранить возникает ошибка:
Setting ip/ipv6 configuration failed: (‘ IP configuration not allowed’,).
Такая ошибка возникла у меня в ситуации, когда vCenter был подключен к порт-группе без эфемерных портов в распределенном коммутаторе. Так как этот коммутатор был создан на том же vCenter, который и был восстановлен, то он, по существу, не позволял подключить новый интерфейс в порт-группе на этом коммутаторе. Чтобы такого не было, надо заранее создавать порт-группу с эфемерными портами. Ну а если уже поздно, то надо действовать по инструкции  с сайта VMware и временно настроить обычный виртуальный коммутатор и подключать сеть виртуальной машины с vCenter к нему. После этого перезагружаем восстановленный Vcenter и шлюз по-умолчанию появится сам в настройках,  сетка на нем заработает.

Если недоступна миграция виртуальной машины в vCenter после ее восстановления

Привет!
Столкнулся с проблемой, что после восстановления из бекапа виртуальной машины в vCenter нет возможности ее мигрировать на другой хост или массив. Соответствующий пункт меню просто на просто недоступен. Не понятна причина такого поведения, т.к. с этим сталкиваются не все виртуальные машины, которые были восстановлены. Но есть способ как это починить, вот официальный мануал от VMware — https://kb.vmware.com/s/article/1029926

Слетают настройки ESXi после его перезагрузки

Недавно столкнулся с такой проблемой: ставлю на ProLiant BL460c Gen9 VMware ESXi версии 6.5.0 из образа VMware-ESXi-6.5.0-Update3-18678235-HPE-Gen9plus-650.U3.10.8.0.36-Oct2021.iso. Операционная система успешно ставится, я делаю первоначальные настройки: сети, имени хоста и т.п. и после хост перезагружаю. После перезагрузки все внесённые мной настройки слетают.
Нашел KB от VMware, где описывается похожая на мою проблема, правда с более старым билдом. Начал выполнять инструкцию по этой статье, Выполняю команду на ESXi: grep storage-path-claim /var/log/sysboot.log а затем grep 'mounted.*rw' /var/run/log/vobd.log|tail -1 и нужно определить разницу времени между первым и вторым событием. В статье упоминается про несколько секунд. У меня же это время было в районе 20-30 минут. Значит продолжение этой статьи нам не подходит. Что же делать? Так как ESXi у меня поставлен был на RAID-массив, то выясняем что за массив, какая версия прошивки и драйвера в ОС у него.
С помощью команды esxcli storage san sas list узнаем название адаптера, версию его прошивки и драйвера.  У меня он оказался RAID-контроллер Smart Array P244br, версия прошивки 7.20 и версия драйвера 65.0072.0.149. Если посмотреть на VMware Compatibility Guide для этого адаптера, то увидим, что
версия прошивки у нас стоит новее, чем требуется 🙂 Делаем downgrade прошивки. Я это делаю с помощью старого isо-образа ServicePack for Proliant для G9 серверов — P35938_001_spp-2021.05.0-SPP2021050.2021_0504.129.iso. После отката прошивки пробуем делать изменения в настройках ESXi и перезагружать его — настройки сохраняются. Ура!

VMware ESX unrecoverable error. EPT misconfiguration

Столкнулись с проблемой на одном из хостов виртуализации. При миграции с него виртуальных машин на другой хост виртуальная машина с большой долей вероятности перезагружалась. В логах хоста были подобные сообщения:
Error message on <VM_Name> on <HOST_Name> in <Datacenter_Name>: VMware ESX unrecoverable error: (vcpu-2) vcpu-3:EPT misconfiguration: PA 14f11e7f8
Поддержка Vmware обратила внимание, что в логе /var/run/log/vmkernel.log упоминается постоянно одно и тоже виртуальное ядро:
2023-06-02T17:51:18.058Z cpu24:527386)WARNING: World: vm 527386: 8726: vmm0:<VM_Name>:vcpu-0:EPT misconfiguration: PA 2020eb000
2023-06-02T17:51:57.933Z cpu24:527362)WARNING: World: vm 527362: 8726: vmm6:<VM_Name>:vcpu-6:EPT misconfiguration: PA 1a53f87f8
2023-06-02T19:07:30.107Z cpu24:525206)WARNING: World: vm 525206: 8726: vmm1:<VM_Name>:vcpu-1:EPT misconfiguration: PA bf13bf80
2023-06-02T23:10:06.672Z cpu24:535256)WARNING: World: vm 535256: 8726: vmm0:<VM_Name>:vcpu-0:EPT misconfiguration: PA 80578f7f8
2023-06-02T23:11:37.296Z cpu24:535777)WARNING: World: vm 535777: 8726: vmm2:<VM_Name>:vcpu-2:EPT misconfiguration: PA 3651f558
2023-06-03T00:45:52.563Z cpu24:527569)WARNING: World: vm 527569: 8726: vmm3:<VM_Name>:vcpu-3:EPT misconfiguration: PA 14f11e7f8

Оказывается есть  KB от Vmware с аналогичной ситуацией. Что делать?
1) Меняем физически процессорные сокеты местами (если у вас конечно 2 физ. сокета) и переусаживаем планки ОЗУ. Я поменял, в логах стали ошибки уже на ядре cpu56. Значит все верно, проблема в процессоре.
2) Меняем процессор (сокет). Мы заменили и ошибка после этого пропала. Проблема решена.

VMware VCSA «dracut: FATAL: FIPS integrity test failed»

Привет!
Вчера на ровном месте начала возникать ошибка в самом начале  загрузки appliance с VMware vSphere 7 (7.0.3.01500)
dracut: FATAL: FIPS integrity test failed

Временное решение, чтобы система загрузилась: нажать клавишу «E» в момент загрузки GRUB меню и в конце строки с параметрами загрузки системы написать:
fips=0

После этого система загрузится как обычно.
При следующей перезагрузке надо будет повторить данную манипуляцию. Пока проблема, получается, полностью не устранена. Буду в ближайшее время обновлять VCSA
P.S. После загрузки системы я проверял официальным методом — FIPS не включен.
Update от 13.09.2023 года: для решения проблемы необходимо:
1) зайти на vcenter под учеткой root
cd /boot/grub2/
vi grub.cfg
Добавить значение fips=0 после systemd_cmdline
2) При следующем обновлении vcenter, после перезагрузки выполнить команду "mkinitrd -q" в консоли vcenter и удалить параметр "fips=0" из загрузчика