VMware vSphere, ESXi

 
  • VMware vSphere, ESXi
  • Смонтировать VMFS в Linux
  • Чтобы использовать USB в качестве датастора
  • Технологические принципы виртуализации
  • How to save passwords for android horizon client
  • VSAN cache drive
  • cloud-init
  • Установка Tanzu
  • Crontab in ESXi

    Если интранет использует IP 172.17.* VSAN Fileservice не заводится

  • Смена протухшего пароля root в vcenter 7.0
  • Установка Power-CLI 7.0
  • Максимальная скорость VMotion
  • Cannot vMotion VM attached to switch with no uplinks configured
  • Гостевой UNMAP/TRIM
  • Включение LLDP и CDP на стандартном свитче
  • Horizon Federation
  • Horizon UAG
  • Tanzu
  • Расширение VMFS с помощью commandline
  • Виды network в vCloud Director
  • NSX активация DHCP Server
  • NSX DNS redirectors АКА "DNS Service"
  • Как удалить зомби-дисковые группы из мертвого VSAN
  • Полный день сурка для VM
  • Как держать Виндовую VM в прошлом времени
  • Установка апдейтов на VCSA
  • Тонкости с VRA. Назначение размещения по стораджу
  • Автоматическое гашение виртуалок потерявших диск в VSAN
  • Размер системной партиции OSDATA в ESXi 7.0
  • Оптимизация скорости VMotion
  • Оптимизация сетевого стека для "быстрых сетевых" VM
  • Про LACP on VDS
  • NSX logging
  • Чтобы ESXi пускал ssh'ем непривелегированного пользователя
  • Что нового в NSX 6.5
  • Как проинсталлировать ESXi на хост с памятью меньше 4Gb
  • Как вытащить VM из swap'а в ESXi 6.x
  • MAC learning в DVS 6.7
  • Параметры в .vmx, оптимизирующие скорость сети
  • Как увеличить служебные файловые системы в Vcenter 6.5
  • Алгоритмы VMotion для разных версий vSphere
  • Смена дефолтных портов VC и ESXi
  • Password reset в vRealize Log Insight
  • Чтоб работать с ESXi 6.5 старой версией vsphere-client
  • Начальное конфигурирование vSphere Data Protection
  • Автостарт в ESXi привязывается по именам VM, а не по их ID
  • Самонастраиваемый OVF-appliance с nested ESXi
  • Healthchek в VDS
  • Тест скорости сетевых интерфейсов ESXi-хоста
  • HA advanced configuration options
  • SRM: IP configuration для recovered VMs
  • SRM: Пакетная генерация IP-config'ов для Recovery Plan
  • Где записаны зарегистрированные VM
  • firewall: управление командой esxcli
  • Доступ к PSC UI
  • Hidden CBRC (Content-Based Read Cache
  • v6.0 Работа с пользователями ESXi из командной строки
  • v6.0 TPS
  • Unlocking and resetting the SSO administrator password (2034608)
  • Ручное копирование vmdk-файлов
  • Если в базе VC переполняются таблицы Events и Tasks
  • Как бекапить и переносить inventory-tree с об'ектами VC-server
  • Работаем с VMFS5
  • Sysprep
  • Глюки с сертификатами в SRM 5.8
  • SMP-FT в 6.0
  • Получить список всех снапшотов с помощью PowerCLI
  • Что нового в vsphere 6.0
  • Custom tcp stack на ESXI 6.0
  • ESXI 6.0 настройки password lockout
  • VCVA 6.0 Menu
  • 65% скидка на экзамен VCP6 для тех, кто проапгрейдил свой VCP5.5
  • Port mirroring в Distributed Switch
  • Советы и хитрости по использованию WebClient
  • Вендорские образы ESXi
  • Запрет Large pages для отдельной VM
  • Как ESX определяет moved/copyed VM
  • Рекомпиляция модулей VMware Workstation после замены linux-kernel
  • Проблема с nopersistent independent disk
  • More info about Snapshots
  • Vmware Replication initial configuration
  • Подключение VC Server к external SSO
  • VDP initial configuration
  • Hands-n Labs - бесплатная демонстрация продуктов VMware
  • Browser warning: self-signed certificate of vCenter Web Client
  • 32-битный ODBC для Update Magager
  • Alarm action run script
  • Добавление apliance в AD-домен
  • Скидка 25% на экзамен VCP в 2014 году для тех, у кого есть VCP
  • WWW mob API for ESXi
  • Бесплатные бекапилки для vSphere и Free ESXi aka vSphere Hypervisor
  • Remote и Local Диски в Nested ESX
  • Проблемы с virtual hardware version 10
  • Хозяйке на заметку: 10Гбит для дома
  • Как сделать слабый пароль пользователю ESXi
  • Корректное клонирование ESXi - на флешку или Nested
  • Миграция VM воткнутой в Internal switch
  • Переезд с Windows VC на Linux appliance VC
  • Roud Robin для всех
  • Vmware-tools for nested-esxi 5.0, 5.1, 5.5
  • Mem.MinFreePct - amount of the memory should keep free
  • Redirecting vmware.log to ESX syslog
  • Emulating an SSD Virtual Disk in VM
  • Интеграция HP Data Protector - не работает SAN и HotAdd
  • Как сбросить забытый пароль admin@System-Domain в SSO 5.1
  • Почему не включается Streaming ThinApp'ов
  • Запуск Windows 2008 и Windows 8 на ESXi4.1
  • Чтоб vmk0 автоматически получал MAC от своего vmnic
  • Как погасить дисплей, подключенный к ESXi
  • VCP exam скидка 50% в 2013
  • Поставить VM на паузу
  • Hyper-V in VMware VM
  • Передача в VM информации о платформе ("проброс BIOS")
  • View: Вычеркивание несуществующего connection или security server'а
  • Доступ к экрану View-сессии через vsphere console
  • Copy/paste в консоли VM
  • 5.1 Переименование vmdk-файлов при миграции VM
  • Расположение дистрибутивов vmware-tools в ESXi
  • V51: 15 секундная задержка при открытии console у VM
  • V51: подробности про Single Sign On
  • V5: настройка SNMP
  • V5: команды по мониторингу дисков
  • Файл webclient.properties
  • Загрузка VM с USB в Vmware Workstation
  • Автоматическое скриптовое конфигурирование свежезадеплоеного VCSA
  • Копирование VM с хоста на хост с помощью ovftool by William Lam
  • Ghosted-ethernets в Windows
  • Конфигурирование software FCoE
  • Активация Perfmon DLL и подгрузка esxtop-csv в Perfmon
  • Как сделать самопальный .vib
  • Самодельный VIB-пакет с файрвольным правилом
  • Добавление пользовательских портов в firewall ESXi 5, 6
  • Перманентное сохранение настроечных файлов в ESXi 5.0
  • Схлопывание тонкого диска
  • Место хранения лицензии на ESX-сервере
  • Подключение ленточных библиотек в VM
  • Создание снапшотов из командной строки ssh
  • Автоматическое создание и удаление снапшотов
  • Snapshot parameters
  • HA VM and VM&Application monitoring
  • Vmware Data Recovery
  • Serial Port connection
  • Virtual Serial Port Concentrator
  • Коротко про View Persona Management
  • VM cannot allocate memory при большом об'еме vmdk
  • Создание DB-instance в Oracle для VCSA
  • Advanced настройки управляющие памятью
  • Внутри VM читаем информацию о настройках vApp, IP pool и OVF environment
  • Linked-clone своими руками
  • Beacon probing по двум аплинкам: револьверный режим
  • Просмотр информации о хардвере ESXi 5.0
  • Установка апдейта в vSphere 5.0
  • Что почитать про vSphere
  • VADP: vSphere storage APIs for Data Protection
  • VAAI: vSphere storage APIs for Array Integration
  • Как назначить локальному SATA диску фальшивый атрибут SSD
  • Чтобы ESXi не жаловался на включенный SSH
  • HA/DRS 5.0 advanced options
  • Частота прерывания таймера в Linux
  • Размещение снапшотов
  • Configuring Auto Deploy on the vCenter Server Appliance
  • 5. Настраиваем Autodeploy с помощью PowerCLI
  • Image Builder
  • Если DPM не выключает хосты
  • Чтоб vsphere-клиент при выборе LUN для RDM/VMFS показывал все LUN
  • Оффтопик. Скриптинг в win-cmd
  • VDS - конфигурирование без VC
  • Превращение VM с 4-vcpu в VM с двумя двухядерными процессорами
  • Как уменьшить размер виртуального диска
  • Просмотр ARP-таблицы в ESXi
  • Как обнулить пароль в ESX и ESXi
  • Как восстановить удаленный VMFS3
  • Переназначение snapshot'ов и swap'а на другой сторадж
  • Установка updates в ESXi
  • vim-cmd для ESXi
  • Реконфигурация сети у vMA
  • FT машины не обслуживаются DRS-кластером
  • View: если зависает QuickPrep Customization на Win7
  • Как выполнить команду внутри GUEST OS
  • Инсталляция ESXi по сети
  • Назначение локального SATA-диска в RDM для ESXi
  • esxcli в vSphere 5.0
  • Активация dependend-hardware iSCSI (broadcom chip)
  • Назначение нескольких vmk для доступа к iSCSI
  • Маскировка LUN в vSphere 4
  • Активация SNMP-агента в ESXi 4
  • Сетевая PXE инсталляция ESXi 4.1
  • Делаем USB-флешку для инсталляции ESXi 4.1 с USB
  • Если соседские VC генерят разным виртуалкам совпадающие mac-адреса
  • vSphere 4.1 - что нового
  • VM с многоядерным процессором
  • Как задать неvmwar'ный МАК-адрес для VM
  • Как опознать ESX-хост, который заблокировал файл у VM
  • HA 4.1 рестарт VM
  • HA admition control
  • Advanced Configuration parameters for HA
  • LUN маскинг в V4
  • Distributed switches
  • Генерация лог-бандла на ESX 4
  • vsish

    * vSphere 4 *

  • vCLI
  • vMA(vmware managemet appliance) - настройки и использование
  • Установка vCSHB - VC Server Heartbeat
  • Открыть доступ к консоли esx-VM через VNC
  • Бэкап конфигурации ESXi локально через VIM-CMD
  • Бэкап конфигурации ESXi через RCLI (устарел)
  • Что такое vShield Zones
  • Настройка VM для установки в нее ESXi5
  • Настройка VM Workstation 7.0 для установки в нее ESX4
  • Настройка VM для установки в нее ESX4
  • В V4 перестала работать скриптовая инсталляция
  • Как открыть root'доступ в vMA
  • how can i view which physical nic each VM's vNic maps to
  • Distributed switch: ephemeral vs dynamic port binding
  • FT - экономим netw - secondary может самостоятельно вести disk IO
  • FT - список совместимости
  • vApp IP settings do not directly influence anything
  • Вернуть аплинк из дистрибутед свитча обратно обычному, с SC-портом
  • Временная зона в ESX 4

    * Vi 3.5 *

  • Активация unsupported в ESXi
  • SSH доступ к ESXi
  • Что нового в VI4 aka vSphere aka NextGeneration VI
  • Если в VI Client не открывается консоль виртуальной машины
  • Если клавиатура в консоли VM двоит
  • Как остановить виртуальную машину
  • Как установить в ESX 3.5 Storage VMotion
  • Как добавить пользовательские дравера на Convertor Cold Clone CD
  • Как ограничить IP-доступ к виртуальному центру
  • Создание и управление VMFS-стораджами
  • Работа со стораджами
  • Файлы, из которых состоит VM
  • Distribudet Lock Handling Host-блокировки на VMFS3
  • Монтаж стораджей, и стораджи на LUN-снапшотах
  • Модули, драверы и их настройки
  • Работаем с virtual-свитчами
  • Как прописать себе права админа VC, если Администратор стал ReadOnly
  • Как переименовать ESX-сервер 3.5
  • Scripted installation KS file for ESXi4.1

  • Примеры использования командной строки, технические подробности © 2008-2022 Составитель сборника М.Е.Мошков

    Смонтировать VMFS в Linux


    yum install vmfs-tools vmfs6-tools vmfs-fuse /dev/sdb1 /vmfs5-mountdir vmfs6-fuse /dev/sdc1 /vmfs6-mountdir vmfs-fuse /dev/sdb1 /dev/sde1 /vmfs5-mountdir-me # multyextent mount

          В openSUSE vmfs-tools лежит в отдельном репозитории https://download.opensuse.org/repositories/filesystems/15.5/filesystems.repo https://download.opensuse.org/repositories/filesystems/15.6/filesystems.repo
    zypper addrepo \ https://download.opensuse.org/repositories/filesystems/15.5/filesystems.repo zypper lr zypper pa -ir "filesystems"

    Чтобы использовать USB в качестве датастора


    По умолчанию все usb-устройства перехватываются сервисом usbarbitrator для обеспечния проброса их в VM. Если USB-диск не перехвачен - он распознается как обычный локальный диск, и пригоден для датастора.
    Три варианта: 1) отменить перехват по конкретному устройству/порту, 2) прицелить USB Quirck по DeviceID, 3) задисеблить usbarbitrator
    1) Выяснить Bus : Dev : vendorId : productId
          esxcli hardware usb passthrough device list
          esxcli hardware usb passthrough device disable -d 1:4:1058:1140
          # NB! не сработает, если воткнуться в другой USB-порт
    2) Выяснить DeviceID (в формате 0xDEVICEID:oxVENDORID)
          lusb
          esxcli system settings advanced set -o /USB/quirks \
          -s 0x1058:0x1140:0:0xffff:UQ_MSC_NO_UNCLAIM
    3) Полное отключение USBarbitrator
          ESX > Configure > System > Advanced System Settings
          USB.arbitratorAutoStartDisabled == 1
          или:
          /etc/init.d/usbarbitrator stop
          chkconfig usbarbitrator off
    4) Выяснить, какое название получил обнаруженный USB-диск
          esxcli storage core device list |grep '^mpx' -A3
    5) Датастор можно создавать как через GUI, так и коммандлайном

          DISK="/vmfs/devices/disks/mpx.vmhba34:C0:T0:L0"
          partedUtil mklabel ${DISK} gpt

          GUID=BB42E02A400F11DB9590000C2922E3C9
          partedUtil "setptbl" "${DISK}" "gpt" "1 2048 $(eval expr $(partedUtil getptbl ${DISK} | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1) $GUID 0"
          vmkfstools -C vmfs6 -S usbdrive ${DISK}:1

          Если датаастор не монтируется автоматически (т.к. распознан как снапшот)

          esxcli storage vmfs snapshot list | grep UUID
          esxcli storage vmfs snapshot mount -u 583b1a72-ade01532-55f6-f44d30649051

    Технологические принципы виртуализации


    Виртуальная машина как исполнитель программного кода. Процессорные команды обращения к аппаратуре. Управление выполнением в процессоре. CPU: Перехват "ключевых" команд. Паравиртуализация, софтверная виртуализация, аппаратная поддержка виртуализации CPU. CPU: Многопроцессорность. Co-scheduling: независимый, жесткий, мягкий. Memory: виртуальная память процесса, подгрузка данных из RAM, TLB, таблица размещения виртуальной памяти процесса. Memory: софтверная трансляция таблиц, аппаратная поддержка виртуализации памяти. Оптимизация. Hyperthreading. Оптимизация. NUMA Оптимизация. Паравиртуальная аппаратура. Оптимизация. Проброс физического железа в виртуалку Виртуализация жестких дисков. Прямой проброс, толстое выделение, тонкие диски.

    How to save passwords for android horizon client



          Start ADSI on VC
          Connect to DC=vdi,DC=vmware,DC=int -- localhost:389
          OU=Properties,OU=Global,CN=Common -- pae-ClientCredentialCacheTimeout
          0 = disable, N = N minutes, -1 = forever

    VSAN cache drive


    Для гибридной конфигурации VSAN размер кэш-драйвов рекомендуется в 10% от исходных пользовательских данных.
          Используется: 70% read-cache
          30% write-bufer
    В all-flash кэш-драйв используется только под write-bufer, и технически его размер может быть незначителен, достаточный для удержания врите-бурста.
    Однако write-bufer получает ssd-writes столько же, сколько все capacity- drives дисковой группы вместе взятые, и актуальным становится не размер диска, а его TBD, который, впрочем, пропорционален размеру диска.
    Максимальный размер кэша на одну DG в VSAN 6 и 7 ограничен - 600 Gb, в VSAN 8 on-disk 17+ кэш по умолчанию ограничен 600 Gb, но можно ограничение отключить:

          # esxcfg-advcfg -s 1 /LSOM/enableLargeWb # SET
          # esxcfg-advcfg -g /LSOM/enableLargeWb # get

    cloud-init

    Подготовка образа VM с cloud-init:

          CDROM виртуалки должен быть в "transparent mode"
          yum|dnf|zypper install cloud-init # проинсталлировать
          systemctl enable cloud-init-local cloud-init cloud-config cloud-final
    # взведение на first-boot
          cloud-init clean --log --machine-id
          shutdown -r now
    # Для загрузки БЕЗ вызова cloud-init добавить в кернел-параметры
          cloud-init=disabled
    touch /etc/cloud/cloud-init.disabled

    Установка Tanzu


    https://cormachogan.com/2020/09/29/deploying-tanzu-kubernetes-guest-cluster-in-vsphere-with-tanzu/
    Важный нюанс - обязательно должен быть прописан роутинг с primary workload до extended-workload сеток, и пропуск в фиревалл портов 6433 и 30000-32000
    А так же все добавляемые extended-workload-сетки должны быть записаны в конфиг-файл (по нему ха-проьы активирует в appliance необходимый роутинг) Без заполнения конфига роутинг до extended-workloads будет отправляться через манагемент-интерфейс HA-proxy

    Crontab in ESXi

    Кронтаб уже используется в ESXi, его конфиг можно редактировать VI и перезапустить crond
    vi /var/spool/cron/crontabs/root
    kill `cat /var/run/crond.pid` /usr/lib/vmware/busybox/bin/busybox crond

    Если интранет использует IP 172.17.* VSAN Fileservice не заводится


    vsanfs-ноды поднимают nfs и samba-серверы контейнерами в локальных докерах. Контейнеры получают IP по умолчанию - 172.17.0.* - при пересечении с внешними рабочими диапазонами возникают проблемы (доступа клиентов, роутинга, DNS, AD...)
    Хак: На каждой ноде в файле /etc/docker/daemon.json прописать (а после каждого обновления - перепрописывать)
    { "default-address-pools": // диапазон IP для контейнеров [{"base":"192.168.5.0/24","size":24}] // вместо дефолтного 172.1[7-9].*.* }

    Смена протухшего пароля root в vcenter 7.0


    ssh 'administrator@vsphere.local'@vcenter.address
    Command> localaccounts.user.password.update --username root --password

    Установка Power-CLI 7.0



          https://code.vmware.com/web/tool/vmware-powercli
    # распечатать каталоги для размещения PCM-модулей $env:PSModulePath # Вскрыть ZIP с модулями в одной из перечисленных папок
    # Прописать разрешение на добавленные каталоги Get-ChildItem -Path 'folder_path' -Recurse | Unblock-File
    # Verify that the VMware PowerCLI modules have installed successfully. Get-Module VMware* -ListAvailable

    Максимальная скорость VMotion


    В версиях ниже 7 один vmotion vmknic разгонялся не выше 18Gbit/sec и для получения полной полосы на 25 и 40Gbit-ных аплинках нужно делать 2 и 3 vmo- tion-vmknic соответственно.
    Начиная с v7update2 один vmotion-vmknic может заполнить до 100Gbit.

    Cannot vMotion VM attached to switch with no uplinks configured


    Это дефолтное поведение. Чтоб от него отказаться, вписать в VC Advanced Setting:
    config.migrate.test.CompatibleNetworks.VMOnVirtualIntranet = false

    Гостевой UNMAP/TRIM


    ESXi поддерживает гостевой unmap на RDM и thin, и не поддерживает для thick
    son lsblk -D # рапорт поддержки UNMAP дисками - ненулевые DISC-GRAN DISC-MAX NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO nvme0n1 0 512B 2T 0 # ДА sda 0 0 0 0 # нет


    Включение LLDP и CDP на стандартном свитче

    # CDP esxcfg-vswitch -B [none|both|listen|advertise] vSwitch1 # управление CDP esxcfg-vswitch -b vSwitch1 # посмотреть CDP
    # LLDP # vsish cd /net/portsets/vSwitch0 ls ports # look at clientName:vmnic2, clientType: Physical NIC, flag UPLINK get ports/33554437/status get ports/33554439/status set ports/33554437/lldp/enable 1 set ports/33554439/lldp/enable 1

    Horizon Federation


          Pool Scope:
          Within POD десктоп ищется только в текущем POD, если в нем нет - отказ
          Within Site в текущем POD, затем в других POD сайта, и на них нет - отказ
          Global в текущем ПОД, затем в том site, затем в остальных, если нет - отказ
    Если десктопы(ы) для пользователя уже есть, и он(и) находится в соответствии со SCOPE - берем тот, что нашелся, где бы он не был
    Запуск и авторизацию дектопа обеспечивает CS-владелец Туннель до десктопа обеспечивает CS-подключения

          Если один и тот же десктоп entitled пользователю и через GlobalEntitlement и через LocalEntitlement, то в списках доступны подов на клиенте декстоп показывается дважды, через обе иконки попадаешь в тот же десктоп.
    Пересечение LocalEntitlement и GlobaEntitlement вызывает шизофреническую чехарду, десктоп поднятый через LocalEnt - передается в список Global, и наоборот

    Horizon UAG

    Поскольку UAG со своего URL светит сертификатом выписанным на домен CS -
          в клиент setting SSL придется выставить в "No verify"
    Двойной туннель на UAG возможен для PCoIP, и не работает по Blast/RDP При применении UAG: на CS PCoIP tunnel: можно включить, можно отключить При применении UAG: на CS Blast tunnel: Only HTML access

    Tanzu

    Количество мастер-нод в Tanzu Supervisor-кластере можно уменьшить VC:/etc/vmware/wcp/wcpsvc.yaml Set "minmasters" and "maxmasters" to 2

    Расширение VMFS с помощью commandline


    https://kb.vmware.com/s/article/2002461
    Obtain the device identifier for the Datastore to be modified. # vmkfstools -P /vmfs/volumes/Datastore_name
    partedUtil check existing partition on VMFS volume (should be one partition). # partedUtil get "/vmfs/devices/disks/mpx.vmhbax:Cx:Tx:Lx"
    Use partedUtil to get usable sectors and resize parition. # partedUtil getUsableSectors "/vmfs/devices/disks/mpx.vmhbax:Cx:Tx:Lx" (NB: NewEndingSector = 16879000 - 1 # Т.к. нумерация секторов начинается с 0)
    # partedUtil resize "/vmfs/devices/disks/mpx.vmhbax:Cx:Tx:Lx" \
          PartitionNumber OldStartingSector NewEndingSector
    Grow the VMFS Datastore in to the new space using the vmkfstools --growfs # vmkfstools --growfs "/vmfs/devices/disks/Device:partition" \
          "/vmfs/devices/disks/Device:partition"
    For example: # partedUtil resize "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" \
          3 10229760 16878999 # vmkfstools --growfs "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0:3" \
          "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0:3"
    Execute to perform a refresh of the VMFS volumes by running this command: # vmkfstools -V
    Validate that the size of the VMFS Datastore has increased # df -h

    Виды network в vCloud Director


    1. External Networks -- пробрасывает в Provider Portal из vSphere
          стандартные и VDS портовые группы. Присваивает им vCloud'ные имена.
          может "склеивать" по одной портгруппе от разных VC
    2. Network pools. Механизмы для генерации внутренних сеток для Organization.

          vxlan - клепает LogicalSwitch в конкретной Транспортной Зоне NSX-V
          geneve - клепает Segment в конкретной Транспортной Зоне NSX-T
          VLAN - клепает VLAN-портгруппу на конкретном VDS, назначая ей VLAN из пула
          поргруппы - берет одну из заданного множества уже созданных портгрупп на VDS
          NSX-T ...
    3. OvCD-network - задаются для OvDC. Shared OvDC-network видна во всех OvDC
          тенанта(Organization).

          From "External Network". Присваивает собственное внутритенантовое
          название. Создать может только администратор VCD

          Organization-Network - создается админом тенанта, внутри Network-pool
          Internal - просто сетка L2. В нее автоматически втыкается создаваемый невидимый служебный Edge для обеспечения DHCP(только dhcp)

          Organization-Network Routed - сетка L2. В нее втыкается какой-нибудь из
          существующих OvDC-Edge, на выбор tenant-админа. Этот Edge роутит друг с
          другом все подключенные Routed-networks, сливает их трафик "на север"
          по аплинкам.
          OvDC-Edge может обеспечить для подключенных сетей полезные
          Services: firewall, dhcp, dns, NAT, LB, L2VPN...
    4. VAPP-Network. Каждому vApp админ назначает несколько vAPP-сеток.
          VM'ки vAPP можно подключать только в назначенные vAPP-network.

          Organization - подключение в "общую сеть"

          vAPP-net - персональная, видимая только в этом vAPP сетка, создается в
          Network-pool, со своим Subnet и личным GW.

          vAPP-net CONNECTED to OrgNet - персональная, видимая только в этом vAPP
          сетка, со своим Subnet и личным GW. Для нее делается личный невидимый
          служебный Edge, который будет NAT-ировать трафик с vApp-net в Org-net. Для
          каждой VM из vApp назначается личный "External IP" из Org-net IP-Pool'а,
          делается Reflexive-NAT VM-IP <==> External-VM-IP
    5. vApp with "Fenced Network" - когда мы опасаемся, что IP, назначенные внутри vApp могут пересечься с чужими vApp на одной и то же Organzation-net- work, можно включить vApp'у Fencing (отгораживание)

          Делается вид, что VM'ки подключены в Ogr-net, получают IP из Org-net IP- pool, на самом деле создается служебный "vAPP-net CONNECTED to OrgNet", и трафик VM'ок передается в Org-net сквозь невидимый служебный Edge, который заряжает Proxy-Arp на связующих интерфейсах, и заодно NAT'ит трафик с "официальных" IP на "External IP"

    NSX активация DHCP Server

    1. Add DHCP Profile:
          Type: DNS Server; Server IP (не должен пересекаться с IP сегментов); Edge Cluster; 2. В свойствах роутера: Set IP Address Management: Type: DHCP Server; DHCP Server 3. В свойствах сегмента: Edit DHCP Config -- > DHCP Range; DNS Servers; 4. На ubuntu: /etc/network/interfaces iface ens160 inet dhcp
          ifdown ens160 ; ifup ens160

    NSX DNS redirectors АКА "DNS Service"

    DNS редиректоры поднимаются только на Active/Standby Т0/Т1-роутерах, по одному на роутер, на Active/Active гейтвей DNS редиректор не назначить IP DNS-редиректора не должен пересекаться с IP-диапазонами сегментов
    Сперва Add DNS-default Zone:
          DNS-default-Zone-name; Server IPs: куда форвардим; Source IP: с какого ходить IP
    Затем Add DNS Service:
          Name; Gateway; DNS Service IP=Source IP; Default Zone = DNS-default-Zone-name

    Как удалить зомби-дисковые группы из мертвого VSAN


    ls -al /dev/disks/
    Посмотреть, у каких дисков есть партиции (VSAN делает 2)
    esxcli vsan storage list # подсмотреть UUID дисковой группы
    esxcli vsan storage remove -u 524022e4-2d92-7e47-c09d-b2f9ea6c774b

    Полный день сурка для VM


    tools.syncTime = "FALSE" time.synchronize.continue = "FALSE" time.synchronize.shrink = "FALSE" time.synchronize.restore = "FALSE" time.synchronize.tools.startup = "FALSE" time.synchronize.resume.disk = "FALSE" time.synchronize.resume.memory = "FALSE" rtc.startTime = "1612971568" # 2021-02-10 18:41
    И дискам выставить атрибут "independend nonpersistend" Или просто сделать снапшот и при необходимости к нему откатываться

    Как держать Виндовую VM в прошлом времени



          При старте windows тулзы самостоятельно и насильственно синхронизируют часы VM с часами хоста. Это поведение должен отключать чекбокс в
          VM -- Settings -- VM Option -- VMTools -- "Synchronize guest time with host"
          но он не отключает. Поэтому прописываем в .vmx
    tools.syncTime = "FALSE" time.synchronize.tools.startup = "FALSE"

    Установка апдейтов на VCSA

    # для версий 7.x /usr/lib/applmgmt/support/scripts/software-packages.py stage --url # --iso /usr/lib/applmgmt/support/scripts/software-packages.py list --staged /usr/lib/applmgmt/support/scripts/software-packages.py install --staged
    # software-packages stage --iso # для версий 6.x

    Тонкости с VRA. Назначение размещения по стораджу


    Дефолтное размещение VM задает Дефолтный VRA Storage Profile

          Персональное размещение vSphere.VM и AgnosticVM задается тегами: resources.VMname12.properties.storage.constraints:
          - tag: Таг-датастора или Таг-Storage_Профайла

          Персональное размещение CloudAgnosticVolume задается тегами: resources.VOlume13.properties.storage.constraints:
          - tag: Таг-датастора или Таг-Storage_Профайла

          Персональное размещение vMwareDisk задается тегом, стораджполиси, датастором: resources.VOlume13.properties.storage.constraints: - tag: Таг-датастора resources.VOlume14.properties.storagePolicy: vSphereStoragePolicyName resources.VOlume15.properties.dataStore: vSphereDatastoreName

          Назначать Сторадж-профайлы напрямую в VM или диски - не получится
          На Сторадж-профайл ссылаться _только_ косвенно - через constraints tag
          (вроде бы ;-)

    Автоматическое гашение виртуалок потерявших диск в VSAN


    Оказывается, у VSAN 7.0 для Stratched Cluster сделали аналог HA VM Component Protection. Включается адвансед-параметром:

          VSAN.AutoTerminateGhostVm = TRUE
    Для обычного VSAN эта опция неприменима, и в нем на отколовшихся хостах предлагается вручную запускать скрипт, автоматически распознающий и убивающий "призрачные" VMки (потерявшие из-за раскола VSAN свои диски)
    # python killInaccessibleVms.py

    Размер системной партиции OSDATA в ESXi 7.0

    Инсталлятор создает три партиции:
          bootbank1 bootbank 1-8Gb
          bootbank2 altbootbank 1-8Gb
          OSDATA scratch + store + dumps 4-120 Gb (зависит от размера диска)
    Размер OSDATA выставляется автоматически, на дисках меньше 128 Gb ESXi инсталляция занимает _весь_ диск.

          Перехватив загрузку ESC Shft+O можно задать желаемый размер OSDATA
    autoPartitionOSDataSize=4096 https://www.virtuallyghetto.com/2020/05/changing-the-default-size-of-the-esx-osdata-volume-in-esxi-7-0.html

    Оптимизация скорости VMotion

    Для vmnic 1Gb/10Gb - создать для каждого свой vmk с VMotion
    Для vmnic 40Gb и 100Gb - т.к. один thread на одном core для одного vmk разгоняется максимум до 15Gb, то:
    а) Надо делать несколько (от 3 до 6) vmk на один vmnic.

          либо увеличить число потоков(Helpers) и приемных очередей на один vmk
    b) Migrate.VMotionStreamHelpers = 3 (от 3 до 6) на отправителе
          Net.TcipRxDispatchQueues = 3 (от 3 до 6) на получателе

    Оптимизация сетевого стека для "быстрых сетевых" VM


    # vmxnet3 virtual ethernet # .vmx sched.mem.prealloc = "TRUE" sched.mem.prealloc.pinnedMainMem = "TRUE" sched.swap.vmxSwapEnabled = "FALSE"
    ethernet0.ctxPerDev = "3" ethernet1.ctxPerDev = "3" . . .
    Host setting # SplitTx Mode On vsish -e set /net/pNics/vmnic0/sched/txMode 1 vsish -e set /net/pNics/vmnic1/sched/txMode 1 # Jumbo Frames On

    Про LACP on VDS

    http://www.k-max.name/vmware/razbiraemsya-s-lacp-i-nic-teaming-v-vmware/
          Со стороны VDS настройка LACP задается в свойствах LACP -- LAG
          Со стороны физического коммутатора настройка выглядит примрно так:
    channel-group {group-id} mode on # статический LA (без CP)
    channel-group {group-id} mode active # динамический LACP - вызывающая сторона channel-group {group-id} mode passive # отвечающая сторона
          # обе стороны могут быть в active, просто LACP PDU-пакетов будет больше
          # если обе стороны в passive - LAG не соберется
          # если одна из сторон НЕ в active|passive - LAG не соберется

    NSX logging


    NSX distributed firewall log /var/log/dfwpktlogs.log ruleID clusterID SRC DEST
    Net+Sec -- Firewall Log column Audit/system event: /home/secureall/secureall/logs/vsm.log

    Чтобы ESXi пускал ssh'ем непривелегированного пользователя

    1. Не забыть активировать и стартвать sshd 2. Выдать пользователю Permition - Role=Administrator
    Если Administrator давать не хочется, редактируем /etc/security/access.conf и дописываем в него . . . *:username:ALL
    этот файл зачищается и регенерится при каждой перезагрузке, а так же - при добавлении новых пользователей и при выдаче Permitions
    Поэтому придется колхозить его восстановление в начальную загрузку, например через /etc/rc.local (если ESXi 4.x или ESXi 5.0) или в /etc/rc.local.d/local.sh (если ESXi 5.1+)

    Что нового в NSX 6.5


          в Microsegmentation aka distributed firewall:
          Распознает по Application ID трафик протоколов
          AD, KMS, DNS, RDP, SSH, SMB, TLS и т.д. без привязки к номеру порта

          в Microsegmentation aka distributed firewall:
          Распознает по User ID трафик конкретного логина (даже на Terminal server)

          Edge Gateway HA - реализован BFD, сократило переключение с 20 сек до 5-10 сек

          EG - усовершенствования:
          NAT64 on uplink provides IPv6 to IPv4 translation
          Route Redistribution - реализован LE/GE
          BGP Routing supported over GRE tunnel
          new LB health check: MSSQL, DNS, LDAP

          Capacity Dashbord

          Расширенное Меню в Networking+Security

          GUI частично реализован на HTML5 (хоть и вызывается из Flash Web Client)

    Как проинсталлировать ESXi на хост с памятью меньше 4Gb

    https://noteits.net/2015/06/24/installing-esxi-6-0-with-4gb-ram-or-less/ После получения при инсталляции MEMORY_SIZE_ERROR нажать ALT-F1
    cd /usr/lib/vmware/weasel/util rm upgrade_precheck.pyc # удаление скомпилированного конфига инсталляции chmod 666 upgrade_precheck.pyc vi upgrade_precheck.py # исправить параметр MEM_MIN_SIZE на (3*1024)
    ps -c | grep weasel # после kill -9 инсталлятор перезапустится kill -9 {weasel PID} #

    Как вытащить VM из swap'а в ESXi 6.x

    http://www.yellow-bricks.com/2016/06/02/memory-pages-swapped-can-unswap/
    # Посмотреть ID засвапленных VM # memstats -r vm-stats -u mb -s name:memSize:max:consumed:swapped |\
          sed -n '/ \+name/,/ \+Total/p'

          name memSize max consumed swapped
          vm.449922 16384 2000 2000 14146
    # localcli --plugin-dir=/usr/lib/vmware/esxcli/int vm process \
          unswap -w 449922 -s 2 -u GB # Отсвапить 2 Gb
    # localcli --plugin-dir=/usr/lib/vmware/esxcli/int vm process \
          unswap -w 449922 # Отсвапить полностью
    В более древних версиях ESXi unswapping'а можно добиться, сделав VM'ке vmotion на хост, у которого VM-swap переназначен на датастор хоста

    MAC learning в DVS 6.7


    В Vsphere 6.7 в distributed свитче добавлена штатная поддержка режима mac-learning. В GUI она не прикручена, включается только через API. Позволяет не использовать чрезвычайно затратный "promiscuous mode: accept"
    Подробности тут:
    https://www.virtuallyghetto.com/2018/04/native-mac-learning-in-vsphere-6-7-removes-the-need-for-promiscuous-mode-for-nested-esxi.html
    Для standart switches и ver. 6.5 существует похожее решение с инсталляцией дополнительного пакета "MAC Learn Fling" https://labs.vmware.com/flings/esxi-mac-learning-dvfilter

    Параметры в .vmx, оптимизирующие скорость сети


    # "жесткая" преаллокация памяти shed.mem.prealloc.pinnedMainMem = "true" shed.mem.prealloc = "true"
    ethernet0.ctxPerDev = "1" # для ethernet0 свой trasmit thread ethernet1.ctxPerDev = "3" # для ethernet1 от 2 до 8 transmit threads
    Net.NetVMTxType = 3 [принимает значения 1,2,3]
          1: One transmit thread per v-nic
          2: One transmit thread per vm
          3: 3-8 transmit threads per v-nic

    Как увеличить служебные файловые системы в Vcenter 6.5

    https://kb.vmware.com/s/article/2145603
    В VC appliance 6.5 каждая служебная файловая система живет в одноименном lvol на одноименной vg на отдельном диске.
    df -h file -s /dev/sd? | grep LVM lvdisplay | grep 'LV Path'
    VMDK1 12GB / (10GB)
          /boot (132MB)
          SWAP (1GB) VMDK2 1.8GB /tmp VMDK3 25GB SWAP VMDK4 25GB /storage/core VPXD core VMDK5 10GB /storage/log VMDK6 10GB /storage/db Postgres storage VMDK7 5GB /storage/dblog Postgres logging VMDK8 10GB /storage/seat Postgres Stats,Events,Alarms,Tasks VMDK9 1GB /storage/netdump Netdump ESXi collector VMDK10 10GB /storage/autodeploy VMDK11 10GB /storage/imagebuilder VMDK12 100GB /storage/updatemgr
    Увеличить нужный VMDK веб-клиентом, и запустить внутри VC скрипт
          /usr/lib/applmgmt/support/scripts/autogrow.sh
          либо
          . /usr/sbin/disk_utils.sh
          lvm_autogrowfs
          либо
          echo $VCPASSWORD | appliancesh appliance.system.storage.resize
          или в appliancesh
          Command> appliance.system.storage.resize
    Который делает в цикле по всем LVM дискам и LVOL-fs примерно следующее:

          pvresize /dev/sdX
          lvresize --resizefs -l +100%FREE /dev/mapper/LVOL-NAME

    Алгоритмы VMotion для разных версий vSphere


    V2.5, V3.x, V4.0(?). "QuickResume"
          Pre-copy в один проход: копируем память, собирая список "dirty pages"
          (маркируем memory в RO, при записи - exception, page в список, дать ей RW)
          Останавливаем оригинал, пересылаем список, помечаем там "грязную" память.
          Включаемся на новом месте, дотягиваем недостающую память,
          промахи по недоставленной памяти подтягиваем вне очереди.

          Достоинства/Недостатки:
          Однопроходный.
          Критичен к network latency (< 5мс) - VM на дотяге памяти сильно тормозит.
          Обрыв сети после переключения смертелен,
          Мучителен для VM с большой памятью (в старых версиях память VM небольшая)
    V4.1 "Итеративная погоня Ахила за черепахой" с failback на QuickResume https://blogs.vmware.com/vsphere/2011/02/vmotion-whats-going-on-under-the-covers.html http://www.yellow-bricks.com/2011/04/13/vmotion-and-quick-resume/

          Pre-copy в несколько итераций, пока изменившаяся память сойдется (почти) в 0,
          стоп, досылка этого "почти" и переключаемся.
          Если pre-copy не сходится, мониторим скорость "пачкания" памяти, скорость сети,
          смотрим время на копирование оставшихся "dirty pages". Если > 100 сек - fail
          < 100 сек - QuickResume как в "древности", и "затягиваем недостающее".
          Дубль "dirty pages" кидаем в файл на shared-datastore.
          С случае обрыва сети "недостающую память" всасываем из этого файла.

          Достоинства/Недостатки:
          Можно двигать очень большие VM, обрыв сети не смертелен.
          Network latency терпим (< 10 ms).
          Повышенный трафик из-за итераций.
          Нет гарантии переезда (Но можно увеличить vmotion.maxSwitchoverSeconds)
    V5.0+ "Итеративная погоня Ахила за черепахой", с врубанием торможения SDPS http://www.yellow-bricks.com/2011/07/20/vsphere-50-vmotion-enhancements/

          Pre-copy в несколько итераций, пока память сойдется в 0, и переключаемся.
          Если pre-copy не сходится, мониторим скорость "пачкания" памяти, скорость сети,
          Врубаем SDPS - Stun During Page Send - пропорциональное торможение vCPU
          микростопами, чтоб "dirty page" возникали медленне, чем отсылаются.

          Достоинства/Недостатки:
          Можно двигать очень большие VM, обрыв сети не смертелен.
          Network latency терпим (< 150 ms).
          Повышенный трафик из-за итераций.
          Длительные тормоза VM с активной памятью из-за SDPS

    Смена дефолтных портов VC и ESXi

    Во-первых - это плохая идея. Во-вторых - для новых портов - не забыть проковырять дырки в файрволле! В-третьих - придется переучивать vsphere-клиентов и rCLI.

          VCenter Server: /etc/vmware-rhttpproxy/config.xml C:\ProgramData\VMware\vCenterServer\cfg\vmware-rhttpproxy\config.xml
    >httpPort>80>/httpPort> >httpsPort>443>/httpsPort> /etc/init.d/rhttpproxy restart

          ESXi Host
    /etc/vmware/rhttpproxy/config.xml /etc/vmware/rhttpproxy/endpoints.conf /etc/vmware/hostd.config.xml
    >httpPort>80>/httpPort> >httpsPort>443>/httpsPort>
    /etc/init.d/rhttpproxy restart
    После смены httpsport на хосте перестает работать esxcli, можно вместо него использовать localcli И стоит поправить VpxClient.exe.config

    Password reset в vRealize Log Insight


    Root-password в Settings VM -> Options -> vApp Options -> Other Properties
    # Пароль к веб-админкв - пользователь admin: ADMINPASSWORD=SEcret0! li-reset-admin-passwd.sh
    При заходе на Log Insight использовать строго FQDN - по IP или короткому hostname админка не распознает пароль или вообще не работает

    Чтоб работать с ESXi 6.5 старой версией vsphere-client


    # Исправить тег exactVersion на 6.0.0 в файле /usr/lib/vmware/hostd/docroot/client/clients.xml
    Или, более капитально, заменить его на файл от ESXi 6.0 <ConfigRoot>
          <clientConnection id="0000">
          <authdPort>902</authdPort>
          <version>6</version>
          <exactVersion>6.0.0</exactVersion>
          <patchVersion>1.0.0</patchVersion>
          <apiVersion>dev</apiVersion>
          <downloadUrl>http://vsphereclient.vmware.com/vsphereclient/VMware-viclient-all-6.0.0.exe</downloadUrl>
          <flexClientVersion>6.0.0</flexClientVersion>
          </clientConnection> </ConfigRoot>
    Для этого создать файлик /bootbank/clients.xml и вписать в пользовательский скрипт начальной загрузки /etc/rc.local.d/local.sh
    # вариант для параноиков ################################### # mv /usr/lib/vmware/hostd/docroot/client/clients.xml \
          /usr/lib/vmware/hostd/docroot/client/clients.xml-orig # вариант для отважных ##################################### [ -f /bootbank/clients.xml ]&&rm /usr/lib/vmware/hostd/docroot/client/clients.xml ##### просто overwrite не срабатывает ###################### cp /bootbank/clients.xml /usr/lib/vmware/hostd/docroot/client/clients.xml



    В vcenter-сервере раньше тоже была похожая настройка в файлике C:\ProgramData\VMware\VMware VirtualCenter\docRoot\client\version.txt /etc/vmware-vpx/docRoot/client/version.txt Но в 6.5 толстым клиентом можно только с ESXi работать.

    Начальное конфигурирование vSphere Data Protection

    https://vdp.appliance.address:8543/vdp-configure начальный пароль: changeme
    NB! Hostname для VDP-appliance обязан ресолвиться в DNS и в Reverse-DNS! Минимальный Datastore - 0.5 Tb, пустой vdp занимает 55Гб с тонким диском

    Автостарт в ESXi привязывается по именам VM, а не по их ID


    Знаете ли вы, что автостарт VMок привязывается по их именам, а не по ID, поэтому Rename и Storage migration vm'ки выносит ее из Автостарта.

    Самонастраиваемый OVF-appliance с nested ESXi


    https://www.v-front.de/2014/01/building-self-configuring-nested-esxi.html

    Healthchek в VDS


    При проверке в каждый заявленный VLAN кидается бродкаст-пакет размером MTU. Если на VDS есть транкованая портгруппа (Trunk VLAN=1-4094) она на каждой проверке получает 4К пакетов - при mtu 9000 - 28 Мб за раз. В один аплинк кидает, из другого длжен прилететь. В VDS с одним аплинком healthceck - не функционирует.

    Тест скорости сетевых интерфейсов ESXi-хоста


    # "сервер" с IP-адресом 1.2.3.4 /usr/lib/vmware/vsan/bin/iperf.copy -s -B 1.2.3.4 -w 1M
    # "клиент" /usr/lib/vmware/vsan/bin/iperf -c 1.2.3.4 -t 60 -i 3 -w 1M

    HA advanced configuration options


    https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2033250
    vpxd.das.completemetadataupdateintervalsec das.iostatsInterval das.config.fdm.reportfailoverfailevent das.isolationShutdownTimeout das.config.fdm.isolationPolicyDelaySec das.useDefaultIsolationAddress das.isolationAddressX das.reregisterRestartDisabledVMs das.terminateretryintervalsec das.maxterminates das.maxresets das.respectVmVmAntiAffinityRules das.config.fdm.memreservationmb das.slotMemInMB das.slotCpuInMHz das.ignoreInsufficientHbDatastore das.heartbeatDsPerHost

    SRM: IP configuration для recovered VMs

    Для каждой VM в recovery можно задать в "Configure Recovery" IP Configuration. Но работают они только для Windows, и Linux: RHEL, SLES, Ubunta. А CentOS - not supported

    SRM: Пакетная генерация IP-config'ов для Recovery Plan


    cd C:\Program Files\VMware\VMware vCenter Site Recovery Manager\bin
    dr-ip-customizer --vc vc01.vclass.local --cfg ..\config\vmware-dr.xml
          --cmd generate --output c:\dr01.csv -i
    Сгенерит нам csv-болванку, которую нужно дополнить руками (Строки с EthId = 1) SRM Bulk IP configuration CSV file:
    ID,VM,vC,EthID,DNSdom,NBIOS,PrWINS,SeWINS,IP,Mask,GW,IP6,PrefLeng,GW6,DNSServ,DNSearch prot-vm-1253,dbsvr01,vc01.vclass.local,0,,,,,,,,,,,, prot-vm-1253,dbsvr01,vc02.vclass.local,0,,,,,,,,,,,, prot-vm-1253,dbsvr01,vc01.vclass.local,1,,,,,1.2.3.11,255.0.0.0,1.2.3.254,,,,1.2.3.1, prot-vm-1253,dbsvr01,vc02.vclass.local,1,,,,,2.3.4.11,255.0.0.0,2.3.4.254,,,,2.3.4.1,

    dr-ip-customizer --vc vc01.vclass.local --cfg ..\config\vmware-dr.xml
          --cmd apply --csv c:\dr01.csv -i
    Закатывает содержимое файла в настройки SRM

    Где записаны зарегистрированные VM


    /etc/vmware/hostd/vmInventory.xml
    <ConfigRoot>
          <ConfigEntry id="0000">
          <objID>1</objID>
          <vmxCfgPath>/vmfs/volumes/554ce28a-7d670c0e-f5a3-005056023912/Linux01/Linux01.vmx</vmxCfgPath>
          </ConfigEntry>
          <ConfigEntry id="0002">
          <objID>3</objID>
          <vmxCfgPath>/vmfs/volumes/554cf557-a971eb9a-4182-005056023912/Win02-A/Win02-A.vmx</vmxCfgPath>
          </ConfigEntry>
          <ConfigEntry id="0003">
          <objID>4</objID>
          <vmxCfgPath>/vmfs/volumes/554cf557-a971eb9a-4182-005056023912/Win01-A/Win01-A.vmx</vmxCfgPath>
          </ConfigEntry> </ConfigRoot>

    firewall: управление командой esxcli


    https://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vcli.examples.doc_50%2Fcli_manage_networks.11.11.html
    esxcli network firewall ruleset list esxcli network firewall ruleset list --ruleset-id sshServer
    esxcli network firewall ruleset set --ruleset-id sshServer --enabled true
    esxcli network firewall ruleset allowedip list --ruleset-id sshServer
    esxcli network firewall ruleset set --ruleset-id sshServer --allowed-all false esxcli network firewall ruleset allowedip add --ruleset-id sshServer --ip-address 192.XXX.1.0/24
    esxcli network firewall ruleset allowedip list --ruleset-id sshServer
    Правила хранятся в /etc/vmware/firewall/*.xml

    Доступ к PSC UI


    https://vc.server/psc

    Hidden CBRC (Content-Based Read Cache


    http://www.virtuallyghetto.com/2011/08/new-hidden-cbrc-content-based-read.html Включить кэширование vmdk-шек для lincked clones на ESXi-хосте
    vim-cmd hostsvc/advopt/update CBRC.Enable bool true vim-cmd hostsvc/advopt/update CBRC.DCacheMemReserved long 1024
    Для Horizon View-десктопов эта же функция включается чекбоксом в настройках lincked-cone pool'а

    v6.0 Работа с пользователями ESXi из командной строки



          esxcli system account add -i winuser -p 'Pa$$w0rd' -c 'Pa$$wrd'
          esxcli system permission set -i winuser -r ReadOnly
          esxcli system permission list

    v6.0 TPS

    kb2097593 Начиная с 5.5 Update2 TPS inter-VM TPS задисеблен, работает только ТПС внутри VM и для VM с одинаковой "солью"
    sched.mem.pshare.salt = "соль"
    Разрешить глобальный TPS: Mem.ShareForceSalting = 0
    Hight mem.minfreepct*3 запрет large mempage (форсирует TPS) Clear mem.minfreepct balooning Soft mem.minfreepct*2/3 compression Low mem.minfreepct*1/3 swaping Hard mem.minfreepct*1/6 hard swaping

    Unlocking and resetting the SSO administrator password (2034608)


    VSPHERE 5.5 (SSO Account)
    c:\Program Files\VMware\Infrastructure\VMware\CIS\vmdird> vdcadmintool.exe /usr/lib/vmware-vmdir/bin/vdcadmintool
    3. Reset account password
          Account DN, enter: cn=Administrator,cn=users,dc=vSphere,dc=local
    VSPHERE 6.0 (PSC Account)
    c:\> "%VMWARE_CIS_HOME%\vmdird\vdcadmintool.exe" shell.set --enabled true shell /usr/lib/vmware-vmdir/bin/vdcadmintool
    3. Reset account password
          Account UPN: Administrator@vSphere.local

    Ручное копирование vmdk-файлов


    При использовании cp результирующий -flat.vmdk будет раздут полностью cp old/wm-flat.vmdk new/wm-flat.vmdk du -s old/wm-flat.vmdk new/wm-flat.vmdk
    Чтоб сохранить/задать формат копии - используем vmkfstools -i vmkfstools -i old/vm.vmdk -d thin new/vm.vmdk
    Копирование виртуального диска в RDM-lun (virtual и physical соответственно) vmkfstools -i old/wm.vmdk -d rdm:/vmfs/devices/disks/t10.xxxx new/vm-rdm.vmdk vmkfstools -i old/wm.vmdk -d rdmp:/vmfs/devices/disks/t10.xxxx new/vm-rdm.vmdk
    Либо клиентом vSphere copy - paste

    При использовании cp результирующий -delta.vmdk сохранит свой размер cp old/wm-0000001-delta.vmdk new/wm-0000001-delta.vmdk
    Если клиентом жСпхере копировать delta.vmdk - итоговый диск будет уже не дельтой, а flat (с сохранением формата опорного flat.vmdk)

    Если в базе VC переполняются таблицы Events и Tasks


    Еще бы им не переполняться - Tasks и Events по умолчанию хранятся вечно. Впрочем, можно включить зачистку этих таблиц по достижении заданного срока хранения.
    Administration > vCenter Server Settings > Database Retention Policy
    Можно и врукопашную зачистить, sql-скриптами:
    Purging old data from the database used by VMware vCenter Server (KB 1025914) http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1025914

    Как бекапить и переносить inventory-tree с об'ектами VC-server


    Download/Upload VC-inventory можно сделать , PoweCLIшными скриптами, которые можно скачать с Flings
          https://labs.vmware.com/flings/inventorysnapshot
    Пример переноса с из VCVA в VC-Win описан тут
          http://www.the-little-things.net/blog/2012/12/16/vmware-migrating-a-vcenter-virtual-appliance-to-a-vcenter-windows-server/

    Работаем с VMFS5


    vmkfstools -T /vmfs/volumes/datastore # upgrade vmfs3 -- > vmfs 5 vdq -q # информация о дисках partedUtil get /vmfs/device/disk/diskname # распечатать GPM partition partedUtil getptbl /dev/disks/naa.60003ff44dc75adca0de46725140ce9f

          Размещение файлов в VMFS5: 0 <= size <= 1 k размещается в inode 1k < size <= 8 k размещается в subblock (ровно одном) 8k < size <= 512 Gb в мегабайтных блоках, использует indirect pointer 512G< size <= 62 G Gb в мегабайтных блоках, использует double indirect pointer
    vmkfstools -Phv 10 /vmfs/volumes/datastore # детализация инфо о VMFS

          Maximums: 128,000 inodes 32,000 subblock 64,000 indirect pointers 256 double indirect pointers

    Sysprep


    Чтобы для Windows NT, 2000, 2003, XP при клонировании работала кастомизация на VC должен лежать sysprep, конкретно два файла: sysprep.exe, setupcl.exe
    В соответствующих каталогах для разных версий sysprep:
    /etc/vmware-vxpd/syspre/svr2003 /etc/vmware-vxpd/syspre/svr2003-64
          . . .


    Глюки с сертификатами в SRM 5.8


    Обнаружился глюк с сертификатами в SRM 5.5 и 5.8: не получается pairing двух сайтов.
    Если и у VC-нтров и SRM-ов - selfsigned sertificates то все спаривается.
    Если и у VC-нтров и SRM-ов - ЦА-signed sertificates то все спаривается.
    Если у VC-нтров СА-signed а у SRM-ов - selfsigned sertificates то нет.
    Выход: либо всем сделать одинаково selfsigned, либо всем одинаково CA-signed.
    Подробности: Generating and Installing CA Signed Certificates for VMware SRM 5.5 http://www.definit.co.uk/2014/03/generating-and-installing-ca-signed-certificates-for-vmware-srm-5-5/

    SMP-FT в 6.0


    Чтобы SMP-FT работало в NestedESX виртуалка под ESX должна иметь OS ESX 5.5-6.0, nic vmxnet3 (потому что 10 Gbit) (virtual hardware 8 - достаточно)
    vm.uselegacyft = true # использовать FT версии 5

    Получить список всех снапшотов с помощью PowerCLI


    Get-VM | Get-Snapshot | ft vm, name, created

    Что нового в vsphere 6.0


    Перед загрузкой VCSA придется установить в броузер Vmware Client Integration Plugin и импортировать appliance броузером
    SSO + License Server + Certificate Management + Identity service и т.д. скомпонованы в Platform Services Controller (PSC)
    Варианты установки VCSVA:

          (у каждого VC свой PSC, PSC можно спаривать)
          Embedded: VC1 + PSC1 ----- PSC2 + VC2

          (Несколько VC цепляются на один PSC)
          External: PSC / \
          External: VC1 VC2
    При инициализации SSO пароль SSO-администратора, а так же название SSO-шного домена авторизации (прежний vsphere.local) - назначает пользователь
    Адрес Web-client ушел с 9443 порта на дефолтный 443
          https://vc.server.address/vsphere-client/

    Custom tcp stack на ESXI 6.0


    esxcli network ip netstack add -N Custom_name # создать новый IP-стек esxcli network ip netstack list # посмотреть список стеков
    Содержит собственные: ARP table, routing table, default gateway, separate buffers, sockets and trafic

          [To be continued...]
    vmkping -D -S Custom_name # ping всех vmk-интерфейсов стека

    ESXI 6.0 настройки password lockout


    DCUI.Access список пользователей, которым разрешен DCUI security.AccountLockFailures security.AccountLockTime
    Сложность пароля можно задать в /etc/pam.d/ а можно в web-client
    Manage - Settings - Advanced System Settings
          - Password quality control: retry=3,min=disabled,disabled,disabled,7,7


    VCVA 6.0 Menu


    При ssh-логине открывается вместо обычного shell'а ограниченное меню
    Активация Bash в VC-appliance Shell> shell.set --enable true Shell> shell.get Shell> shell

    65% скидка на экзамен VCP6 для тех, кто проапгрейдил свой VCP5.5


    Тем кто проапгрейдил свой VCP5.5 статус до 10.03.2015 полагается 65% скидка на сдачу одного VCP6(одного любого из DCV, CMA, DM, NV) или VCP6-delta DCV
    Промокод: RECERT65 , действителен по August 31, 2015 http://blogs.vmware.com/education/2015/04/get-discount-met-original-recertification-deadline.html

    Port mirroring в Distributed Switch

    В web client есть "Encapsulated remote Mirroring(L3)" - замирроренный трафик пересылается на заданный IP-адрес использует ERSPAN GRE
    Есть так же "Remote mirroring source" + "Remote mirroring destination" использует RSPAN VLAN - где необходимо настроить три сессии мирроринга 1. Remote source: трафик VM-портов заворачивается в encapsulation VLAN и сливается на destination аплинк 2. Физический свитч должен настроить проброс этого трафика на аплинк ESXi получателя. Это настраивают цискари 3. Remote destination: encapsulated VLAN пробрасывает на порт VM-получателя http://blogs.vmware.com/vsphere/2013/02/vsphere-5-1-vds-feature-enhancements-port-mirroring-part-2.html

    Советы и хитрости по использованию WebClient


    https://en.wikibooks.org/wiki/VSphere_Web_Client

    Вендорские образы ESXi

    HP customized VMware image downloads http://hp.com/go/esxidownload
    HP Proliants установка апдейтов, base images, firmware, dravers и т.д.
          http://vibsdepot.hp.com/getting_started.html

    Запрет Large pages для отдельной VM


    monitor_control.disable_mmu_largepages = TRUE

    Как ESX определяет moved/copyed VM


    При создании VM хешируется каталог ее размещения и сохраняется в uuid.location
    При старте VM хешируется каталог ее размещения и сравнивается с uuid.location Если хэш не совпадает с uuid.location, то запускается answer-процедура
          (?) Cancel | you move it | you copyed it
    Cancel - отменить старт, ничего не делать I move it - сохранить текущий хэш в переменной uuid.location
          оставить старые uuid.bios и mac I copyed it - сохранить текущий хэш в переменной uuid.location,
          обновить uuid.bios == uuid.location, сгенерить новый mac
    vmware-cmd path/to/vmx.file.vmx answer

    Рекомпиляция модулей VMware Workstation после замены linux-kernel


    service vmware stop rm /lib/modules/$(uname -r)/misc/vmmon.ko vmware-modconfig --console --build-mod vmmon /usr/bin/gcc /lib/modules/$(uname -r)/build/include/ depmod -a service vmware start

    Проблема с nopersistent independent disk


    По факту - VM с nonpersistent disk - это просто машина, которой при старте делается снапшот, а при выключении ее redo-log AKA дельта-диск удаляется (vmdk т.е. откатывается к снапшоту).
    Но есть ньюансы. В свойствах VM указан не дельта-файл, а сам заснапшоченный диск, дельтафайл имеет нестандартное имя.
    А еще nonpersistent VM не делает Storage Vmotion - этой ошибке уже несколько лет и Vmware до сих пор ее не исправило.

    More info about Snapshots


    KB1025279 KB1015180

    Vmware Replication initial configuration

    zip-архив VR содержит два OVF с одним и тем же vmdk
    vsphere replication OVF - VR Manager, upload в Source Site vsphere replication OVF - VR Manager, upload в Destination Site
    Дополнительные VR Servers - подгружаются как "vsphere replication addon OVF" затем регистрируются в Web Client - Replication - Management
    Чтобы справиться с error-popup "wrong VM Network" при загрузке OVF - В Windows-vsphere Client: в IP Pools создать new IP Pool (с range IPv4), ассоциированный с портгруппой, в которую подцепляется VR В WebClient: DataCenter -- Manage -- Network Protocol Profiles -- создать Network Protocol Profile ассоциированный с портгруппой, в которую подцепляется VR
    Основной VRM (for Source Site) при загрузке регистрируется на VC автоматически, для переконфигурации зайти броузером (можно переконфигурить привязку VRM к соотвествующему VC)

          https://vr.manager.source:5480
          https://vr.manager.destination:5480

    Подключение VC Server к external SSO


    URL Lookup service: https://machinename.corp.com:7444/lookupservice/sdk SSO Administrator: administrator@vsphere.local

    VDP initial configuration


    https://vdp.address:8543/vdp-configure/ Начальный пароль: root:changeme
    Активация системы занимает около 20 минут, в веб-клиенте появляется пункт vSphere Data Protection.
    VDP работает по умолчанию, VDPA требует ассигнования похостовой лицензии VDPA Зайти в Configure -- Add license key, Edit license assigment
    Configure -- Backup WIndows configuration - настроить окно Bacup/Maintence
    Backup -- backup job actions -- New, затем "Backup now"
    Прохождение бэкапа можно смотреть в "Tasks"

          Для File Level Restore зайти с забэкапленной машины броузером
    https://vdp.address:8543/flr

          Для FLR с бэкапа чужой VM - активировать по линку "Advanced login" и указать свой админский логин и логин VC-server'а

    Hands-n Labs - бесплатная демонстрация продуктов VMware


    Для доступа к каталогу Лабораторных демонстраций (более 30 лаб) - зарегистрироваться на портале
    http://hol.vmware.com

    Browser warning: self-signed certificate of vCenter Web Client


    Чтоб броузер при заходе на Web Client не жаловался на самоподписанный сертификат, регистрируем его на клиенте в качестве "корневого сертификата"
    На Windows и Linux vCenter CA ssl-сертификат лежит соответственно в
          %ALLUSERSPROFILE%\VMware\vSphere Web Client\ssl\cacert.pem
          /etc/vmware-vsphere-client/SerenityDB/keys/vsphere-client-ca-cert.pem На клиентской машине закидываем его в список доверенных
          certutil.exe -addStore -f Root файл-сертификата.pem
    Или на клиенте переименовать cacert.pem в webclient.cer
          Right-click -- Install certificate
          Store location: Local Machine -- Trusted Root Certification Authorities store sudo zypper install mozilla-nss-tools
    Регистрация CA-сертификата на Linux Chrome: click on the certificate warning
          Connection > Certificate Information > Details > Export
    sudo zypper install mozilla-nss-tools # Инсталлируем certutil
          openSUSE certutil -d sql:$HOME/.pki/nssdb -A -t P -n CertNickName -i cert_file.crt
          Ubuntu certutil -d sql:$HOME/.pki/nssdb -A -t "CP,CP," -n CertNickName -i cert_file.crt
    http://blog.avirtualhome.com/adding-ssl-certificates-to-google-chrome-linux-ubuntu/

    32-битный ODBC для Update Magager


    VUM до сих пор является 32-битным приложением, и ODBC-коннектор ему нужен 32-битный. На 64-разрядной винде его делают командой
    c:\windows\system32\odbcad32.exe
    В Windows2012:

          Control panel > System and Security > Administrative Tools
          ODBC Data Sources (32 bit)

    Alarm action run script


    Скрипт запускается на vCenter-сервере, контекст аларма передается переменными окружения
    PATH=/bin:/usr/bin:/sbin:/usr/sbin PWD=/var/log/vmware/vpx
    VMWARE_ALARM_NAME=_Alarm-1 VMWARE_ALARM_ID=alarm-101 VMWARE_ALARM_ALARMVALUE=Current values for metric/state VMWARE_ALARM_DECLARINGSUMMARY=([Yellow metric Is above 30%; Red metric Is above 70%]) VMWARE_ALARM_TARGET_NAME=win04 VMWARE_ALARM_TARGET_ID=vm-47 VMWARE_ALARM_NEWSTATUS=Yellow VMWARE_ALARM_OLDSTATUS=Gray VMWARE_ALARM_TRIGGERINGSUMMARY=Metric CPU Usage = 99% VMWARE_ALARM_EVENTDESCRIPTION=Alarm '_Alarm-1' on win04 changed from Gray to Yellow
    VPXD_HOSTNAME=vcva01.vclass.local VPXD_IP_ADDR=172.20.10.94 VPXD_IPV6_ADDR=fe80::250:56ff:fe3f:ff01 VPXD_HTTPS_PORT=443 VPXD_HTTP_PORT=80
    IS_HTTPS_PORT=10443 LD_LIBRARY_PATH=/usr/lib/vmware-vpx LS_SERVER_LOCATION=https://vcva01.vclass.local:7444/lookupservice/sdk ORACLE_HOME=/etc/vmware-vpx/oracle PID_FILE=/var/run/vmware/vpxd.PID

    Добавление apliance в AD-домен


    domainjoin-cli join domain.name domain-username domainjoin-cli query domainjoin-cli leave domainjoin-cli query

    Скидка 25% на экзамен VCP в 2014 году для тех, у кого есть VCP


    Скидочный код VCPRECERT25 действует до 1 января 2015, и только для тех, кто имеет хоть какой-нибудь VCP.
    https://mylearn.vmware.com/mgrReg/plan.cfm?plan=51574&ui=www_cert

    WWW mob API for ESXi


    https://esxi.ip.address/mob/?moid=ha-host&doPath=hardware

    Бесплатные бекапилки для vSphere и Free ESXi aka vSphere Hypervisor


    Vsphere Data Recovery (VDR) и Vsphere Data Protection (VDP) бесплатны, но для работы требуют наличия VCenter Server, бэкапить FreeESX они не могут.
    В бесплатной версии ESXi отключено VAPD(API for Data Protection) и CBT(Change Block Tracking)
    GhettoVBC script (делает снапшот и клонирует VM) Veeam Backup & Replication free edition(требует CBT и VADP) VeeamZip
    Thinware vBackup(требует ssh ESXi и Virtual Disk Development Kit vmware-mount.exe) (free: fullbackup, paid:scheduled incremental)
    Trilead VM Explorer (free: fullbackup, paid:scheduled incremental + FLR)

    Remote и Local Диски в Nested ESX


    Диски, подвешенные на LSI SAS virtual controller в NestedESX инсталлятором показываются как "Remote"

    Проблемы с virtual hardware version 10


    Для Vsphere5.5 "Last verison" = 10, и VM перестает редактироваться в Win-client Методы "лечения":

          1. VM можно редактировать Web-клиентом
          2. Установить Vsphere Client 5.5 Update 2 - в нем этот баг исправлен
          3. Откатить версию: создать новую VM vh=8 без диска и подцепить диск от старой
          virtualHW.version = "8"
          4. Или командой:
          vim-cmd vmsvc/getallvms
          vim-cmd vmsvc/upgrade {VMID} vmx-09
          5. Выключить VM и отредактировать vmx-file редактором vi

    Хозяйке на заметку: 10Гбит для дома


    NETGEAR ProSafe Plus XS708E-100NES : 8*10GBASE-T + 1*SFP+ = $1.5K

    Как сделать слабый пароль пользователю ESXi


    PAM запрещает давать локальным пользователям ESXi слишком простые пароли. Чтобы разрешить (временно, до перезагрузки) задание слабого пароля:
    vi /etc/pam.d/system-auth # и в строчке password requisite /lib/security/$ISA/pam_passwdqc.so retry=3 min=8,8,8,7,6

          min=8,8,8,7,6 заменить на min=6,6,6,0,0

    Корректное клонирование ESXi - на флешку или Nested


    В /etc/vmware/esx.cfg прописаны MAC vmk-интерфейсов, и системный UUID Если их не поменять - клон получит дубляж MAC-адресов.
    Перед клонированием выставить переменную FollowHardwareMac и удалить /system/uuid - чтобы uuid и mac на новом клоне сгенерились заново
    esxcli system settings advanced set -o /Net/FollowHardwareMac -i 1
    sed -i 's%^/system/uuid =.*%%' /etc/vmware/esx.cfg
    Если клонируется не флешка, а nested ESXi, то делать на нем VMFS не надо - клоны получат datastore с одинаковыми UUID, VCenter их не подцепит.

    Миграция VM воткнутой в Internal switch


    По умолчанию запрещена. Чтоб разрешили - приходится предварительно дисконнектить ethernet, или отключать с него IP-адрес изнутри гостевой OS.
    "Лечится" advanced-настройкой VCентра
    Administration > vCenter Server Settings > Advanced Settings
    config.migrate.test.CompatibleNetworks.VMOnVirtualIntranet "false".

    Переезд с Windows VC на Linux appliance VC


    Передача базы не возможна. Схема Oracle-базы под Windows и Linux различаются. Migration-tool для 5.1, 5.5 отсутствует.
    Остается экспорт-импорт дистрибьютед свитчей.

    Roud Robin для всех


    esxcli storage nmp device list # получить сисок LUN
    esxcli storage nmp satp set -satp=VMW_SATP_AA -default-psp=VMW_PSP_RR
    # Единоразовое назначение на текущий сеанс для диска "dev.namnam" RR, iops=3 esxcli storage nmp device set -d "dev.namnamnam" -psp=VMW_PSP_RR esxcli storage nmp psp roundrobin deviceconfig set -d "dev.namnam" -t iops -l 3
    # Постоянное назначение для LUN'ов в конкретной модели СХД esxcfg-rescan vmhba1 grep -i scsiscan /var/log/vmkernel.log Vendor: 'VVV' Model: 'MMMM'
    esxcli storage nmp satp rule add -s "VMW_SATP_AA" -V "VVV" -M "MMM" -P VMW_PSP_RR -O "iops=1" # подействует после reboot'а
    # или, чтоб сразу: переактивировать правила на ходу esxcli storage core claiming unclame -t device -d naa.xxxx esxcli storage core claimrule load esxcfg-rescan vmhba1


    Vmware-tools for nested-esxi 5.0, 5.1, 5.5

    See more at:
          https://labs.vmware.com/flings/vmware-tools-for-nested-esxi
          http://www.virtuallyghetto.com/2013/11/w00t-vmware-tools-for-nestedesxi.html#sthash.f89qps1O.dpuf # Драверов в них - нет! # Перед установкой в Maintance esxcli system maintenanceMode set -e true
    # Установка с локального датастора esxcli software vib install -v /vmfs/volumes/DatastorName/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib -f
    # Установка по сети esxcli network firewall ruleset set -e true -r httpClient esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxi_tools_for_guests/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib -f esxcli system shutdown reboot -r "Installed VMware Tools"
    # Удаление esxcli software vib remove -n esx-tools-for-esxi

    Mem.MinFreePct - amount of the memory should keep free


    http://blogs.vmware.com/vsphere/2012/05/memminfreepct-sliding-scale-function.html Mem.MinFreePct =
          0- 4Gb 6%
          4-12Gb 4% 12-28Gb 2% 28-..Gb 1%
    память раскладывается, т.е. например для 64Gb ( 4 + 8 + 16 + 36 ) Mem.MinFreePct = 4Gb * 6% + 8Gb * 4% + 16Gb *2% + 36Gb*1% = 1.24Gb (т.е. 1.9%)
    Пороги по сработке методов рекламации памяти:
          >100% - High - none Mem.MinFreePct * 100% - ???? - baloon Mem.MinFreePct * 64% - Soft - compress Mem.MinFreePct * 32% - Hard - swap (без блокировки VM) Mem.MinFreePct * 16% - Low - hard swap (с блокировкой VM)

    Redirecting vmware.log to ESX syslog


    vmx.log.destination = "syslog-and-disk" # syslog И штатный vmware.log vmx.log.destination = "syslog" # только в syslog
    vmx.log.syslogID = VirtualMachineString # чтоб опознавать логи

    Emulating an SSD Virtual Disk in VM


    scsi1:2.virtualSSD = 1

    Интеграция HP Data Protector - не работает SAN и HotAdd


    Зачастую, при бэкапе виртуальных машин в DP VEA вместо ожидаемого режима SAN или HotAdd включается сетевой NBD. Советы, что подергать:
    Поставить все патчи в DP
    Установить самый свежий Update в ESXi
    Посмотреть, не осталось ли зависших монтажных каталогов в ...\OmniBack\tmp и стереть их
    Для DP 6.2 - SAN не работает на VMFS-5. Использовать VMFS-3
    Для DP 6.2 - HotAdd не работает via ESXi server. Использовать VC server

    Как сбросить забытый пароль admin@System-Domain в SSO 5.1


    Если помним MasterPassword в SSO
    ..\Infrastructure\SSOServer\util\rsautil.exe reset-admin-password
    /usr/lib/vmware-sso/utils/rsautil.exe reset-admin-password
    Если не помним MasterPassword, вставляем хэш пароля в SQL-базу SSO
    SELECT [PASSWORD] FROM [Dbo]. [IMS_PRINCIPAL] WHERE LOGINUID = 'admin' AND PRINCIPAL_IS_DESCRIPTION = 'admin'
    UPDATE [Dbo]. [IMS_PRINCIPAL] SET [PASSWORD] = 'хэш пароля' WHERE LOGINUID = 'admin' AND PRINCIPAL_IS_DESCRIPTION = 'admin'



    Почему не включается Streaming ThinApp'ов


    При захвате ThinAppa в Package.ini нужно выставить переменную
    MSIStreaming = 1 (по умолчанию стоит 0)
    и запустить build.bat

    Запуск Windows 2008 и Windows 8 на ESXi4.1


    Windows 8 и 2012 штатно поддерживается начиная с ESXi 5.0 U1, для более ранних версий ESXi скачать http://www.vmgu.ru/ext/bios.440.rom и положить его в каталог VM
    OS Type: Microsoft Windows Server 2008 R2 bios440.filename = "bios.440.rom" mce.enable = TRUE cpuid.hypervisor.v0 = FALSE vmGenCounter.enable = FALSE
    Затем поставить в VM tools от 5.1(/locker/packages/5.1.0) закачав их на ESX4
    rm /productLocker ; ln -s /vmfs/volumes/{Datastore}/vmware-tools /productLocker esxcfg-advcfg -s /locker/packages/5.1.0 /UserVars/ProductLockerLocation

    Чтоб vmk0 автоматически получал MAC от своего vmnic


    esxcfg-advcfg -s 1 /Net/FollowHardwareMac
    И тогда при клонировании загрузочной USB-флешки с ESXi не возникнет дубля MAC
    Если клонируется не флешка, а виртуальный ESXi с vmdk, то делать VMFS не надо - клоны получат datastore с одинаковыми UUID, VCenter их не подцепит.

    Как погасить дисплей, подключенный к ESXi


    Приветствие на мониторе ESXi выводится на спецфайл терминала процесса DCUI

          cat /etc/inittab . . . tty1::respawn:/sbin/initterm.sh TTY1 /sbin/techsupport.sh ++min=0,swap tty2::respawn:-/sbin/initterm.sh TTY2 /sbin/dcui 2 . . .

    выводим в этот файл ESC-последовательность затирания терминала `tput clear` т.е. \033 [ H \033 [ 2J оно и затрется
    Команда затирания изнутри ESXi-сервера:

          echo -e "\033[H\033[2J" > /dev/tty2
    или, скажем, снаружи, через SSH:

          ssh root@192.168.1.102 'echo -e "\\033[H\\033[2J" > /dev/tty2'

    VCP exam скидка 50% в 2013


    VCP-DV, VCP-DT, Cloud, IaaS http://www.pearsonvue.com/vmware/getcertified/ http://vmware.com/certification Promotion code
    Существует так же инструкторская скидка 25%, до 31 октября 2013 спросить код у своего инструктора

    Поставить VM на паузу


    Узнать PID vmm-процесса VM
    esxcli vm process list # см. VMX Cartel ID
          или ps -c
    kill -STOP {pid} kill -CONT {pid}

    Hyper-V in VMware VM


    Заменить guestOS = "windows8srv-64" на guestOS = "winhyperv" featMask.vm.hv.capable = "Min:1"

    Передача в VM информации о платформе ("проброс BIOS")


    В .vmx файл добавить
    smbios.reflecthost = TRUE

    View: Вычеркивание несуществующего connection или security server'а


    При деиснталляции реплики CS, а так же View security-server они остается в списках серверов конфигурации View. Удалять их приходится руками:
    vdmadmin -S -s server.name -r

    Доступ к экрану View-сессии через vsphere console


    Запустить Group Policy Management Edit -- Group Policy Management Editor -- Computer Configuration
          -- Policies -- Administrative Templates" -- "Add/Remove Templates
    Загрузить ...\VMware\VMware View\Server\Extras\GroupPolicyFiles\pcoip.adm
    Затем

          Computer Configuration
          Policies
          Administrative Templates" -- "Add/Remove Templates
          Classic Administration
          PCoIP Sessions - выставить переменную:
          Enable access to PCoIP session from a vSphere console -- enable

    Copy/paste в консоли VM


    По умолчанию выключенно по соображениям безопасности. Для активации: в .vmx файле конкретной VM
    isolation.tools.copy.disable false isolation.tools.paste.disable false
    Для всех VM ESXi-хоста: Добавить в файл /etc/vmware/config
    vmx.fullpath = "/bin/vmx" isolation.tools.copy.disable="FALSE" isolation.tools.paste.disable="FALSE"

    5.1 Переименование vmdk-файлов при миграции VM


    У переименованной VM имена файлов остаются старые, и не меняются даже при миграции. При миграции переименовывается только каталог. Чтобы при миграции файлы переименовывались: Administration -- vCenter Server Setting -- Advanced Settings
    provisioning.relocate.enableRename true

    Расположение дистрибутивов vmware-tools в ESXi


    Каталог для tools задается конфигурационным параметром
    UserVars.ProductLockerLocation = /locker/packages/5.1.0
    после перезагрузки автоматически создается симлинк /productLocker на него:

          ln -s /locker/packages/5.1.0 /productLocker

    V51: 15 секундная задержка при открытии console у VM


    Надеюсь этот глюк когда-нибудь запатчат. Но пока...
    http://kb.vmware.com/kb/2020988 your desktop/laptop used to connect to vCenter is not connected to internet and so his unable to download updated root certificates from www.download.windowsupdate.com
    На Win 7 gpedit.msc
    Computer \ Administrative Templates\System
          \Internet Communication Management\Internet Communication Settings
    Modify "Turn off Automatic Root Certificates Update" set "Enable"

    V51: подробности про Single Sign On


    Default SSO Admin Account: admin@System-Domain VMw@re11
    Настройка через Web-client:
          Administration -- Configuration -- Identify Sources -- + добавление источника

    V5: настройка SNMP


    esxcli system snmp set -communities public # задать community-string esxcli system snmp set -targets server.domain@161/public # куда слать трапы esxcli system snmp set -enable true # активируем SNMP-сервер esxcli system snmp test

    V5: команды по мониторингу дисков


    esxcli storage san fc reset -A vmhba3 esxcli storage san iscsi stats get
    # получить статус SSD (и не только) диска esxcli storage core device smart get -d naa.xxxxxx

          Media Wearout Indicator показатель здоровья SSD диска
          Reallocated Sector Count перемапленные bad-сектора
          Drive Temperature

    Файл webclient.properties


    Operating System File path Windows 2003 %ALLUSERPROFILE%Application Data\VMware\vSphere Web Client Windows 2008 %ALLUSERPROFILE%\VMware\vSphere Web Client vCenter Server Appliance /var/lib/vmware/vsphere-client
    session.timeout = value время жизни сессии. Чтобы сессия не отваливалась - 0.

    Загрузка VM с USB в Vmware Workstation


    1. Виртуальный BIOS не умеет загружаться с USB.
    Хак 2. Add -- Hard Disk -- RDM -- в качестве физдиска выбираем USB-флешку. Затем в настройках BIOS назначаем этот "диск" загрузочным.
    Хак 3. http://www.plop.at/en/bootmanagerdl.html Plop Boot Manager - загрузочный iso, умеет редиректить загрузку на USB

    Автоматическое скриптовое конфигурирование свежезадеплоеного VCSA


    Подробности: http://www.virtuallyghetto.com/2012/09/automating-vcsa-51-vcenter-server.html
    ssh vcserver <<\EOF
    VCFQDN=vcapp-diego05.hp.local ADADMIN=adadmin05 ADPASSW=password
    ADDOMAIN=`echo $VCFQDN | sed 's/[a-z0-9-]*.//`
          VCNAME=`echo $VCFQDN | cut -d. -f1` ############ echo $VCFQDN > /etc/HOSTNAME /bin/hostname $VCFQDN sed -i s/localhost.local[a-z]*/$VCFQDN/g /etc/hosts sed -i s/localhost.local[a-z]*/$VCNAME/g /etc/hosts /usr/sbin/vpxd_servicecfg db write "$ADADMIN" "$ADPASSW" "$ADDOMAIN"
    /usr/sbin/vpxd_servicecfg eula accept /usr/sbin/vpxd_servicecfg tz write MSK /usr/sbin/vpxd_servicecfg db write embedded # /usr/sbin/vpxd_servicecfg sso write embedded # SSO for v5.1 /usr/sbin/vpxd_servicecfg service start ######### EOF

    Копирование VM с хоста на хост с помощью ovftool by William Lam


    ovftool vi://root@esx1/ # смотрим имеющиеся VM, -ds = Destination Storage ovftool -ds=esx2-Local-storage -dm=thin vi://root@esx1/VMname vi://root@esx2




    Ghosted-ethernets в Windows


    После удаления и замены на новый виртуального ethernet старый конфиг может заклинить и не даст назначить прежний IP новому адаптеру.

          Запускаем Device Manager с показом nonpresent_devices
    set devmgr_show_nonpresent_devices=1 devmgmt.msc
          View > Show Hidden Devices.
    И удаляем zombi-ethernet

    Конфигурирование software FCoE


    vmnic _обязан_ иметь FC-offload
    Выяснить, под каким VLAN зарегистрирован FC в коммутаторе и сделать vmk-порт на требуемом vmnic (обеспечить ему моно-тиминг) с этим VLAN. IP можно назначить любой - он не используется.
    Затем - Storage Adapters -- Add -- Software FCoE

    Активация Perfmon DLL и подгрузка esxtop-csv в Perfmon


    Начиная с версии 5.1 Perfmon.DLL включен по умолчанию
    В более древних версиях он включался переменной в .vmx tools.guestlib.EnableHostInfo = TRUE активирует в Perfmon показ метрик VM Memory и VM Processor
    resxtop -b -a > file.csv esxtop -b -d 2 -n 10 > example_file.csv # -d интервал -f fields
    graph -- Properties -tab- Source -- DataSource -- Log files [*] -- Add
          browse *.csv OK
    # Собрать статистику в файл за 300 сек с шагом 30, а затем прокрутить их # в каталоге /var/tmp vm-support -S -d 300 -i 30 filename # -i или -l? [ -w outfile ] esxtop -R /var/tmp/bundled_snapshot.tgz resxtop -r filename
    # собрать performance statistics vm-support -p -d 300 -i 30
    # активация snmp-агента еsxcli system snmp set --enable true esxcli system snmp set --port {port} esxcli system snmp set --communities public,eastnoc,westno VMware MIB files from the VMware website: http://communities.vmware.com/community/developer/managementapi




    -------- DOCS ------------------------------------------------------- Мониторинг производительности ESXi - обзор для начинающих http://pyatilistnik.org/monitoring-resursov-vmware-esxi-5-5/
    vSphere Monitoring and Performance 7.0 PDF https://docs.vmware.com/en/VMware-vSphere/7.0/vsphere-esxi-vcenter-server-70-monitoring-performance-guide.pdf VMWare ESX Server Metrics https://docs.oracle.com/cd/E11857_01/em.111/e10709/vmware.htm vSphere 7.0 Performance Counter Description https://www.virten.net/2020/12/vsphere-7-0-performance-counter-description/ -------- LINUXTOOLS ------------------------------------------------------- pyvmmomi performance extraction from ESXi https://communities.vmware.com/t5/VMware-vSphere-Discussions/Monitoring-ESXI-Performance-Metrics-over-API/td-p/2234986 vmware-scripts/perl/esxcfg-perf.pl https://github.com/lamw/vmware-scripts/blob/master/perl/esxcfg-perf.pl cpan VMware::VIFPLib.pm
    vSphere Graphite Linux/container: Отслеживает производительность с помощью govmomi. https://github.com/cblomart/vsphere-graphite/blob/master/README.md
    vrops-export A simple command-line data export tool for vRealize Operations. https://github.com/vmware/vrops-export
    -------- POWERCLI ------------------------------------------------------- PowerCLI Performance export cmdlets Get-Stat https://developer.vmware.com/docs/powercli/latest/vmware.vimautomation.core/commands/get-stat/ Get-StatType,Get-StatInterval,Get-Stat https://www.lucd.info/2009/12/30/powercli-vsphere-statistics-part-1-the-basics/

    Как сделать самопальный .vib


    VIB-архив вскрывается и создается архиватором ar
          ar tv file.vib
          ar vx file.vib
    Внутри лежит descriptor.xml с описанием и списком файлов пакета, файл с sig.pkcs7 сигнатурой(можно делать пустой) и tar-gzip-архив без расширения с файлами пакета
    tar czvf vibname etc/ vi descriptor.xml vi sig.pkcs7 ar -r vibname.vib vibname descriptor.xml sig.pkcs7
    scp vibname.vib root@esxi:/vibname.vib
    esxcli software acceptance set --level CommunitySupporte esxcli software vib install -v /vibname.vib
    Origin: http://www.yellow-bricks.com/2011/11/29/how-to-create-your-own-vib-files/


    Добавление пользовательских портов в firewall ESXi 5, 6


    cd /etc/vmware/firewall more services.xml vi myrule.xml # По образу и подобию сделать аналогичные описания портов esxcli network firewall refresh
    После перезагрузки этот файл утрачивается - он создан в RAM-диске. Поэтому - копируем его в /store или куда-нибудь на /vmfs/volumes/... и добавляем в /etc/rc.local (если ESXi 4.x или ESXi 5.0) или в /etc/rc.local.d/local.sh (если ESXi 5.1+)
    cp /store/myrule.xml /etc/vmware/firewall/ esxcli network firewall refresh

          Еще один способ подсовывать свой файл - запаковать его в .tgz в /bootbank :
    chmod 444 /etc/vmware/firewall/myrule.xml # NB: права именно r--r--r-- важны! tar -czvf myrule.tgz /etc/vmware/firewall/myrule.xml BootModuleConfig.sh --add=myrule.tgz
          # для удаления - использовать ключ --remove=myrule.tgz
    После чего в /bootbank/boot.cfg мы увидим добавленный:
    modules= ... --- state.tgz --- myrule.tgz

    Перманентное сохранение настроечных файлов в ESXi 5.0


    ESXi размещает свой корень в рамдиске. Конфиг-файлы, подлежащие сохранению имеют stiky-bit и файл-двойник .#filename закронтабленной командой /sbin/auto-backup.sh все они сохраняются в архиве local.tgz, который пакуется внутрь /bootbank/state.tgz при каждой загрузке конфиги вынимаются из сохраненного local.tgz
    Не в рамдиске живут /bootbank /altbootbank /store - они конечно сохранюется

          ls -al | grep -i ^.........t -r--r--r-T 1 root root 0 Aug 19 2011 .#chkconfig.db -r--r--r-T 1 root root 183 Aug 19 2011 .#hosts -r--r--r-T 1 root root 82 Aug 19 2011 .#ntp.conf -r--r--r-T 1 root root 257 Aug 19 2011 .#passwd
          . . .
    ls -al /bootbank # В /bootbank лежат архивы с софтом и конфигурацией
    cat /bootbank/boot.cfg # параметр modules в файле boot.cfg
          # говорит, какие архивы подлежат вскрытию в рамдиске modules=b.b00 --- useropts.gz --- k.b00 ... --- imgdb.tgz --- state.tgz
    tar tzvf /bootbank/state.tgz
          -rwx------ 0/0 22135 2012-07-26 19:01:02 local.tgz

    http://www.virtuallyghetto.com/2011/08/how-to-persist-configuration-changes-in.html http://www.virtuallyghetto.com/2011/08/how-to-persist-configuration-changes-in_09.html


    Схлопывание тонкого диска


    Опустевший тонкий диск перед схлопыванием - залить нулями В винде - командой sdelete -z В Linux - заливкой пустого места файлом из нулей
          dd if=/dev/zero bs=1024k of=/fs/mount/fuflo ; rm /fs/mount/fuflo ; sync
          или занулением ненулевых блоков fs с помощью команды zerofree
          umount /fs/mount ; zerofree /dev/sdb1 ; mount /dev/sdb1 /fs/mount
    Затем, если нельзя останавливать VM

          сделать два SVMOTION: thin ==> thick eager ; thick eager ==> thin
    Или при выключенной VM:

          # работает на VMFS5, а в VMFS6 не реализована
          vmkfstools -K vm.vmdk # NB! не vm-flat.vmdk, а именно vm.vmdk

          # обратная операция inflate - тонкий в thick eager
          vmkfstools -j vm.vmdk

    Место хранения лицензии на ESX-сервере


    /etc/vmware/vmware.lic /etc/vmware/license.cfg
          при их удалении лицензия сбрасывается

    Подключение ленточных библиотек в VM


    1. FC-connected tape libraryes not supported
    2. Отменить ALUA SATP для библиотечных устройств (tape и changer)

    Для v4.1 esxcli nmp satp listrules -s VMW_SATP_ALUA esxcli nmp satp deleterule --satp VMW_SATP_ALUA --claim-option tpgs_on
    Для v5.0 esxcli стораге nmp satp listrules -s VMW_SATP_ALUA esxcli storage nmp satp rule remove -s VMW_SATP_ALUA
          --device="" --vendor="" --model="" --claim-option="tpgs_on"
          --driver="" --transport="" -b
    3. Сделать их monopath.
    http://vmpress.blogspot.com/2010/12/fc-tape-library-vmware-esxi.html

    Создание снапшотов из командной строки ssh


    vim-cmd vmsvc/getallvms # узнать VM-id vim-cmd vmsvc/snapshot.create VM-id Snapshot-Name

    Автоматическое создание и удаление снапшотов


    http://faq.sanbarrow.com/index.php?solution_id=1080
    В WS и Fusion - используем Autoprotect
    В ESX - руками правим .vmx
    napshot.minFreeSpace = value in bytes snapshot.maxSnapshots = number of allowed snapshots

    The basic parameters
    rollingTier0.interval = "10" This parameter sets a time-interval in seconds. With this value a snapshot will be created every 10 seconds
    snapshot.numRollingTiers = "3" This parameter sets the number of timers you want to run.

    rollingTier0.maximum = "33" This parameter sets the maximum number of snapshots that will be created by the timer.

    rollingTier0.live = "TRUE" Also stores the memory along with the snapshot
    Удаление снапшотов древнее, чем 3 дня:
    Get-VM -Name VMName | Get-Snapshot | \
          Where-Object { $_.Created -lt (Get-Date).AddDays(-3) } | Remove-Snapshot

    Snapshot parameters


    snapshot.action = [ keep | autoRevert | autoCommit | prompt ] workingDir = snapshot.redoNotWithParent = "TRUE" suspend.Directory = snapshot.numSnapshots = snapshot.minFreeSpace =

    HA VM and VM&Application monitoring


    Агент HA мониторит состояние VM, и если она умерла неестественной смертью - перезапускает на _том же самом_ хосте.
    VM monitoring, условие перезапуска:
          либо: аварийный останов сопровождающего VMM
          либо: отсутствие vmtools heartbeat AND полное отсутствие IO
    Application monitoring, условие перезапуска:

          Внутри VM необходимо в цикле запускать программу
          C:\VMware-GuestAppMonitorSDK\bin\win32>vmware-appmonitor.exe
          {enable | disable | markActive}
          markActive - подается не реже, чем раз в 30 секунд
          enable - включает application monitoring изнутри
          disable - выключает application monitoring изнутри

          Входит в состав VMware-GuestAppMonitorSDK, добывается гуглением

          http://www.yellow-bricks.com/2011/08/11/vsphere-5-0-ha-application-monitoring-intro/

    Vmware Data Recovery

    Pre- и post-freeze скрипты:
    Windows: Перед бэкапным снапшотом - исполняются по алфавиту все скрипты из C:\Program Files\VMware\VMware Tools\backupScripts.d
          После удаления бэкапного снапшота - они же, в обратном порядке
    Linux Pre-freeze /usr/sbin/pre-freeze-script Linux Post-thaw /usr/sbin/post-thaw-script

    Serial Port connection

    Вариант: Named Pipe - цепляет компорт одной VM(near end=client) к компорту другой VM(near end=server) - обе машины используют одинаковое слово в поле Pipe Named - чтобы найти друг друга
    Вариант: Use Network
          * Server
          Port URI: telnet://:12345
          После включения VM делаем: "telnet esx.host 12345" и попадаем в компорт VM
    Вариант: Use Network
          * Client
          Port URI: telnet://external.linux:23456 (можно так же ssh?)
          После включения VM делает "telnet external.linux 23456"
          и пробрасывает туда свой компорт

    Virtual Serial Port Concentrator


    Появился в v4.1. Поставляется в виде (платного?) апплианса ACS v6000 Virtual Advanced Console Server В апплиансе управление IP, с консоли: wiz
    У VM'ки: Add Serial Port -- Connect Via Network --
          Click Use Virtual Serial Port Concentrator.
          Port URI: ACSID://ttyS42 (42 = номер порта в концентраторе)
          vSPC URI: telnet://192.168.1.1:8801 - назначает tcp-порт в концентраторе

          Внутри гостевого Linux, в /etc/grub.conf
          console=ttyS0,9600 - переназначает GRUB-console w COM-port
    Так же см: free vspcpy server http://sourceforge.net/p/vspcpy/home/Home/

    Коротко про View Persona Management


    Origin: http://www.vmgu.ru/articles/vmware-view-persona-management
    Можно установить на Connection-сервере GPMC.msc - Group Policy Management Editor http://www.microsoft.com/download/en/details.aspx?id=21895 Запускаем GPMC
    Или запускаем штатный gpedit.msc
    Computer Configuration>Policies>Administrative Templates - Add/Remove Templates

          на CS подключаем c:\...\VMware\VMwareView\Server\extras\GroupPolicyFiles\ViewPM.adm
          на десктопе подключаем c:\...\VMware\VMwareView\ViewAgent\bin\ViewPM.adm
    Затем переходим в
    Computer Configuration>Policies>Administrative Templates
          >VMware View Agent Configuration> Persona Management
          >Roaming& syncronisation
          GPO "Persona Repository Location"
          >Folder Redirectiop
          . . .
          >Desktop UI
          . . .


          Как выключить ESXi через ssh
    # этот метод жестко убивает VM-ки ssh root@esx 'shutdown.sh ; poweroff'

    VM cannot allocate memory при большом об'еме vmdk


    При подключении более 20 жмдк и/или больше 4 Т vmdk суммарно виртуальной машине не хватает heap size.
    VMFS3.MaxHeapSizeMB = увеличить

    Создание DB-instance в Oracle для VCSA


    sqlplus sys/manager as SYSDBA
    CREATE SMALLFILE TABLESPACE "VPX" DATAFILE "/var/oracle/oradata/vpxd/vpx01.dbf"
          SIZE 1G AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT
          MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE USER "VPXADMIN" PROFILE "DEFAULT" IDENTIFIED BY "oracle"
          DEFAULT TABLESPACE "VPX" ACCOUNT UNLOCK;
    grant connect, resource, create view, sequence, create table to VPXADMIN; grant create materialized view to VPXADMIN; grant execute on dbms_lock, execute on dbms_job to VPXADMIN; grant execute on dba_tablespaces to VPXADMIN; grant select on dba_temp_files, select on dba_data_files to VPXADMIN; grant unlimited tablespace to VPXADMIN;
    Название instance придумывается и вбивается в web-управлялке VCSA tsnames.ora редактировать не требуется

    Advanced настройки управляющие памятью


    Mem.ShareVmkEnable = 1 # Разрешает Transparent Page Sharing Mem.MemZipEnable = 1 # Разрешает Memory Compression Mem.GuestAllocLargePages = 1 # Разрешает LagePage во всех VM
    Отключение ASLR (Address Space Layout Randomization) в реестре VM \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages создать ключ DWORD = 0 # Disable ASLR = плюс 20% к эффективности TPS
          # Disable ASLR = минус x% к секьюрности OS

    Внутри VM читаем информацию о настройках vApp, IP pool и OVF environment


    http://virtual-red-dot.blogspot.com/2012/01/vapp-options-in-vm.html
    http://blogs.vmware.com/vapp/2009/07/selfconfiguration-and-the-ovf-environment.html

    Linked-clone своими руками


    Берем обычную VM-1 с обычным виртуальным диском. Делаем ей снапшот.
    Делаем VM-2, с "Disk - Use existing". Через "Browse" находим диск VM-1 - их там два - исходник, и delta - цепляемся к исходному. Не включая VM-2, делаем ей снапшот. Теперь VM-1 и VM-2 можно безболезненно запускать, в т.ч. и на разных хостах.

    Beacon probing по двум аплинкам: револьверный режим


    На двух аплинках beacon probing failure не в состоянии определить, какой из аплинков "погас" (ведь бродкасты не проходят по обоим направлениям). Тогда дополнительно проверяется Link Status. Если оба аплинка "up", vSwitch переключается в "shortgun mode"(двустволка) - весь трафик дублируется в оба аплинка. Это может быть (а может не быть) чревато шквалом RARP бродкастов - используемых при "Notify switches".
    Beacon probing нельзя применять при Ether Channel (balancing by IP hash)

    Просмотр информации о хардвере ESXi 5.0


    smbiosDump

    Установка апдейта в vSphere 5.0


    vihostupdate в V5 отменена. Вместо нее esxcli
    esxcli -server=x.x.x.x -username=root software vib update -depot=/vmfs/volumes/datastore/ESXi500-201109001.zip

    Что почитать про vSphere

    Книжки:

          Nick Marshall "Mastering VMware vSphere 6.7" (1 ed, Sybex, 11.2018)
          Davis, Baca, Thomas "VCP-DCV for vSphere 7.x (Exam 2V0-21.20) Official Cert Guide".
          F.Guthrie, S.Lowe "VMware vSphere Design" (изд.2, Sybex, 03.2013)
          Duncan Epping, Frank Denneman "vSphere 6.7 Clustering Deepdive" (07.2018)

          Dunkan Epping "vSphere HA deepdive 6.x"

          Frank Denneman, Niels Hagoort "Host Resources Deep Dive"

          Mostafa Khalil "Storage Implementation in vSphere 5.0"
          Perf_Best_Practices_vSphere

          Christopher Kusek, Van Van Noy, Andy Daniel
          "VMware vSphere 5 Administration Instant Reference" изд. Sybex
          - помогает при подготовке к VCP
    Книжки на русском:
          Скотт Лоу "VMware vSphere 4. Полное руководство"(Mastering VMware vSphere 4)
          Михаил Михеев "Администрирование VMware vSphere 5"
    Околоvmware'овские блоги:
    http://www.vmgu.ru http://www.virtuallyghetto.com http://vmind.ru http://blog.vadmin.ru http://vmpress.blogspot.com http://www.yellow-bricks.com/ http://CormacHogan.com http://chansblog.com/vmware-nsx/ http://v-front.de http://www.hoonkar.com/main/ http://communities.vmware.com/community/vmtn/vmug/forums/emea/russia?view=discussions VMware Vsphere Blog
    VMware Free Learning Videos VMware Technical Journal

    VADP: vSphere storage APIs for Data Protection

    VAPD FAQ VADP описание API http://www.vmware.com/support/developer/vddk/vadp_vsphere_backup111.pdf VADP сам по себе (загрузка?)

    VAAI: vSphere storage APIs for Array Integration



          VAAI plugins for Array
    ATS (Atomic Test and Set) - Hardware Assisted Locking
    Clone - Hardware Accelerated Full Copy - копирование vmdk
    Zero - Hardware Accelerated Block Zeroing - обнуление eager zeroed vmdk
    Delete - Thin Provisioning - оповещение RAID об удалении VMDK (полезно для массивов с thin-provisioned LUN)

          VAAI plugins for NFS
    Reserve Space - позволяет создать thick vmdk на NFS'e
    Full File Clone - копирование vmdk
    Lasy File Clone - "копирование" посредством NAS-snapshot (offload аналог linked clone)
    Extended Statistics

          Просмотр возможности VAAI для разных LUNs
    esxcli storage core device vaai status get

          Просмотр стандартных назначений VAAI-модулей для поддерживаемых Arrais
    esxcli storage core claimrules list -c all

    Как назначить локальному SATA диску фальшивый атрибут SSD


    http://www.virtuallyghetto.com/2011/07/how-to-trick-esxi-5-in-seeing-ssd.html
    # делаем правило esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device mpx.vmhba1:C0:T2:L0 --option=enable_ssd
    # проверяем его esxcli storage nmp satp rule list | grep enable_ssd
    # активируем esxcli storage core claiming reclaim -d mpx.vmhba1:C0:T2:L0 vim-cmd hostsvc/storage/refresh
    # убеждаемся esxcli storage core device list --device=mpx.vmhba1:C0:T2:L0

    Чтобы ESXi не жаловался на включенный SSH


    Configuration -- Software -- "Advanced Settings" UserVars > UserVars.SupressShellWarning = 1

    HA/DRS 5.0 advanced options


    VMware Distributed Resource Management: Design, Implementation and Lessons Learned
    das.ignoreinsufficienthbdatastore = true das.heartbeatdsperhost = value http://www.virtuallyghetto.com/2011/07/new-vsphere-5-ha-drs-and-sdrs.html

    Частота прерывания таймера в Linux


    Штатная частота прерываний таймера во многих Linux - 1000 Hz. Понизить ее до 100 Hz можно ключом начальной загрузки:
    divider=10
    Кернельный параметр divider=10 сокращает дефолтную частоту обработчика раз, что сокращает CPU overhead для idle VM.

    Размещение снапшотов


    snapshot.redoNotWithParent = "TRUE" workingDir = "..." snapshot.maxSnapshots = "n"

    Configuring Auto Deploy on the vCenter Server Appliance


    Подробнее тут http://www.yellow-bricks.com/2011/08/25/using-vsphere-5-auto-deploy-in-your-home-lab/

          1. Активируем Autodeploy на VCapp https://vcapp.sevrev.address:5480/ Services - Status - Start ESXi services

          2. Настраиваем TFTP
    vSphere Client -- Home - Administration - Autodeploy - "Download TFTP boot zip" и вскрываем эти PXE-файлы в корневой каталог TFTP-сервера
    После активации AutoDeploy - aTFTPd конфигурится в VCVA автоматически /srv/tftpboot/undionly.kpxe.vmw-hardwired - загрузчик /srv/tftpboot/tramp - адрес autodeploy
    Привязка PXE-загрузчика к конкретному Autodeploy - в файле "tramp": #!gpxe set filename https://10.10.47.242:6502/vmw/rbd/tramp chain https://10.10.47.242:6502/vmw/rbd/tramp

          service atftpd restart # рестарт stftpd

          3. Настраиваем DHCP
    vi /etc/sysconfig/dhcpd DHCPD_INTERFACE="eth0"
    mv /etc/dhcpd.conf /etc/dhcpd.conf.old vi /etc/dhcpd.conf
    ddns-update-style interim; subnet 10.10.47.0 netmask 255.255.255.0 { range 10.10.47.212 10.10.47.212; option routers 10.10.47.3; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.47.3;
    # файл автодеплойного загрузчика на указанном TFTP сервере filename "undionly.kpxe.vmw-hardwired"; next-server 192.168.47.112;
    host _disklessesxhostname_ {
          hardware ethernet MA:Ca:dd:re:ss:ESX;
          fixed-address 10.10.47.212;
          } }
    service dhcpd restart

          4. Настраиваем Autodeploy с помощью autodeploy PlugIN
    http://labs.vmware.com/flings/autodeploygui

    5. Настраиваем Autodeploy с помощью PowerCLI


    File path to the ESXi offline image c:\HL234\VMware-ESXi-5.0.0-469512-depot.zip
    # разрешаем работу PowerCLI get-executionpolicy set-executionpolicy unrestricted connect-viserver vCenter.Server.name
    # подключаем архив с дистрибутивом ESXi к ImageBuilder Add-EsxSoftwareDepot c:\HL234\VMware-ESXi-5.0.0-469512-depot.zip
    # а так подключается vmwar-овский депот Get-Help Add-ESXSoftwareDepot -Full Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml # HP depot с HP-build ESXi Add-EsxSoftwareDepot http://vibsdepot.hpe.com/index.xml # Список image-профайлов в подключенных депотах get-esximageprofile
    # Заряжаем правила соответствия - какой хост каким boot-образом кормить:
    # Привязываем image-профайл (фактически - boot-образ) ко всем хостам new-deployrule -name prawilo1 -item ESXi-5.0.0-469512-standard -allhosts
    # загруженный хост включать в кластер Cluster12 new-deployrule -name prawilo2 -item "Cluster12" -allhosts
    # к загруженному хосту применить Host Profile new-deployrule -name prawilo3 -item "HostProfile12" -allhosts
    # Активируем созданные правила add-deployrule -deployrule prawilo1 add-deployrule -deployrule prawilo2 add-deployrule -deployrule prawilo3 add-deployrule -deployrule get-deployruleset

          6. Stateless Caching

          Конфиг берется из Profile, однажды загруженный по сети ESX кэшируется на локальный диск или usb и грузится в случае отказа PXE-boot Выставить в BIOS порядок загрузки: 1. Network, 2. Local Disk
    Host Profiles -- выбрать diskless-profile -- Edit Profile:
          System Image Cache Configuration -- > System Image Cache
          -- > Enable stateless caching on the host
          *Argument for first disk: esx,local (или esx,usb)
          *Check for overwrite any VMFS volume on selected disk: NO

          7. Statefull Installation

          Конфиг берется из Profile, однажды загруженный по сети ESX кэшируется на локальный диск или usb и грузится в дальнейшем с него. Выставить в BIOS порядок загрузки: 1. Local Disk, 2. Network
    Host Profiles -- выбрать diskless-profile -- Edit Profile:
          System Image Cache Configuration -- > System Image Cache
          -- > Enable statefull installs
          *Argument for first disk: esx,local (или esx,usb)
          *Check for overwrite any VMFS volume on selected disk: YES (или NO)


          Еще несколько команд:
    Test-DeployRuleSetCompliance -VMHost host1.company.local Get-VMHost host1.company.local | Test-DeployRuleSetCompliance
    Get-VMHost host1.company.local | Test-DeployRuleSetCompliance | Repair-DeployRuleSetCompliance
    Get-VMHostAttributes -VMHost host1.company.localB Get-VMHost host1.company.local | Get-VMHostAttributesB
    Get-VMHostMatchingRules host1.company.local Get-VMHost host1.company.local | Get-VMHostMatchingRulesB
    Get-Command -Module VMware.DeployAutomaionB

    Image Builder


    Add-EsxSoftwareDepot C:\ESXi-Depot\update-from-esxi5.0-5.0_update01.zip # Add offline software depot Add-EsxSoftwareDepot http://vibsdepot.hp.com # Add online software depot
    Remove-EsxSoftwareDepot zip:C:\ESXi-Depot\update-from-esxi5.0-5.0_update01.zip?index.xml # Remove offline software depot

          Get-EsxSoftwareChannel

          Set-EsxImageProfile
    Get-EsxSoftwarePackage # Show available VIBs Get-EsxSoftwarePackage -Name tools-light # Show details for VIB "tools-light" Get-EsxSoftwarePackage -Vendor VMware # Show all VMware VIBs Get-EsxSoftwarePackage -AcceptanceLevel PartnerSupported # Show PartnerSupported VIBs Get-EsxSoftwarePackage net-e1000 | Select -ExpandProperty Depends # Show dependencies for VIB "net-e1000" Get-EsxSoftwarePackage net-e1000 | Select -ExpandProperty Conflicts # Show conflicts for VIB "net-e1000" Get-EsxSoftwarePackage net-e1000 | Select StatelessReady # Identify if VIB "net-e1000" is Stateless Ready
    New-EsxImageProfile -CloneProfile ESXi-5.0.0-20120302001-standard -Name CustomProfile -AcceptanceLevel PartnerSupported New-EsxImageProfile -NewProfile -Name MinInstall -Vendor Custom -SoftwarePackage esx-base,esx-tboot,misc-drivers
    Add-EsxSoftwarePackage -ImageProfile CustomProfile -SoftwarePackage tools-light # Add VIB "tools-light" to CustomProfile Remove-EsxSoftwarePackage -ImageProfile CustomProfile -SoftwarePackage tools-light # Remove VIB "tools-light" from CustomProfile
    Get-EsxImageProfile # Show Image Profiles Get-EsxImageProfile CustomProfile | Select -Expand VibList # List VIBs in Image Profile "CustomProfile" Compare-EsxImageProfile CustomProfile01 CustomProfile02 # Compare Image Profiles CustomProfile01 and CustomProfile02
    Export-EsxImageProfile -ImageProfile CustomProfile -ExportToIso -FilePath C:\ESXi-Depot\CustomProfile.iso Export-EsxImageProfile -ImageProfile CustomProfile -ExportToBundle -FilePath C:\ESXi-Depot\CustomProfile.zip
    Get-Command -Module VMware.ImageBuilder

    Если DPM не выключает хосты

    Проверить, что _все_ VM-ки поддаются vmotion в оба конца. Зачистить COM-порты у VM-ок, полученных с помощью Convertor'а, как минимум выставить им: NOT connected, и NOT connected at poweron

    Чтоб vsphere-клиент при выборе LUN для RDM/VMFS показывал все LUN

    Чтоб vsphere-клиент при выборе LUN для RDM/VMFS показывал все LUN, а не только незанятые:
    Administration > vCenter Server Settings > Advanced Settings.

          config.vpxd.filter.rdmFilter; false
          config.vpxd.filter.vmfsFilter; false
    Это СТРЕМНО! Не подумав, не применять! http://kb.vmware.com/selfservice/microsites/search.do?externalId=1010513

    Оффтопик. Скриптинг в win-cmd


    cmd /c c:\wintools\devcon.exe find "USB\VID_0BB4&PID_0C02&MI_01" | c:\batch\htc.cmd ########### htc.cmd ########################## @echo off set /p res= if "%res%"=="No matching devices found." goto end "C:\Program Files (x86)\MyPhoneExplorer\MyPhoneExplorer.exe" action=sync flags=noerrmsg syncitem=multi :end

    VDS - конфигурирование без VC


    Вообще-то без VC VDS конфигурировать невозможно, но если у портовой группы port binding = ephemeral, то подключить виртуалку к VDS можно будет и через host, без доступа к VC

    Превращение VM с 4-vcpu в VM с двумя двухядерными процессорами


    cpuid.coresPerSocket = 2

    Как уменьшить размер виртуального диска


    1. Партицию на уменьшаемом диске надо подрезать _заранее_
    2. В файле .vmdk уменьшаем явно заданный (в блоках по 512b) размер диска, RW 25165824 VMFS "Win2003se-flat.vmdk" затем - делаем диску migrate, или "storage vmotion" или VM clone.
    3. Официально vmware этот трюк не поддерживает.

    Просмотр ARP-таблицы в ESXi

    esxcli network neighbor list
    а еще можно - vimsh - по свойствам vSwitch

    Как обнулить пароль в ESX и ESXi


    В ESX - загрузиться single user mode
    В ESXi содержимое /etc/passwd при каждой загрузке замещается с конфиг-архива. Поэтому править нужно в нем.
    setup.tgz лежит на VFAT-партиции No 2(? 3?4?) содержит local.tar - вскрыть их, исправить файл, затем свернуть обратно и положить на место.

    Как восстановить удаленный VMFS3


    Команда "Delete Datastore" удаляет из partition table партицию типа "fb", но сама мета-информация VMFS - остается целой.
    Для оживления удаленного VMFS надо просто воссоздать партицию ручным fdisk с тем же размером, что был у оригинала.
    Тип партиции: "fb"
    Командой "e" (Expert mode) - "x 128"(отступ) сместить начало партиции на 128 блок (т.е. 64Kb от начала)
    Затем "Rescan strorages" - и VMFS будет обнаружен.

    Переназначение snapshot'ов и swap'а на другой сторадж


    Вставляем в .vmx строчку workingDir="/vmfs/volumes/Datastore1/vm-snapshots"
    она переназначает и снапшоты и swapfile тоже.
    Если swapfile должен лежать в другом сторадже, задаем его: sched.swap.dir="path_to_vm_directory...or_other_datastore_dir"
    сделать машине "Remove from inventory"+"Add to inventory"

    Установка updates в ESXi


    Встать в Maintеnаnce моде

          Удаленно: /usr/lib/vmware-vcli/apps/host/hostops.pl --target_host ESX-Host-FQDN
          --operation enter_maintenance --url https://vCenter-Host/sdk/vimService.wsdl

          Локально: vim-cmd hostsvc/maintenance_mode_enter
    esxupdate --bundle /vmfs/volumes/nfs/update-from-esxi4.1-4.1_update01.zip update

    vim-cmd для ESXi


    vim-cmd vmsvc/getallvms # список всех VM
    vim-cmd vmsvc/power.getstate 65 # power-статус
    vim-cmd vmsvc/power.off 64
          power.shutdown,power.suspend ... vim-cmd vmsvc # help
    # shutdown всех VM vim-cmd vmsvc/getallvms|sed -e "s/ .*//"|grep "^[0-9]*$"|\ while read vmid ; do vim-cmd vmsvc/power.shutdown $vmid ; done
    Перезагрузка ESX3.5:
          shutdown -r или
          vim-cmd hostsvc/maintenance_mode_enter
          reboot -f
          vim-cmd hostsvc/maintenance_mode_exit

    Реконфигурация сети у vMA

    Можно перезапустить скрипт начальной конфигурации сетевых параметров vMA:
    # в VMA 4.0 vi-admin$ sudo /opt/vmware/vima/bin/vmware-vima-netconf.pl # в VMA 4.1 vi-admin$ sudo /opt/vmware/vma/bin/firstboot/vmware-vma-netconf.pl
    Дабы у vMA не двоила клавиатура - вставить в .vmx
    keyboard.typematicMinDelay = 2000000

    FT машины не обслуживаются DRS-кластером


    Если в DRS-кластере активировать EVC, DRS начнет обслуживать и FT-машины

    View: если зависает QuickPrep Customization на Win7


    Десктопы Win7 без лицензии (evaluation) QuickPrep'овскую кастомизацию до конца не отрабатывают, создание пула linked-clonов дает ошибку.
    Лечение: regedit'ом отредактировать реестровую переменную (примерно)
    Local Machine/System/Current Control Set/Services/
          VmwareViewComposer-ga/SkipLicenseActivation = 1

    Как выполнить команду внутри GUEST OS



          NOTE! В 2013 VIX API заменяется на vSphere Guest Operations API
          http://www.virtuallyghetto.com/2011/07/automating-new-integrated-vixguest.html
          https://www.vmware.com/support/developer/vix-api/guestOps50_technote.pdf


          Устаревший вариант: VMware API VIX download: http://www.vmware.com/support/developer/vix-api/
    В его состав входит команда vmrun
    http://www.virtuatopia.com/index.php/Controlling_VMware_Virtual_Machines_from_the_Command_Line_with_vmrun
    В .vmx вписать (по умолчанию выключено) vix.inGuest.enable = TRUE
    Примеры использования vmrun (-T esx , -T ws ...)
          vmrun -T esx -h https://myHost.com/sdk -u hostUser -p hostPassword stop "[datastore1] vm/myVM.vmx"

    vmrun -T esx -h https://hostname/sdk -u root -p PaSs -gu Administrator
          -gp guestpasswd listProcessesInGuest "[Vol1] win2008-1/win2008-1.vmx"
    vmrun -T esx -h https://hostname/sdk -u root -p PaSS -gu Administrator
          -gp guestpaswd runProgramInGuest "[datastore1] win2008-1/win2008-1.vmx"
          -activeWindow "c:\windows\system32\cmd.exe"
    vmrun -T ws -h https://hostname:8333/sdk -u root -p PaSS -gu Administrator
          -gp guestpasswd killProcessInGuest "[Vol1] win2008-1/win2008-1.vmx" 2368
    vmrun -T server -h https://hostname:8333/sdk -u root -p PaSS -gu Administrator
          -gp guestpasswd runScriptInGuest "[Vol1] CentOS 5/Centos 5.vmx"
          /usr/bin/ruby /home/ruby/hello.rb
    Либо PowerCLI

    Инсталляция ESXi по сети


    Origin: http://communities.vmware.com/blogs/vmwareinsmb/2010/07/13/esxi-41-scripted-installation-via-pxe-and-kickstart Иметь установленными: dhcpd, tftpd, apache, syslinux, pxeboot
    # Настройки приведены для openSUSE 11.3 - для других Linux надо # делать очевидные замены, типа zypper == > apt-get, yum и т.д.
    zypper install tftp dhcp-server syslinux qiwi-pxeboot apache2
    #### /etc/dhcpd.conf #### задать инсталляционным адресам загрузчик pxelinux option domain-name-servers 192.168.1.4; default-lease-time 86400; max-lease-time 604800; authoritative;
    subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.151 192.168.163.180; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1; }
    # А еще лучше - индивидуально задать на mac-адрес хоста host esxi02 {
          hardware ethernet 08:00:07:26:c0:a5;
          fixed-address 192.168.1.22; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1; }

    ################################
    Смотрим в /etc/xinetd.d/tftp - где корневая директория tftp, например
          server_args = -s /srv/tftpboot меняем disable = yes на disable = no и перезапускаем xinetd service xinetd restart
    # Размещаем в ней загрузчик pxelinux /srv/tftpboot/pxelinux.0 # и его конфигуратор # /srv/tftpboot/pxelinux.cfg/default :
    DISPLAY boot.txt DEFAULT ESX_4.1_install
    LABEL ESX_4.1_install kernel vmware/esx4.1/mboot.c32 append vmware/esx4.1/vmkboot.gz ks=http://192.168.1.4/linux/vmware/esxi-ks.cfg --- vmware/esx4.1/vmkernel.gz --- vmware/esx4.1/sys.vgz --- vmware/esx4.1/cim.vgz --- vmware/esx4.1/ienviron.vgz --- vmware/esx4.1/install.vgz

    в подкаталог tftpd сервера монтируем инсталляционный CDROM ESXi
    mkdir -p /srv/tftpboot/vmware/esx4.1 mount /dev/cdrom /srv/tftpboot/vmware/esx4.1 или mount -o loop /export/vmware/ESXi4.1.iso /srv/tftpboot/vmware/esx4.1
    # Осталось сделать kick-start-файл, и можно приступать #### /export/linux/vmware/esxi-ks.cfg ############## accepteula rootpw supersecretpassword autopart --firstdisk --overwritevmfs
    install url http://192.168.1.4/linux/vmware network --bootproto=static --ip=192.168.1.22 --gateway=192.168.1.1 --nameserver=192.168.1.4 --netmask=255.255.255.0 --hostname=esxi02 --addvmportgroup=0 reboot ####################################################

    Назначение локального SATA-диска в RDM для ESXi

    Origin: http://www.vm-help.com/esx40i/SATA_RDMs.php
    При создании RDM через клиента ESXi локальные SATA-ные диски выбрать не дает. Поэтому RDM-конфиг для него придется делать руками, командой vmkfstools
    # находим VML-идентификатор требуемого диска ls -l /dev/disks/
    ... vml.01000000002020202020202020202020203951473358423630535433353030 -> t10.ATA_____ST3500630AS_________________________________________9QG3CC60
    # Создаем папку для RDM-дисков и переходим в нее mkdir /vmfs/volumes/datastore1/rdm cd /vmfs/volumes/datastore1/rdm
    # создание виртуального RDM (-r с поддержкой снапшотов) vmkfstools -r /vmfs/devices/disks/vml...30535433353030 rdm1.vmdk -a lsilogic
    # создание физического RDM (-z без снапшотов) vmkfstools -z /vmfs/devices/disks/vml.01....5433353030 rdm1.vmdk -a lsilogic
    В виртуальную машину такой RDM цепляем как "Use existing disk"

    esxcli в vSphere 5.0


    # Список nfs-монтирований на хосте: # esxcli storage nfs list
    # Список установленных vib-пакетов: # esxcli software vib list
    # Информация о памяти на хосте ESXi, включая объем RAM: # esxcli hardware memory get
    # Информация о количестве процессоров на хосте ESXi: # esxcli hardware cpu list
    # Список iSCSI-адаптеров и их имена: # esxli iscsi adapter list
    # Список сетевых адаптеров: # esxcli network nic list
    # Информация об IP-интерфейсах хоста: # esxcli network ip interface list
    # Информация о настройках DNS: # esxcli network ip dns search list # esxcli network ip dns server list
    # Состояние активных соединений (аналог netstat): # esxcli network ip connection list
    # Вывод ARP-таблицы: # esxcli network neighbors list
    # Состояние фаервола ESXi и активные разрешения для портов и сервисов: # esxcli network firewall get # esxcli network firewall ruleset list
    # Информация о томах VMFS, подключенных к хосту: # esxcli storage vmfs extent list
    # Мапинг VMFS-томов к устройствам: # esxcli storage filesystem list
    # Текущая версия ESXi: # esxcli system version list
    # Вывод информации о путях и устройствах FC: # esxcli storage core path list # esxcli storage core device list
    # Список плагинов NMP, загруженных в систему: # esxcli storage core plugin list
    # Рескан HBA-адаптеров: # esxcli storage core adapter rescan
    # Получить список ВМ с их World ID и убить их по этому ID # esxcli vm process list # получаем ID # esxcli vm process kill --type=[soft,hard,force] --world-id=WorldID
    # Узнать и изменить приветственное сообщение ESXi: # esxcli system welcomemsg get # esxcli system welcomemsg set
    # Поискать что-нибудь в Advanced Settings хоста: # esxcli system settings advanced list
    # Текущее аппаратное время хоста: # esxcli hardware clock get
    # Порядок загрузки с устройств: # esxcli hardware bootdevice list
    # Список PCI-устройств: # esxcli hardware pci list
    # Рескан iSCSI-адаптеров (выполняем две команды последовательно): # esxcli iscsi adapter discovery rediscover -A {adapter_name} # esxcli storage core adapter rescan [-A {adapter_name} | -all]
    # Список виртуальных коммутаторов и портгрупп: # esxcli network vswitch standard list


    Активация dependend-hardware iSCSI (broadcom chip)


    Ethernet Broadcom 5708,5709(1Gb) и 57711(10Gb) имеет iSCSI offload engine на борту. Дравера к ним появились начиная с 4.1 Update 1.
    1) создать выделенные vmk (для каждого адаптера) и в свойствах портовой группы vmk в "NIC Teaming" -- "Failover Order" в Active оставить только broadcom-овские аплинки
    2) Привязать VMK к соответствующим iscsi-vmhba:
    esxcli swiscsi nic add -n vmk2 -d vmhba32
    esxcli swiscsi nic add -n vmk3 -d vmhba33
    3) Настройка target-discavering "Broadcom iSCSI Adapter" идентична настройкам для Software iSCSI

    Назначение нескольких vmk для доступа к iSCSI


    1. Создать несколько vmk-адресов (желательно, привязав их на разные аплинки) 2. биндим vmk1 и vmk2 в Siftware iSCSI vmhba31 (или какой у него номер)
    esxcli swiscsi nic add -n vmk2 -d vmhba31
    esxcli swiscsi nic add -n vmk3 -d vmhba31
    esxcli swiscsi nic list -d vmhba33
    Пути ведущие к iSCSI-лунам с vmk1 и vmk2 будут выглядеть соотвественно vmhba33:C1:T*:L* и vmhba33:C2:T*:L*
    Выбирая путь к LUN'у с C1 или C2 - мы определяем IP-адрес и интерфейс, с которого будет вестись работа с этим путем к LUN'у

    Маскировка LUN в vSphere 4


    Для маскировки LUN'у вместо штатного плугина PSA назначается "тупой" плугин MASK_PATH
    # найти LUN_ID нужного LUN esxcfg-scsidevs -l # все пути для этого LUN. Например vmhba2:C0:T2:L13 esxcfg-mpath -L | grep {LUN_ID}
    # Добавить правило в конфиг-файл под незанятым номером (в диапазоне 101-200) esxcli corestorage claimrule add --rule 113 -t location -A vmhba2 -C 0 -T 2 -L 13 -P MASK_PATH
    # Загрузить созданное правило в список активных esxcli corestorage claimrule load
    # Убедиться, что имеются два правила с выбранным номером (file и runtime) esxcli corestorage claimrule list
    # Переопределить текущие правила для маршрутов к LUN'у на только что созданные. esxcli corestorage claiming reclaim -d {LUN_ID}
    esxcfg-scsidevs -m
    Origin: http://vgeek.noteit.ru/3097.html Origin: http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1009449

          # Отмена маскрировки LUN'a esxcli corestorage claimrule list esxcli corestorage claimrule delete --rule 113 esxcli corestorage claimrule load esxcfg-rescan esxcfg-rescan # один раз может не помочь esxcfg-mpath -l -P vmhba1:C0:T0:L0 esxcli corestorage claiming reclaim -d {NAA.ID}

    Активация SNMP-агента в ESXi 4

    # Куда слать трапы (напр. с комьюнити public) vicfg-snmp --server hostname -t host.snmp.receiver/public
    # Задать порт SNMP-агента (для get/set) vicfg-snmp --server hostname -p 161 # Задать комьюнити для агента (например public) vicfg-snmp --server hostname -c public
    # Включаем агента SNMP vicfg-snmp --server hostname -enable
    Настройки сохраняются в /etc/vmware/snmp.xml
    # Описания MIB и трапов - тут http://communities.vmware.com/community/developer/managementapi

    Сетевая PXE инсталляция ESXi 4.1


    http://communities.vmware.com/blogs/vmwareinsmb/2010/07/13/esxi-41-scripted-installation-via-pxe-and-kickstart

    Делаем USB-флешку для инсталляции ESXi 4.1 с USB

    Origin: Vallard Benincosa http://benincosa.org/blog/?p=171 Doinfo: http://habrahabr.ru/blogs/sysadm/109204/#habracut Dopinfo scripts: http://www.vm-help.com/forum/viewtopic.php?f=14&t=4
    # монтируем ESXi iso mount -o loop /VM/VMware-VMvisor-Installer-4.1.0-260247.x86_64.iso /media/ESXi
    На флешке: 1 primary partition, size >= 310M, active, type "b" W95 FAT32
    # Отформатировать партицию под vfat mkfs.vfat -n BOOT -F 32 /dev/sdc1
    # прописать mbr на саму флешку, скопировать загрузчик syslinux на партицию syslinux -s /dev/sdc1 dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
    # Скопировать содержимое ESXi-cdorm на флешку mount /dev/sdc1 /media/USB cp -a /media/ESXi /media/USB
    # Удалить с флешки "родной" iso-загрузчик rm /media/USB/isolinux.bin # подсунуть "родное" стартовое меню загрузчику syslinux mv /media/USB/isolinux.cfg /media/USB/syslinux.cfg
    ######################################################## # инсталлятор будет искать install на CDROM, поэтому без КС-файла не обойтись # в файле меню добавить вызов ks-файла для unattended инсталляции: ks=usb ######################################################## default menu.c32 menu title VMware VMvisor Boot Menu timeout 80
    label ESXi Installer menu label ^ESXi Installer kernel mboot.c32 append vmkboot.gz ks=usb --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz # ks=file:///etc/vmware/weasel/ks.cfg
    label ^Boot from local disk menu label ^Boot from local disk localboot 0x80 ######################################################## # simple kickstart file (ks.cfg) just looks like this: ######################################################## vmaccepteula rootpw cluster ######## расскомментировать, если полностью в себе уверен: # автоформат 1-го диска # autopart --firstdisk --overwritevmfs install usb # install url example.com/vm - распакованый образ инсталляшки network --bootproto=static --ip=192.168.70.76 --gateway=192.168.70.1 --hostname=esxi-76 --device=vmnic0 --nameserver=192.168.70.1 --netmask=255.255.255.0 reboot ########################################################

    Если соседские VC генерят разным виртуалкам совпадающие mac-адреса


    Mac-адрес виртуалки генерится исходя из VC Unique ID - если центры залиты с одного темплейта, то дубляж mac-ов практически гарантирован.
    Лечение: в настройках VM - меняем адаптеру automatic на ручной, затем снова automatic
    Лечение правильное (Reference VMware KB 1024025):
    Administration > vCenter Server Settings > Runtime Settings Меняем vCenter Server Unique ID (в диапазоне 1-63) - всем разный

    vSphere 4.1 - что нового


    4.1 - последняя версия ESX. Далее будет только ESXi Поддержка scripted-инсталляции (исползуется стандартный ks-file)
    vSphere-клиент с ESX не ставится. Только с www или с vCentre installation ESXi - может грузиться с SAN. В т.ч. с software iSCSI. Storage hardware assistance array integration (VAAI) - операции с vmdk по возможности отдаются RAID-массиву Продвинутая storage performance статистика Ресурсные пулы для storage-операций. Dependend iSCSI (hardware offload) для Broadcom 57**
          http://vmware.com/support/vsphere4/doc/vsp_41_new_feat.html

    VM с многоядерным процессором


    cpuid.coresPerSocket = 2 # или 4 или 8

    Как задать неvmwar'ный МАК-адрес для VM


    В ESX 3.5 и 4 это невозможно. В ESXi5 это и так работает
    Ниже описана технология для ESX 2 (и workstation) http://communities.vmware.com/thread/172548
    ethernet0.present = "true" ethernet0.checkMACAddress = "FALSE" ethernet0.wakeOnPcktRcv = "false" ethernet0.networkName = "Virtual Machine Network VLAN1" ethernet0.addressType = "static" ethernet0.address = "01:23:43:5a:e0:9f"

    Как опознать ESX-хост, который заблокировал файл у VM

    vmware-cmd -l # список VM-ок и их каталогов.
    проверяем, заблокирован ли файл: touch file-flat.vmdk
          . . . device or resource busy
    To report the MAC address of the lock holder, run the command:
    vmkfstools -D /vmfs/volumes/UUID/VM/lockedfile-flat.vmdk
    Lock [type 10c00001 offset 168282112 v 116, hb offset 4145152 gen 1, mode 2, owner 00000000-00000000-0000-000000000000 mtime 69834 num 1 gblnum 0 gblgen 0 gblbrk 0] RO Owner[0] HB Offset 3166208 56bd4103-63c01780-988c-00505601023e
    tail /var/log/vmkernel # в лог попадает MAC-адрес хоста блокиратора
    Apr 5 09:45:26 Hostname vmkernel: gen 532, mode 1, owner 45feb537-9c52009b-e812-00137266e200 mtime 00137266e200 - mac-adress service-console IP.
    # Еще можно воспользоваться скриптом-надстройкой над vmkfstool -D :

          vmfsfilelockinfo -p /vmfs/volumes/Shared/min05/min05-flat.vmdk "min05-flat.vmdk" locked in Exclusive ... mac address ['00:50:56:01:f0:15'] Host owning the lock on file is 172.20.10.62, lockMode : Exclusive
    Блокировки на NFS-стораджах выглядят как .lck.####
    Какая VM так же использует мой VMDK? egrep -i DISKNAME.vmdk /vmfs/volumes/*/*/*.vmx

          lsof -n | grep win01-flat.vmdk 310578 vmx FILE 82 /vmfs/volumes/56e80110-ea5fb07e-8c6a-00505601023e/win01/win01-flat.vmdk http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=10051

    HA 4.1 рестарт VM


    При HA failover делается 5 попыток рестарта виртуальных машин: R,2min,4min,8min,8min,8min # суммарно - 30 минут
    8min таймаут задается в
    /opt/vmware/aam/ha/vmwaremanager.pl line 37:
    my $VM_RESTART_DELAY_MAX = 480; # 8min
    затем
    service mgmt-vmware restart service vmware-vpxa restart

    HA admition control


    Host Failures Tolerated (1..4) Размер слота = (Mem x CPU reservation максимальной VM Считаем сколько слотов помещается в кластере, за вычетом заданного HostTolerate Получаем максимальное число VM-ок, которое разрешается запустить в кластере

    Advanced Configuration parameters for HA



          Дефолтный размер HA-слота для машин с нулевой резервацией das.vmCpuMinMHz = 256 MHz das.vmMemoryMinMB = 256 Mb

          Ограничиваем максимальный размер HA-слота для машин с очень большой резервацией: das.slotCpuInMHz das.slotMemInMB

    das.usedefaultisolationaddress = false (по умолчанию - default gw SC) das.isolationaddressX (X = 1..10) дополнительные Isolation-адреса
    das.failuredetectiontime = 15000 (рекомендуется увеличить до 20000 ms)

    LUN маскинг в V4


    esxcli corestorage claimrule add -r claimrule_ID -t type requiredoption -P MASK_PATH

    Distributed switches


    Хост хранит настройки от DS в локальном кеше, синхронизирует их каждые 5 мин
    /etc/vmware/dvsdata.db
    net-dvs -f /etc/vmware/dvsdata.db # дешифровка dvsdata кэша
    таймаут на дисконфигурацию - 24 часа C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg <dvs><portReserveTimeout>mm</portReserveTimeout></dvs>
    Оторванный DS можно удалить только когда от него отцеплены все VM

    Генерация лог-бандла на ESX 4


    vm-support
    Внешний log-host на ESX в /etc/syslog.conf *.* @IP.address.of.log.host
    esxcfg-firewall -o 514,out,udp,syslog_traffic
    Внешний log-host на ESXi vicfg-syslog -s IP.address.of.log.host
    Конфигур логинга и его ротации: /etc/vmware/viconfig/vilogdefaults.xml

    Прием логов снаружи на лог-хосте:
    /etc/sysconfig/syslog SYSLOGD_OPTIONS="- -m 0"
    service syslog restart iptables -I INPUT -i eth0 -p udp --dport 514 -j ACCEPT и добавить его же в /etc/rc.local, или в /etc/sysconfig/iptables
    Активация центрального логгинга на vMA
    vilogger --server ESX_or_ESXi enable vilogger enable vilogger list

    vsish



          vsish --help # работа с конфигурационными данными ESX
    cd - change working directory ls - list nodes pwd - print working directory get - perform GET operation cat - synonym for GET set - perform SET operation typeget - get type information typels - list type-level nodes loglevel - set debugging log level exit,quit,q - quit shell

    * vSphere 4 *


    vCLI

    vicfg-* esxcli vmkfstools vifs svmotion resxtop vmware-cmd vihostupdate
    "vSphere Command-Line Interface Installation and Reference Guide" http://www.vmware.com/support/pubs
    vicfg-nics --server ESXa --username root --password vmware -l vicfg-nics --server vC1 --username vcadmin --password vmware -vihost ESXa -l

    vMA(vmware managemet appliance) - настройки и использование


    root - отключен, используем vi-admin
    все команды начинаются с префикса vicfg- esxcfg- - сохранен для backwardcompatibility
    1. Активируем vi-fastpass (неинтерактивная авторизация)

          sudo vifp addserver vCenter.Server.system

          vifp listservers

          vifpinit vCenter.Server.system # при новом логине команду повторить

          vicfg-nics -l --vihost ESX.host
    2. Альтернатива - сохранять временный session file
    /usr/share/doc/vmware-vcli/samples/session/save_session.pl
    save_session.pl --savesessionfile /tmp/vimsession --server server.name.or.address --username user_name --password password
    vicfg-nics --sessionfile /tmp/vimsession -l

    Установка vCSHB - VC Server Heartbeat


    4Gb disk, 512Mb RAM, Display 1024x768 Включить RDP (My Computer - Propertie - Remote) Выключить Firewall (Control panel - Windows Firewall) Enable VSS для C: C: - Properties - Shadow copy Eth1 - Statical IP for VC, Advanced - WINS - Enable NetBIOS over TCP Eth2 - Statical IP for HB channel, Advanced - WINS - Enable NetBIOS over TCP Установить vSphere Client Установить VC Дистрибутив vCSHB обязан лежать на C: (с сетевого пути не ставится)

    Открыть доступ к консоли esx-VM через VNC


    Работает в ESX3.5, ESX4, WorkStation 6,7. В ESXi не работает
    http://kb.vmware.com/selfservi...ayKC&externalId=1246
    В .vmx добавляем
    RemoteDisplay.vnc.enabled = TRUE RemoteDisplay.vnc.port = "5910" RemoteDisplay.vnc.password = "secret"
    Не забыть в файволе на ESX-сервере открыть указанный порт
    esxcfg-firewall --enableService vncServer
          или esxcfg-firewall -i 5910,tcp,in,vnc10
    Коннектимся к ESX-серверу:
    vncviewer esx.host.name:5910 или esx.host.name:10

    Бэкап конфигурации ESXi локально через VIM-CMD

    KB: 2042141
    # synchronize the configuration changed with persistent storage vim-cmd hostsvc/firmware/sync_config
    # backup the configuration data for an ESXi host # command outputс URL of backup /scratch/downloads/configBundle-HostFQDN.tgz vim-cmd hostsvc/firmware/backup_config

    Бэкап конфигурации ESXi через RCLI (устарел)


    # Бэкап vicfg-cfgbackup.pl --server esxN --username root --password pass -s c:\esxN.cfg
    # Восстановление: vicfg-cfgbackup.pl --server esxN --username root --password pass -l c:\esxN.cfg
    # reset to factory setting vicfg-cfgbackup.pl --server esxN --username root --password pass -r

    Что такое vShield Zones



          Это система VM-ок файрволлов(vShield) на каждом ESX + управляющая консоль(vShield Manager) - тоже VM.

          У каждой vShield три сетевых интерфейса: mgmt, unprot и prot, которые подключены в соотв. портгруппы.

          mgmt (со своим IP )- для коммуникации с vShield Manager
          unprot смотрит в физическую сетку
          prot - смотрит в internal vSwitch - в нем и живут защищаемые VM-ки
          Обеспечивает полностью прозрачный firewall, фильтрацию и т.д.

    Настройка VM для установки в нее ESXi5


    В vSphere 5.0 появился поддерживаемый тип гостевой: vSphere 4 и vSphere 5 При создании новой VM его невозможно выбрать, поэтому создаем VM под Linux RedHat 5/64, а затем меняем на vSphere 5.
    HW CPU и MMU для VM по умолчанию срезается. Чтобы хост пробрасывал в свои VM аппаратную поддержку виртуализации процессора, добавить в файл
    /etc/vmware/config
    vhv.allow = "TRUE"
    Прочие настройки почти без изменений по сравнению с V4:
    VM Virtual Hardware Version 8 GuestOS: vSphere 5 VCPU: 2, RAM: 2Gb++ NIC: 2* e1000 SCSI: LSI Logic Parallel
    PortGroup security: Promiscous mode=Accept
    Чтобы во вложенном ESXi 5.0 работал FT:

          replay.supported = "true"
          replay.allowFT = "true"
          replay.allowBTOnly = "true"

          esxcli system settings advanced set -o /Migrate/VMotionStreamDisable -i 0
          esxcfg-advcfg -s 0 /Migrate/VMotionStreamDisable

    Настройка VM Workstation 7.0 для установки в нее ESX4


    Общий диск делаем Preallocated, Independent, Persistent, NoWriteCache в .vmx добавляем строчки:
    disk.locking = "FALSE" diskLib.dataCacheMaxSize = "0"
    Это позволит в Workstation'е не нарываться на блокировку vmdk
    Ethernet'а достаточно и одного. Поставить его в "Bridged" + "Replicate physical connection state" Для NAT и HosOnly чекбокса "Replicate conn state" нет, его можно сделать: ethernet0.linkStatePropagation.enable = "TRUE"
    Сделать группу vmwareusers - ее члены смогут делать promiscous своим гостям
    chgrp vmwareusers /dev/vmnet0 chmod g+rw /dev/vmnet0
    Тогда виртуалки будут видны во внешнем LAN.
    Wake on LAN включается так: ethernet0.wakeOnPcktRcv = "FALSE"

    Настройка VM для установки в нее ESX4


    Да, это возможно. ESX 3.5 и 4.0 может крутиться внутри виртуальной машины WorkStation 6,7, Mac Fusion 7 и ESX 4.0
    http://www.vcritical.com/2009/05/vmware-esx-4-can-even-virtualize-itself/
    Настройки VM:
    GuestOS: RHEL 5(64 bit) VM Virtual Hardware Version 7 VCPU: 2, RAM: 2Gb NIC: 2* e1000 SCSI: LSI Logic Parallel
    PortGroup security: Promiscous mode=Accept
    Ставимся со стандартного iso с ESX4 или ESX4i
    Однако при попытке стартовать VM внутри виртуалного ESX получим: "You may not power on virtual machine in a virtual machine"
    Чтобы справиться с этим добавить в .vmx файл ESX'а строку
    monitor_control.restrict_backdoor = TRUE
    А чтобы во вложенном ESX работал FT - добавляем (неподдерживаемый) параметр
    replay.logReadData = checksum

    В V4 перестала работать скриптовая инсталляция


    Веб-интерфейс для генерации ks-файлов был ликвидирован, зато в /root/ks.cfg лежит адекватная версия для проинсталлированной системы.
    опция загрузки ksdevice=eth0 отныне не работает, надо использовать vmnic0
    итоговая строка скриптовой инсталляции должна выглядеть примерно так:
    esx ks=nfs://192.168.51.10/ks/sc-unreal06.cfg ksdevice=vmnic0
    http://communities.vmware.com/message/1274648 ks.cfg # вариант для сетовой инсталляции . . . install url http://192.168.1.1/4.0/ . . .
    SNIP-config:
    kernel vmlinuz-install-vmware4 append initrd=initrd-install-vmware4.img ksdevice=vmnic0 ip=172.16.12.132 netmask=255.255.255.0 gateway=172.16.12.1 nameserver=172.16.11.250 vmkopts=debugLogToSerial:1 mem=512M ks=http://172.16.10.2/ks/${file}.cfg
    ?? IPAPPEND 1

    Как открыть root'доступ в vMA


    sudo chsh -s /bin/bash root

    how can i view which physical nic each VM's vNic maps to


    esxtop will show the used uplink in the TEAM-PNIC colum
          (vSphere esxtop only)

    Distributed switch: ephemeral vs dynamic port binding


    Static - port-id для VM назначается в момент создания/задания подключения
          количество подключенных VM ограничено числом портов в портгруппе Dynamic - port-id выдается в момент poweron
          количество "подключеных" VM не ограничено
          количество включенных VM ограничено числом портов в портгруппе Ephemeral - количество портов в портгруппе не задано.
          Port-id выдается в момент poweron,
          количество включенных VM - любое
          В этом режиме невозможно задавать параметры для конкретных port-id

    FT - экономим netw - secondary может самостоятельно вести disk IO


    По умолчанию весь дисковый ввод/вывод ведет PrimaryVM, а прочитанные данные передаются на SecondaryVM через FTloggingNet. Но можно переключить SecondaryVM на самостоятельное чтение с диска
    Добавить в .vmx
    Естественно, дисковый вывод порождаемый SecondaryVM по-прежнему выполняется только с PrimaryVM
    Кажется, этот фокус возможен только на RDM, ибо на VMDK висит исключительная блокировка Primary-ESX
    replay.allowBTOnly = TRUE setting

    FT - список совместимости



          3rd-Generation AMD Opteron based on the AMD Barcelona, Budapest and Shanghai processor families; and Intel Xeon processors based on the Penryn and Nehalem microarchitectures

          Intel Xeon based on 45nm Core 2 Microarchitecture Category:

          o 3100, 3300, 5200 (DP), 5400, 7400

          Intel Xeon based on Core i7 Microarchitecture Category:

          o 5500 Series

          AMD 3rd Generation Opteron Category:

          o 1300, 2300 Series (DP), 8300 (MP)

          Ограничен также список поддерживаемых операционных систем. Подробности:

          http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008027

          FT FAQ

    vApp IP settings do not directly influence anything


    Then, at the individual VM level turn on Edit Settings > Options > vApp Options, and at OVF Settings turn on one or both of the Environment Transports. The next thing is to go to vApp Options > Advanced > Properties. For each network setting that you want to query in your VM add a new property there, give it an appropriate key, open Type > Edit, select Dynamic Property and the thing you want to query (e.g. IP Address for network Production). When you are satisfied, give your OK to all dialogs and start the VM.
    Once the VM is up, depending on which transport you enabled you will find a CD in its drive containing ovf-env.xml or you can query the same information with
    vmware-guestd --cmd "info-get guestinfo.ovfEnv"
    This XML blob will contain the properties you configured above including, for example an IP adress assigned from the IP Pool. All that's left to do is write code that parses the file and bashes the settings into the guest OS. Of course all vApp properties that are not autoconfigured will be there as well.

    Вернуть аплинк из дистрибутед свитча обратно обычному, с SC-портом


    esxcfg-vswitch -l # get the port ID for the nic
    esxcfg-vswitch -V the-port-id -Q vmnicN DVSvSwitchname
    esxcfg-vswitch -L vmnic# vSwitch#

    Временная зона в ESX 4

    Это настройка для древних ESX. В ESXi 6.7 временная зона не конфигурится!
    ls -al /usr/share/zoneinfo/* # файлы описания зон ls -l /etc/localtime # действующая зона /etc/sysconfig/clock # установка в пользовательском environment

    * Vi 3.5 *


    Активация unsupported в ESXi


    SSH доступ к ESXi


    http://wiki.vm4.ru/InstBase/ssh

          Вообще-то unsupported доступен по умолчанию, но на всякий случай:

          Клиентом: ESXi-host -- Configuration -- Software -- Advanced Setting
          VMkernel.Boot.techSupportMode = Enable

          В локальной консоли ESXi нажмите ALT-F1. Напечатайте unsupported. Текста видно не будет, но вы войдете в режим Tech Support Mode и появится запрос пароля root

          vi /etc/inetd.conf
          Расскомментировать #ssh
          Перезапустите management services или inetd

          /sbin/services.sh restart

          kill -HUP `cat /var/run/inetd.pid`

          Reboot'ить при этом ESXi не надо - ибо содержимое /etc/inetd.conf после перезагрузки ресетится к дефолтному состоянию.

          Но и описанная технология, гидная для ESXi 3.5 - в 4-ке как-то не заработала

    Что нового в VI4 aka vSphere aka NextGeneration VI


    Upgrading VMware deployments
    Distributed virtual switches to simplify datacenter-wide network management
    VMDirectPath - assign a PCI adapter directly to a virtual machine
    Storage vMotion - миграция диска работающей VM
    Увеличение размера виртуальных дисков и VMFS томов в онлайне
    VMware's new Pluggable Storage Architecture
    VMware Fault Tolerance - application availability
    Lincked Mode - Manage more than one vCenter Server from the same client
    Use the new Host Profiles feature to keep hosts uniformly configured
    VMware Distributed Power Management - энергосбережение
    Save disk space with thin provisioning
    Виртуальные апплиансы, содержащие сразу несколько VM

    Если в VI Client не открывается консоль виртуальной машины


    Clicked on the VM and selected "open console" I got the following:
    "error connecting: can not connect to host x.x.x.x: a connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond."

    To fix the problem add the following line to the /etc/vmware/config file:
    vmauthd.server.alwaysProxy = "TRUE"
    http://vmetc.com/2008/06/02/vi-client-open-console-attempt-fails/

    Если клавиатура в консоли VM двоит


    Увеличиваем таймаут между нажатиями в .vmx
    keyboard.typematicMinDelay = 20000000

    Как остановить виртуальную машину


    Получить список зарегистрированных в ESX-сервере машин.
    vmware-cmd -l
    Посмотреть статус VM
    vmware-cmd {cfg} getstate
    where {cfg} is the path to the .vmx file retrieved from the vmware-cmd -l command.
    Останов, старт, саспенд, снапшот виртуальной машины: start/stop/suspend/snapshot
    vmware-cmd {cfg} stop
    4. Verify the state again with:
    vmware-cmd {cfg} getstate

    Как установить в ESX 3.5 Storage VMotion


    www.vmware.com => Downloads => VMware Infrastructure 3 Download => Driver & Tools => VMware Infrastructure Remote CLI Download
    Проще всего запускаться командой
    svmotion --interactive

    Как добавить пользовательские дравера на Convertor Cold Clone CD


    Within the cd there is a tool called petool.exe with it you can add the needed extra drivers for your hardware.
    You just need to create a folder in uppercase with the drivers, than run the command bellow, it will import the drivers to the coldclone ISO.
    petool.exe -i c:\temp\coldclone.iso -d c:\temp\DRIVERS

    Как ограничить IP-доступ к виртуальному центру


    conf directory for tomcat and there is a file called server.xml If you put the following entry in that file it does the job

          allow="1.2.3.4,5.6.7.8,192.168.1.*"/>
    There is a different valve for limiting by domain name.

    Создание и управление VMFS-стораджами


    Сторадж создается только на SCSI-дисках (к которым относятся SCSI, SAS, FC, iSCSI) В отдельной партиции, ID партиции - "fb", начало партиции желательно выравнять на 128 блок (64Kb)
    esxcfg-vmhbadevs # выводит список лунов и соответствующих им /dev/sd* в SC
    vmhba1:0:13 /dev/sda vmhba1:0:14 /dev/sdb vmhba1:0:21 /dev/sdc
    fdisk /dev/sda # создаем primary партицию с ID "fb" n p 1 t 1 fb w
    fdisk /dev/sda # выставляем начало 1 партиции на 128-й блок (64-й килобайт) x b 1 128 w . . .
    fdisk -l /dev/sda
          Device Boot Start End Blocks Id System /dev/sda1 1 11 88326 fb Vmware VMFS
    esxcfg-info -s

    При создании стораджа указываем партицию, которую хотим отформатировать под VMFS3
    vmkfstools -C vmfs3 -S StorageName vmhba1:0:13:1
    Добавление экстенда к стораджу:
    vmkfstools -Z vmhba1:0:14:1 vmhba1:0:13:1 # -Z добавка голова
    vmkfstools -K name.vmdk #? не проверено - сплющить нулевые блоки в тонком диске

    Работа со стораджами


    ls -l /vmfs/volumes vdf vmkfstools -P StorageName vmkfstools -P -h StorageName # -h - выводить разнеры в Mb/Gb
    # переименование Стораджа (старый симлинк удалять и переименовывать НЕ НАДО)
    ln -sf /vmfs/volumes/storage-uuid /vmfs/volumes/NewStorageName

    Файлы, из которых состоит VM


    VM.vmx Конфиг-файл VM
    VM.vmdk Диск VM (конфиг файл диска) VM-flat.vmdk Цельный диск VM (preallocated - собственно данные)
    VM-f0001.vmdk Splitted диск VM (2Гб кусок splited preallocated диска) VM-s0001.vmdk Splitted growable диск VM (2Гб кусок расрастущего диска)
    VM.vmsd Словарь снапшота и заснапшоченых дисков VM.vmem VM memory mapped то file VM.nvram NVRAM Award-BIOS'а VM VM.vmx.lock Lock, создается при старте VM VM-delta.vmdk Снапшотная дельта VM-Snapshot8.vmsn Конфигурация снапшота No 8

    Distribudet Lock Handling Host-блокировки на VMFS3


    Хост-lock создается в heartbit-регионе, timestamp обновляются каждые 3 сек.
    Наличие лока проверяется 15 секунд - если за 5 проверок timestamp не обновился - значит владелец lock'а скончался, и его можно перехватить. Далее делается восстановление накатом журнала, и ставится свой lock.

    Монтаж стораджей, и стораджи на LUN-снапшотах


    ESX монтирует все корректные (с его точки зрения) стораджи с VMFS3 В заголовке VMFS3 указан UUID и номер LUN'а, на котором он создан.
    Если в заголовке VMFS3 указан не тот LUN, под которым мы его видим - значит это не оригинал, а RAID-овый снапшот, полученный в результате CA или BC
    Категорически недопустимо монтировать два стораджа, имеющих одинаковый UUID Автоматический монтаж управляется двумя Advanced Config-переменными LVM.DisallowSnapshotLUN, LVM.EnableResignature
    LVM.EnableResignature = 1 (default) если видим снапшотный LUN - прописываем ему в заголовок новый UUID и LUN, после этого он безболезненно монтируется
    LVM.DisallowSnapshotLUN = 1 либо просто запрещаем монтировать такой LUN
    LVM.DisallowSnapshotLUN = 0 (default 0) снапшотный LUN - таки монтируется
    LVM.EnableResignature = 0 если видим снапшотный LUN - заголовок не меняем
    Самый цирк случается, если хитровымученный RAID-массив один и тот же LUN двум разным хостам показывает под разным lun-номером. Тогда один из них всегда будет воспринимать этот LUN как заснапшоченый - и стремиться произвести с ним ресигнатуру - скорректировать заголовок, следом - второй хост захочет того-же - и так в вечном цикле. Именно для таких случаев выставляют LVM.EnableResignature = 0, LVM.DisallowSnapshotLUN = 0
    Управление переменными:
    cat /proc/vmware/config/LVM/EnableResignature # посмотреть
    esxcfg-advcfg -g /LVM/EnableResignature # посмотреть
    esxcfg-advcfg -s 1 /LVM/EnableResignature # выставить в 1
    esxcfg-rescan vmhba1
    Либо (стремно)
    vi /etc/vmware/esx.conf /adv/LVM/EnableResignature = "1"
    /adv/Disk/MaskLUNs = "vmhba2:0:34-38;vmhba3:0:1,5,7-9" /adv/Disk/MaxLUN = "256" /adv/Disk/DiskSupportSparseLUN /adv/Disk/ShedNumReqOutstanding
    shutdown -r 0

    Модули, драверы и их настройки


    esxcfg-module -q # посмотреть статус и список модулей VMKERNEL
    cat /proc/scsi/qla2300/1 # посмотреть настройки 1-го контроллера типа qla2300
    /proc/scsi/[draver]/[instance]
    esxcfg-boot -q vmkmod # boot-options vmkernel'a
    # сконфигурить длину очереди для QLogig FC esxcfg-module -s ql2maxqdepth=64 qla2300_707_vmw
    vi /etc/vmware/esx.conf /vmkernel/module/qla2300_707_vmw.o/options = ql2maxqdepth=64
    vmkload_mod -s qla2300_707_vmw # детальные текущие настройки дравера
    Сразу несколько настроек для разных instansow драверa в одной команде:

    esxcfg-module -s "lpfc0_lun_queue_depth=16 lpfc0_lun_queue_depth=16" lpfcdd_7xx
    после любых настроек модулей выполнить команду esxcfg-boot -b


          esxcfg-boot -b # пересобирает init-ram-disk и его настройки


    Для гостевых Windows - удлинить таймаут по опознанию сбойнувшего диска
    Старт -- Рун -- регедит
    HKEY_LOCAL_MACHINE > System > CurrentControlSet > Services > Disk
    TimeOutValue = 60

    Работаем с virtual-свитчами


    esxcfg-nics -l # статус физических ethernet'ов
    esxcfg-nics -s 1000 -d full vmnic2
    32 nics per host 32 nics per vSwitch 128 vSwitchs 512 PortGroups 1016 Ports per vSwitch 4096 Ports in all PortGroups (точнее 4096 - 128 - numvswith*8)

    esxcfg-vswitch -a vSwith2:32 # создать 24-портовый (32-8) v-свитч
    esxcfg-vswitch -D Production vSwith2 # оторвать портгруппу esxcfg-vswitch -A Production vSwith2 # создать в vSwith2 портгруппу Production esxcfg-vswitch -A Production -v 105 vSwith2 # создать в vSwith2 портгруппу Production с VLAN 105 esxcfg-vswitch -v 105 -p "Service Console" vSwitch0 # Назначить порт-группе Service Console VLAN 105

    esxcfg-vswitch -L vmnic2 vSwith2 # подключить физический ethernet в vSwith2 esxcfg-vswitch -U vmnic2 vSwith2 # оторвать физический ethernet
    esxcfg-vswitch -l # просмотреть конфиг всех vSwitch
    esxcfg-vswitch -m 9000 vSwith1 # enable Jumbo frames в vSwitch1

    esxcfg-vswitch -B listen vSwith1 # включить CiscoDiscoveryProtocol esxcfg-vswitch -B down vSwith1 # выключить CDP esxcfg-vswitch -b vSwith1 # проверить статус CDP
    esxcfg-vswif -l # Посмотреть IP-настройки Service Console
    # Назначить IP-адрес для Service Console esxcfg-vswif -a -i 192.168.31.36 -n 255.255.255.0 -m 1500 -p "Service Console" vswif0

    esxcfg-vmknic -l # посмотреть статус VMkernel'ных IP esxcfg-vmknic -a -i IP -n NETMASK -m MTU -p PortGroupName # назначить IP для vmkernel
          # TSO включается по умолчанию, чтобы не включался - добавить -t

    esxcfg-route [gateway-IP] # default gateway для VMkernel esxcfg-route -l # посмотреть таблицу маршрутизации vmkernel cat /proc/vmware/net/tcpip/ifconfig vmping # ping с vmkernel'ного адреса

    Как прописать себе права админа VC, если Администратор стал ReadOnly


    VC SQL database table : VPX_ACCESS
    Then add another row : ID: 1 Principal : Administrators Role_ID : -1 ENTITY_ID : 1 FLAG : 3
    Afterwards you need to restart the Virtual Center Services.

    Как переименовать ESX-сервер 3.5


    1. Update the following files with the correct server name
          /etc/hosts
          /etc/sysconfig/network
          /etc/vmware/esx.conf
    2. Update the hostname as follows # hostname mateo0x.hp.local
    3. Restart the network # service network restart
    4. Restart the hostd daemon so that the VI client will get the updated hostname # service mgmt-vmware restart



    Scripted installation KS file for ESXi4.1


    Origin: http://www.kendrickcoleman.com/index.php?/Tech-Blog/esxi-41-kickstart-install-wip.html
    ########### cut here ################### rootpw changeme install url http://192.168.187.66/ESXi autopart --firstdisk --overwritevmfs reboot
    #Network install type network --bootproto=static --addvmportgroup=false --device=vmnic0 --ip=192.168.50.13 --netmask=255.255.255.0 --gateway=192.168.50.1 --nameserver=192.168.3.2 --hostname=ESXi3.FQDN
    accepteula
    %firstboot --unsupported --interpreter=busybox
    #Assign VLAN to Management PortGroup esxcfg-vswitch -v 50 -p 'Management Network' vSwitch0
    #Add vMotion Portgroup to vSwitch0 esxcfg-vswitch -A vMotion vSwitch0
    #Add pNIC vmnic6 to vSwitch0 esxcfg-vswitch -L vmnic6 vSwitch0
    #Assign ip address to vMotion vmk1 esxcfg-vmknic -a -i 192.168.51.12 -n 255.255.255.0 -p vMotion
    #Assign VLAN to vMotion PortGroup esxcfg-vswitch -v 51 -p vMotion vSwitch0
    sleep 10
    #set vMotion to vmk vim-cmd hostsvc/vmotion/vnic_set vmk1
    #Set NIC order policy for port groups vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic0 --nicorderpolicy-standby=vmnic6 vSwitch0 'Management Network'
    vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic6 --nicorderpolicy-standby=vmnic0 vSwitch0 vMotion
    #Add new vSwitch for IP Storage esxcfg-vswitch -a vSwitch_IP-SAN
    #Set MTU to 9000 for jumbo frames on vSwitch esxcfg-vswitch -m 9000 vSwitch_IP-SAN
    #Add Portgroup to vSwitch_IP-SAN esxcfg-vswitch -A NetApp_FAS2020a vSwitch_IP-SAN
    #Assign IP address to vmknic esxcfg-vmknic -a -i 192.168.52.12 -n 255.255.255.0 -m 9000 NetApp_FAS2020a
    #Add NICs to new vSwitch esxcfg-vswitch -L vmnic2 vSwitch_IP-SAN
    #Add NICs to new vSwitch esxcfg-vswitch -L vmnic7 vSwitch_IP-SAN
    vim-cmd hostsvc/net/refresh
    sleep 10
    #Change LoadBalance for Etherchannel - WORKS WHEN TYPED IN CLI BUT NOT WORKING IN SCRIPT FOR SOME REASON vim-cmd hostsvc/net/vswitch_setpolicy --nicteaming-policy=loadbalance_ip vSwitch_IP-SAN
    #Add NFS datastores esxcfg-nas -a -o 192.168.52.101 -s /FAS2020a_Node1_NFS_A FAS2020a_Node1_NFS_A esxcfg-nas -a -o 192.168.52.101 -s /FAS2020a_Node1_NFS_B FAS2020a_Node1_NFS_B esxcfg-nas -a -o 192.168.52.102 -s /FAS2020a_Node2_NFS_A FAS2020a_Node2_NFS_A
    #Adding the FT Network esxcfg-vswitch -a vSwitch_FT esxcfg-vswitch -A Fault_Tolerance vSwitch_FT esxcfg-vswitch -L vmnic4 vSwitch_FT esxcfg-vswitch -L vmnic9 vSwitch_FT
    esxcfg-vmknic -a -i 192.168.55.12 -n 255.255.255.0 -p Fault_Tolerance
    vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic4 --nicorderpolicy-standby=vmnic9 vSwitch_FT Fault_Tolerance
    vim-cmd hostsvc/advopt/update FT.Vmknic string vmk3
    vim-cmd hostsvc/net/refresh
    #Set DNS vim-cmd hostsvc/net/dns_set --ip-addresses=192.168.3.23,192.168.3.2
    # Set NFS advanced Configuration Settings esxcfg-advcfg -s 30 /Net/TcpipHeapSize esxcfg-advcfg -s 120 /Net/TcpipHeapMax esxcfg-advcfg -s 10 /NFS/HeartbeatMaxFailures esxcfg-advcfg -s 12 /NFS/HeartbeatFrequency esxcfg-advcfg -s 5 /NFS/HeartbeatTimeout esxcfg-advcfg -s 64 /NFS/MaxVolumes
    # NTP time config - NOT WORKING!! echo "Configuring NTP" echo restrict default kod nomodify notrap noquerynopeer > /etc/ntp.conf echo restrict 127.0.0.1 >> /etc/ntp.conf echo server 0.vmware.pool.ntp.org >> /etc/ntp.conf echo server 2.vmware.pool.net.org >> /etc/ntp.conf echo driftfile /var/lib/ntp/drift >> /etc/ntp.conf /sbin/chkconfig --level 345 ntpd on /etc/init.d/ntpd stop /etc/init.d/ntpd start
    #enable SSH TechSupportMode - shouldn't use this, was just a test vim-cmd hostsvc/enable_remote_tsm vim-cmd hostsvc/start_remote_tsm
    vim-cmd hostsvc/net/refresh
    #grep ^admins: /etc/group > /dev/null || groupadd admins #useradd -g admins -c LocalESXAccount LocalESX #echo mypassword | passwd --stdin LocalESX ########### cut here ###################