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
Бесплатные бекапилки для 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 у VM
Для Vsphere5.5 "Last verison" = 10, и VM перестает редактироваться в Win-client
Для понижения версии - создать новую VM, и подцепить к ней старый диск.
Точную версию можно назначить через Web Client
Или командой:
vim-cmd vmsvc/getallvms
vim-cmd vmsvc/upgrade {VMID} vmx-09
Как сделать слабый пароль пользователю 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,5,4
Корректное клонирование 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
Миграция VM воткнутой в Internal switch
По умолчанию запрещена. Чтоб разрешили - приходится предварительно дисконнектить ethernet, или отключать с него IP-адрес изнутри гостевой OS. "Лечится" advanced-настройкой VCentra 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: 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
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
Если помним 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
Приветствие на мониторе 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'
Узнать 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-сессии через 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
По умолчанию выключено по соображениям безопасности. Для активации: 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
tools.guestlib.EnableHostInfo = TRUE активирует в Perfmon показ метрик VM Memory и VM Processor resxtop -a -b > file.csv graph -- Properties -tab- Source -- DataSource -- Log files [*] -- Add browse *.csv OK # Собрать статистику в файл за 300 сек с шагом 30, а затем прокрутить их vm-support -S -d 300 -l 30 filename resxtop -r filename
Как сделать самопальный .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:How to create your own .vib files
Добавление пользовательских портов в firewall ESXi 5
cd /etc/vmware/firewall more services.xml vi my.xml # По образу и подобию сделать аналогичные описания портов esxcli network firewall refresh После перезагрузки этот файл утрачивается - он создан в рамдиске. Поэтому - копируем его в /storage или куда-нибудь на /vmfs/vlumes/... и добавляем в /etc/rc.local (если ESXi 4.x или ESXi 5.0) или в /etc/rc.local.d/local.sh (если ESXi 5.1) cp /store/my.xml /etc/vmware/firewall/ esxcli network firewall refresh
Перманентное сохранение настроечных файлов в 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 В Linux - заливкой пустого места файлом из нулей dd if=/dev/zero bs=1024k of=/fs/mount/fuflo ; rm /fs/mount/fuflo ; sync Затем сделать два SVMOTION: thin ==> thick eager ; thick eager ==> thin
Место хранения лицензии на 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
Автоматическое создание и удаление снапшотов
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
Snaphot parameters
snapshot.action = [ keep | autoRevert | autoCommit | prompt ]
workingDir =
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, добывается гуглением
 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
Книжки: Scott Lowe "Mastering vSphere 5" - лучшая F.Guthrie, S.Lowe "VMware vSphere Design" (изд.2, 2012) Duncan Epping, Frank Denneman "VMware vSphere 5 Clustering Technical Deepdive" Mostafa Khalil "Storage Implementation in vSphere 5.0" Perf_Best_Practices_vSphere Книжки на русском: Скотт Лоу "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://jabuin.livejournal.com/ http://www.vsphere.ru http://www.vmworld5.ru http://vmpress.blogspot.com http://www.vm4.ru http://communities.vmware.com/community/vmtn/vmug/forums/emea/russia?view=discussions 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)
   
esxcli storage core device vaai status get - просмотр возможности VAAI для разных LUNs
esxcli storage core claimrules list -c all - просмотр стандартных назначений VAAI-модулей для поддерживаемых Arrais
Как назначить локальному 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
Кернельный параметр divider=10 сокращает дефолтную частоту обработчика таймера в 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-iodine12.hp.local:5480/
Services - Status - Start ESXi services
 2. Настраиваем TFTP
vSphere Client -- Home - Administration - Autodeploy -
"Download TFTP boot zip" и вскрываем эти PXE-файлы
в корневой каталог TFTP-сервера
Привязка 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
 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
 4. Настраиваем 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.hp.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
     5. 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
     6. 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
Изменение частоты таймера для Linux
Штатная частота прерываний таймера во многих Linux - 1000 Hz. Понизить ее до 100 Hz можно ключом начальной загрузки: divider=10
Если 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
# Ostalosx sdelatx 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
esxcli storage nfs list - список nfs-монтирований на хосте
esxcli software vib list - список установленных vib-пакетов
esxcli hardware memory get - информация о памяти на хосте ESXi, включая объем RAM
esxcli hardware cpu list -  информация о количестве процессоров на хосте ESXi
esxcli iscsi adapter list - список iSCSI-адаптеров и их имена
esxcli network nic list - список сетевых адаптеров
esxcli network ip interface list - информация об IP-интерфейсах хоста
esxcli network ip dns search list - информация о настройках DNS
esxcli network ip connection list - состояние активных соединений (аналог netstat)
esxcli network neighbors list - вывод ARP-таблицы
esxcli network firewall get - состояние фаервола ESXi и активные разрешения для портов и сервисов
esxcli network firewall ruleset list - состояние фаервола ESXi и активные разрешения для портов и сервисов
esxcli storage vmfs extent list - информация о томах VMFS, подключенных к хосту
esxcli storage filesystem list - мапинг VMFS-томов к устройствам
esxcli system version list - текущая версия ESXi
esxcli storage core path list - вывод информации о путях и устройствах FC
esxcli storage core device list - вывод информации о путях и устройствах FC
esxcli storage core plugin list - список плагинов NMP, загруженных в систему:
esxcli storage core adapter rescan - рескан HBA-адаптеров
esxcli vm process list - получаем ID 
esxcli vm process kill --type=[soft,hard,force] --world-id=WorldID - получить список ВМ с их World ID и убить их по этому ID
esxcli system welcomemsg get - узнать и изменить приветственное сообщение ESXi
esxcli system welcomemsg set - узнать и изменить приветственное сообщение ESXi
esxcli system settings advanced list - поискать что-нибудь в Advanced Settings хоста
esxcli hardware clock get - текущее аппаратное время хоста
esxcli hardware bootdevice list - порядок загрузки с устройств
esxcli hardware pci list - список PCI-устройств
esxcli iscsi adapter discovery rediscover -A {adapter_name} - рескан iSCSI-адаптеров (выполняем две команды последовательно)
esxcli storage core adapter rescan [-A {adapter_name} | -all] - рескан iSCSI-адаптеров (выполняем две команды последовательно)
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/VMDIR/LOCKEDFILE.xxxx 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. Блокировки на NFS-стораджах выглядят как .lck.####
Какая VM так же использует мой VMDK?
egrep -i DISKNAME.vmdk /vmfs/volumes/*/*/*.vmx 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Оторванный DS можно удалить только когда от него отцеплены все VM mm 
Генерация лог-бандла на 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