= заметки о vmware [[PageOutline(2-3,содержание)]] == обновление esxi 5 и выше === онлайн просмотр обновлений [http://www.vmware.com/patchmgr/download.portal тут], инструкция по офлайн обновлению [http://kb.vmware.com/kb/2008939 тут]. разрешаем httpClient на гипервизоре: {{{#!bash esxcli network firewall ruleset set -e true -r httpClient }}} [[br]] смотрим что появилось новенького: {{{#!bash esxcli software sources profile list \ -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml }}} [[br]] после выбора обновления запускаем установку: {{{#!bash esxcli software profile update \ -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml \ -p ESXi-5.5.0-20150402001-standard }}} [[br]] после обновления ребут обязателен: {{{#!bash reboot -f }}} [[br]] запрещаем httpClient на гипервизоре, ибо нефиг: {{{#!bash esxcli network firewall ruleset set -e false -r httpClient }}} === оффлайн {{{#!bash esxcli software vib update -d /vmfs/volumes/d91/ESXi550-201512001.zip }}} [[br]] == обмануть vsan о ssd {{{#!bash disk2ssd=naa.618e7283727cafd01d42561a0fb1680a export disk2ssd esxcli storage nmp satp rule add --satp=VMW_SATP_LOCAL --device ${disk2ssd} --option "enable_local enable_ssd" esxcli storage core claiming unclaim --type=device --device ${disk2ssd} esxcli storage core claimrule load esxcli storage core claimrule run esxcli storage core claiming reclaim -d ${disk2ssd} }}} проверка результата: {{{#!bash esxcli storage core device list | grep -i -E "^naa|ssd|local" }}} [[br]] == графики vsphere после отключения ipv6 вместо отображения данных рисуют ошибку. лечится [http://kb.vmware.com/kb/2118223 так]. == vcsa 6.0 dns/ntp: {{{#!bash appliancesh # рутовый пароль dns.hostname.get dns.domains.list dns.servers.get ntp.get }}} [[br]] == добровольный выход esxi из vsan {{{#!bash esxcli vsan storage list esxcli vsan storage automode set --enabled false esxcli vsan storage remove -s [SSD-DEVICE-ID] esxcli vsan cluster leave esxcli vsan cluster get }}} [http://kb.vmware.com/kb/2072347 подробности] [[br]] == сменить ip-адрес у vcsa из консоли {{{#!bash /opt/vmware/share/vami/vami_config_net }}} [[br]] == таймауты vcsa * [http://kb.vmware.com/kb/1004790 системные операции]; * [http://kb.vmware.com/kb/2040626 для веб-морды]; * shell-таймаут: удалить `/etc/profile.d/tmout.sh` или закомментарить его содержимое; [[br]] == слабый пароль пользователю esxi pam запрещает давать локальным пользователям esxi слишком простые пароли. чтобы разрешить (временно, до перезагрузки) задание слабого пароля: в `/etc/pam.d/system-auth` в строчке `password requisite /lib/security/$ISA/pam_passwdqc.so retry=3 min=8,8,8,7,6` заменить на `min=6,6,6,0,0` [[br]] == отключение hotplug для сетевушек и дисков чтобы гостевая венда не предлагала извлечь сетевые карты и диски внутри виртуалки, [http://kb.vmware.com/kb/1012225 нужно добавить] в .vmx строчку: {{{#!nginx devices.hotplug = "false" }}} весьма неприятно, что при экспорте/импорте виртуальной машины через файл эта настройка исчезнет. [[br]] == получение списка алертов с почтовыми уведомлениями например, для копирования в новый или другой vcenter. {{{#!bash Connect-VIServer Get-AlarmDefinition | Select Name,@{ n = "Action"; e = { $_ | Get-AlarmAction | Where { $_.ActionType -eq "SendEmail" } } } | Where-Object { $_.Action -match "SendEmail" } }}} [[br]] == snmp в esxi v1,2c: {{{#!bash esxcli system snmp set --communities public esxcli system snmp set --enable true esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 10.0.0.0/8 esxcli network firewall ruleset set --ruleset-id snmp --enabled true /etc/init.d/snmpd restart }}} v3: {{{#!bash esxcli system snmp set --authentication MD5 esxcli system snmp set --privacy AES128 esxcli system snmp hash -r -A password1 -X password2 esxcli system snmp set --users cacti/hash_from_prev_command1/hash_from_prev_command2/priv esxcli system snmp set --enable true snmpwalk -v3 -u cacti -l AuthPriv -a MD5 -A password1 -x AES -X password2 esxi.host }}} [[br]] == в esxi 5.1: `Found extra CIM-XML Indication Subscription` после применения host profile * host profile → detach (сначала можно попробовать без этого); * `esxcli system snmp set --enable false`; * host profile → attach, remediate; [[br]] == сохранение и восстановление конфигурации esxi 5 и выше {{{#!bash vim-cmd hostsvc/firmware/sync_config vim-cmd hostsvc/firmware/backup_config vim-cmd hostsvc/maintenance_mode_enter vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz }}} [[br]] == `permission denied` при попытке запуска `vmware remote console` у пользователя с ограниченным доступом нужно добавить пользователя в глобальную группу и этой группе навесить роль с единственным разрешением `virtual machine` -> `interaction` -> `console interaction` в каждый из esxi узлов. либо, если лениво, глобально на весь кластер с галочкой `propagate to children`. [[br]] == нет `/dev/disk/by-id/wwn-*` внутри виртуалки c линуксом добавить в advanced параметры виртуальной машины `disk.EnableUUID` = `TRUE` [[br]] == заплатка для виртуалок на ненадёжном сторедже для el6 `/etc/udev/rules.d/99-vmware-scsi-udev.rules`: {{{#!bash # # VMware SCSI devices Timeout adjustment # # Modify the timeout value for VMware SCSI devices so that # in the event of a failover, we don't time out. # See Bug 271286 for more information. ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware ", ATTRS{model}=="Virtual disk ", RUN+="/bin/sh -c 'echo 777 >/sys$DEVPATH/timeout'" ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware, ", ATTRS{model}=="VMware Virtual S", RUN+="/bin/sh -c 'echo 777 >/sys$DEVPATH/timeout'" }}} для el6 `/usr/lib/udev/rules.d/99-vmware-scsi-udev.rules`: {{{#!bash # # VMware SCSI devices Timeout adjustment # # Modify the timeout value for VMware SCSI devices so that # in the event of a failover, we don't time out. # See Bug 271286 for more information. ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*" , ATTRS{model}=="Virtual disk*", RUN+="/bin/sh -c 'echo 777 >/sys$DEVPATH/device/timeout'" ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*" , ATTRS{model}=="VMware Virtual S", RUN+="/bin/sh -c 'echo 777 >/sys$DEVPATH/device/timeout'" }}} и не забыть `udevadm trigger`. [[br]] == ошибка `requirement cannot be satisfied within the ImageProfile` вместо обновления [https://communities.vmware.com/thread/471204 нужно] вытащить нужный vib и обновления, установить его через `esxcli software vib install -v /tmp/xxxxxxxxxxx.vib` и после этого повторить обновление. [[br]] == последовательность интерфейсов в `esxi` иногда в `esxi` интерфейсы располагаются не в той последовательности, которую ожидают профили хостов. это можно поправить в `/etc/vmware/esx.conf`. на текущий момент (`esxi 5.5u3`) править нужно в двух местах: 1. `/vmkdevmgr/pci/s00000004.00/alias = "vmnic0"`; 1. `/device/000:138:00.0/vmkname = "vmnic0"`; [[br]] == изменение картинки на вход в `vcsa` `/usr/lib/vmware-sso/vmware-sts/webapps/websso/resources/css`: {{{#!diff diff -u login.css.orig login.css --- login.css.orig 2016-02-12 02:33:12.000000000 +0000 +++ login.css 2017-01-04 06:56:02.000000000 +0000 @@ -18,7 +18,8 @@ background: -ms-linear-gradient(top, #3a8dc8 0%,#183a62 100%); /* IE10+ */ background: linear-gradient(to bottom, #3a8dc8 0%,#183a62 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a8dc8', endColorstr='#183a62',GradientType=0 ); /* IE6-9 */ - + background-image: url(../../resources/img/ghost.gif); + background-size: cover; background-repeat:no-repeat; margin: 0; font-size:12px; }}} `/usr/lib/vmware-sso/vmware-sts/webapps/websso/WEB-INF/views`: {{{#!diff diff -u unpentry.jsp.orig unpentry.jsp --- unpentry.jsp.orig 2017-01-04 07:00:51.000000000 +0000 +++ unpentry.jsp 2017-01-04 07:00:55.000000000 +0000 @@ -80,7 +80,7 @@ //var _cspId = createCspPluginObject(); if (isVCLogin()) { - document.write(""); +// document.write(""); document.write(""); } }}} `/usr/lib/vmware-sso/vmware-sts/webapps/websso/resources/js`: {{{#!diff --- websso.js.orig Fri Feb 12 07:33:12 2016 +++ websso.js Mon May 30 14:07:38 2016 @@ -70,7 +70,7 @@ var smartcardIDEle = document.getElementById("smartcardID"); smartcardIDEle.parentNode.removeChild(smartcardIDEle); // Disable login button on page load unless smartcard authn is on - $('#submit').prop('disabled',true); + $('#submit').prop('disabled', false); } //Remove windows session or smartcard authn checkbox if the corresponding authn type was not turned on @@ -342,7 +342,7 @@ }; var enableLoginButton = function enableLoginButton() { - +/* var userEle = document.getElementById('username'); var sspiEle = document.getElementById('sspiCheckbox'); var smartcardEle = document.getElementById('smartcardCheckbox'); @@ -352,7 +352,7 @@ $('#submit').prop('disabled', false); } else { $('#submit').prop('disabled', true); - } + }*/ }; }}} [[br]]