Рубрики
esx*

VMware vSphere, ESX tools

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
mm

Оторванный 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