Alarm action run script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Скрипт запускается на 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-домен
1 2 3 4 |
domainjoin-cli join domain.name domain-username domainjoin-cli query domainjoin-cli leave domainjoin-cli query |
Бесплатные бекапилки для vSphere и Free ESXi aka vSphere Hypervisor
1 2 3 4 5 6 7 8 9 10 11 12 |
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
1 2 3 4 5 6 7 8 9 10 |
Диски, подвешенные на 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
1 2 3 4 5 6 7 |
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
1 2 3 4 5 6 7 8 9 |
В /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
1 2 3 4 5 |
По умолчанию запрещена. Чтоб разрешили - приходится предварительно дисконнектить ethernet, или отключать с него IP-адрес изнутри гостевой OS. "Лечится" advanced-настройкой VCentra Administration > vCenter Server Settings > Advanced Settings config.migrate.test.CompatibleNetworks.VMOnVirtualIntranet "false". |
Переезд с Windows VC на Linux appliance VC
1 2 3 4 |
Передача базы не возможна. Схема Oracle-базы под Windows и Linux различаются. Migration-tool для 5.1, 5.5 отсутствует. Остается экспорт-импорт дистрибьютед свитчей. |
Roud Robin для всех
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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
1 2 3 |
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
1 |
scsi1:2.virtualSSD = 1 |
Интеграция HP Data Protector — не работает SAN и HotAdd
1 2 3 4 5 6 7 8 9 |
Зачастую, при бэкапе виртуальных машин в 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Если помним 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’ов
1 2 3 |
При захвате ThinAppa в Package.ini нужно выставить переменную MSIStreaming = 1 (по умолчанию стоит 0) и запустить build.bat |
Запуск Windows 2008 и Windows 8 на ESXi4.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Приветствие на мониторе 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
1 2 3 4 5 |
esxcli vm process list - см. VMX Cartel ID ps -c kill -STOP {pid} kill -CONT {pid} |
Hyper-V in VMware VM
1 2 3 |
Заменить guestOS = "windows8srv-64" на guestOS = "winhyperv" featMask.vm.hv.capable = "Min:1" |
Передача в VM информации о платформе («проброс BIOS»)
1 2 |
В .vmx файл добавить smbios.reflecthost = TRUE |
Доступ к экрану View-сессии через vsphere console
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Запустить 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
1 2 3 4 5 |
По умолчанию выключено по соображениям безопасности. Для активации: isolation.tools.copy.disable false isolation.tools.paste.disable false |
5.1 Переименование vmdk-файлов при миграции VM
1 2 3 4 5 6 |
У переименованной VM имена файлов остаются старые, и не меняются даже при миграции. При миграции переименовывается только каталог. Чтобы при миграции файлы переименовывались: Administration -- vCenter Server Setting -- Advanced Settings provisioning.relocate.enableRename true |
Расположение дистрибутивов vmware-tools в ESXi
1 2 3 4 5 |
Каталог для tools задается конфигурационным параметром UserVars.ProductLockerLocation = /locker/packages/5.1.0 после перезагрузки автоматически создается симлинк /productLocker на него: ln -s /locker/packages/5.1.0 /productLocker |
V51: 15 секундная задержка при открытии console у VM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Надеюсь этот глюк когда-нибудь запатчат. Но пока... 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
1 2 3 4 |
Default SSO Admin Account: admin@System-Domain VMw@re11 Настройка через Web-client: Administration -- Configuration -- Identify Sources -- + добавление источника |
V5: настройка SNMP
1 2 3 4 |
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: команды по мониторингу дисков
1 2 3 4 5 6 7 8 9 |
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
1 2 3 4 5 6 7 |
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 2 3 4 5 6 7 |
1. Виртуальный BIOS не умеет загружаться с USB. Хак 2. Add -- Hard Disk -- RDM -- в качестве физдиска выбираем USB-флешку. Затем в настройках BIOS назначаем этот "диск" загрузочным. Хак 3. http://www.plop.at/en/bootmanagerdl.html Plop Boot Manager - загрузочный iso, умеет редиректить загрузку на USB |
Автоматическое скриптовое конфигурирование свежезадеплоеного VCSA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Подробности: 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
1 2 |
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
1 2 3 4 5 6 7 8 9 10 |
После удаления и замены на новый виртуального ethernet старый конфиг может заклинить и не даст назначить прежний IP новому адаптеру. Запускаем Device Manager с показом nonpresent_devices set devmgr_show_nonpresent_devices=1 devmgmt.msc View > Show Hidden Devices. И удаляем zombi-ethernet |
Конфигурирование software FCoE
1 2 3 4 5 6 7 |
vmnic _обязан_ иметь FC-offload Выяснить, под каким VLAN зарегистрирован FC в коммутаторе и сделать vmk-порт на требуемом vmnic (обеспечить ему моно-тиминг) с этим VLAN. IP можно назначить любой - он не используется. Затем - Storage Adapters -- Add -- Software FCoE |
Активация Perfmon DLL и подгрузка esxtop-csv в Perfmon
1 2 3 4 5 6 7 8 9 10 11 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
VIB-архив вскрывается и создается архиватором ar ar tv file.vib ar vx file.vib Внутри лежит descriptor.xml с описанием и списком файлов пакета, файл с sig.pkcs7 сигнатурой(можно делать пустой) и tar-gzip-архив без расширения с файлами пакета tar czvf vibname etc/ vi descriptor.xml vi sig.pkcs7 ar -r vibname.vib vibname descriptor.xml sig.pkcs7 scp vibname.vib root@esxi:/vibname.vib esxcli software acceptance set --level CommunitySupporte esxcli software vib install -v /vibname.vib Origin: http://www.yellow-bricks.com/2011/11/29/how-to-create-your-own-vib-files/ |
Добавление пользовательских портов в firewall ESXi 5
1 2 3 4 5 6 7 8 9 10 11 12 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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 |
Схлопывание тонкого диска
1 2 3 4 5 6 |
Опустевший тонкий диск перед схлопыванием - залить нулями В винде - командой 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-сервере
1 2 3 |
/etc/vmware/vmware.lic /etc/vmware/license.cfg при их удалении лицензия сбрасывается |
Подключение ленточных библиотек в VM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 |
Автоматическое создание и удаление снапшотов
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Агент HA мониторит состояние VM, и если она умерла неестественной смертью - перезапускает на _том же самом_ хосте. VM monitoring, условие перезапуска: либо: аварийный останов сопровождающего VMM либо: отсутствие vmtools heartbeat AND полное отсутствие IO Application monitoring, условие перезапуска: Внутри VM необходимо в цикле запускать программу C:\VMware-GuestAppMonitorSDK\bin\win32>vmware-appmonitor.exe {enable | disable | markActive} markActive - подается не реже, чем раз в 30 секунд enable - включает application monitoring изнутри disable - выключает application monitoring изнутри Входит в состав VMware-GuestAppMonitorSDK, добывается гуглением http://www.yellow-bricks.com/2011/08/11/vsphere-5-0-ha-application-monitoring-intro/ |
Vmware Data Recovery
1 2 3 4 5 6 7 8 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Вариант: 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Появился в 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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
1 2 |
# этот метод жестко убивает VM-ки ssh root@esx 'shutdown.sh ; poweroff' |
VM cannot allocate memory при большом об’еме vmdk
1 2 3 4 |
При подключении более 20 жмдк и/или больше 4 Т vmdk суммарно виртуальной машине не хватает heap size. VMFS3.MaxHeapSizeMB = увеличить |
Создание DB-instance в Oracle для VCSA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 настройки управляющие памятью
1 2 3 4 5 6 7 8 |
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
1 2 |
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 своими руками
1 2 3 4 5 6 7 |
Берем обычную VM-1 с обычным виртуальным диском. Делаем ей снапшот. Делаем VM-2, с "Disk - Use existing". Через "Browse" находим диск VM-1 - их там два - исходник, и delta - цепляемся к исходному. Не включая VM-2, делаем ей снапшот. Теперь VM-1 и VM-2 можно безболезненно запускать, в т.ч. и на разных хостах. |
Beacon probing по двум аплинкам: револьверный режим
1 2 3 4 5 6 7 8 |
На двух аплинках beacon probing failure не в состоянии определить, какой из аплинков "погас" (ведь бродкасты не проходят по обоим направлениям). Тогда дополнительно проверяется Link Status. Если оба аплинка "up", vSwitch переключается в "shortgun mode"(двустволка) - весь трафик дублируется в оба аплинка. Это может быть (а может не быть) чревато шквалом RARP бродкастов - используемых при "Notify switches". Beacon probing нельзя применять при Ether Channel (balancing by IP hash) |
Просмотр информации о хардвере ESXi 5.0
1 |
smbiosDump |
Установка апдейта в vSphere 5.0
1 2 |
vihostupdate в V5 отменена. Вместо нее esxcli esxcli -server=x.x.x.x -username=root software vib update -depot=/vmfs/volumes/datastore/ESXi500-201109001.zip |
Что почитать про vSphere
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Книжки: 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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
1 2 |
Configuration -- Software -- "Advanced Settings" UserVars > UserVars.SupressShellWarning = 1 |
HA/DRS 5.0 advanced options
1 2 3 4 5 6 |
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
1 2 |
Кернельный параметр divider=10 сокращает дефолтную частоту обработчика таймера в 10 раз, что сокращает CPU overhead для idle VM. |
Размещение снапшотов
1 2 3 |
snapshot.redoNotWithParent = "TRUE" workingDir = "..." snapshot.maxSnapshots = "n" |
Configuring Auto Deploy on the vCenter Server Appliance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
Подробнее тут 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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
1 2 |
Штатная частота прерываний таймера во многих Linux - 1000 Hz. Понизить ее до 100 Hz можно ключом начальной загрузки: divider=10 |
Если DPM не выключает хосты
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Проверить, что _все_ 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
1 2 3 4 5 6 7 |
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
1 2 3 |
Вообще-то без VC VDS конфигурировать невозможно, но если у портовой группы port binding = ephemeral, то подключить виртуалку к VDS можно будет и через host, без доступа к VC |
Превращение VM с 4-vcpu в VM с двумя двухядерными процессорами
1 |
cpuid.coresPerSocket = 2 |
Как уменьшить размер виртуального диска
1 2 3 4 5 6 7 |
1. Партицию на уменьшаемом диске надо подрезать _заранее_ 2. В файле .vmdk уменьшаем явно заданный (в блоках по 512b) размер диска, RW 25165824 VMFS "Win2003se-flat.vmdk" затем - делаем диску migrate, или "storage vmotion" или VM clone. 3. Официально vmware этот трюк не поддерживает. |
Просмотр ARP-таблицы в ESXi
1 2 |
esxcli network neighbor list а еще можно - vimsh - по свойствам vSwitch |
Как обнулить пароль в ESX и ESXi
1 2 3 4 5 6 7 |
В ESX - загрузиться single user mode В ESXi содержимое /etc/passwd при каждой загрузке замещается с конфиг-архива. Поэтому править нужно в нем. setup.tgz лежит на VFAT-партиции No 2(? 3?4?) содержит local.tar - вскрыть их, исправить файл, затем свернуть обратно и положить на место. |
Как восстановить удаленный VMFS3
1 2 3 4 5 6 |
Команда "Delete Datastore" удаляет из partition table партицию типа "fb", но сама мета-информация VMFS - остается целой. Для оживления удаленного VMFS надо просто воссоздать партицию ручным fdisk стем же размером, что был у оригинала. Тип партиции: "fb" Командой "e" (Expert mode) - "x 128"(отступ) сместить начало партиции на 128 блок (т.е. 64Kb от начала) Затем "Rescan strorages" - и VMFS будет обнаружен. |
Переназначение snapshot’ов и swap’а на другой сторадж
1 2 3 4 5 6 7 8 9 |
Вставляем в .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
1 2 3 4 5 6 7 8 9 10 |
Встать в 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
1 2 3 4 5 6 7 8 |
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:
1 2 |
shutdown -r или vim-cmd hostsvc/maintenance_mode_enter reboot -f или vim-cmd hostsvc/maintenance_mode_exit |
Реконфигурация сети у vMA
1 2 3 4 5 |
Можно перезапустить скрипт начальной конфигурации сетевых параметров 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
1 |
keyboard.typematicMinDelay = 2000000 |
FT машины не обслуживаются DRS-кластером
1 |
Если в DRS-кластере активировать EVC, DRS начнет обслуживать и FT-машины |
View: если зависает QuickPrep Customization на Win7
1 2 3 4 5 6 7 |
Десктопы Win7 без лицензии (evaluation) QuickPrep'овскую кастомизацию до конца не отрабатывают, создание пула linked-clonов дает ошибку. Лечение: regedit'ом отредактировать реестровую переменную (примерно) Local Machine/System/Current Control Set/Services/ VmwareViewComposer-ga/SkipLicenseActivation = 1 |
Как выполнить команду внутри GUEST OS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
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 по сети
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Для маскировки 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# Куда слать трапы (напр. с комьюнити 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
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-адреса
1 2 3 4 5 6 7 8 |
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 — что нового
1 2 3 4 5 6 7 8 9 10 11 |
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 с многоядерным процессором
1 |
cpuid.coresPerSocket = 2 # или 4 или 8 |
Как задать неvmwar’ный МАК-адрес для VM
1 2 3 4 5 6 7 8 9 10 11 |
В 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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?
1 2 |
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
1 2 3 4 5 6 7 8 9 10 11 |
При 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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
1 |
esxcli corestorage claimrule add -r claimrule_ID -t type requiredoption -P MASK_PATH |
Distributed switches
1 2 3 4 5 6 7 8 9 10 11 |
Хост хранит настройки от DS в локальном кеше, синхронизирует их каждые 5 мин /etc/vmware/dvsdata.db net-dvs -f /etc/vmware/dvsdata.db # дешифровка dvsdata кэша таймаут на дисконфигурацию - 24 часа C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg <dvs><portReserveTimeout>mm</portReserveTimeout></dvs> Оторванный DS можно удалить только когда от него отцеплены все VM |
Генерация лог-бандла на ESX 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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
1 2 3 4 5 6 7 8 9 10 11 12 |
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 |