= заметки о 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'"
}}}
для el7 `/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]]