О проблему споткнулись после обновления vCenter с 5.5 до 6.0.
При попытке выгнать машины с хоста для его последующего апгрейда, на одной из машин получили следующую ошибку:
<hostname> is not compatible with the vSphere Replication configuration supported by the virtual machine ‘<VM Name>’: the configured RPO is lower than what the host can support.
Ну да. Когда-то давно в системе присутствовал VMware SRM. И это, видимо, его следы. Нашлась kb. Нужно закомментировать в файле конфигурации виртуальной машины (*.vmx) ряд оставшихся от SRM параметров. И перезагрузить машину в инвентори. Естественно она должна быть выключена в момент изменения конфига. Вот эти параметры:
hbr_filter.configGen = «»
hbr_filter.rpo = «»
hbr_filter.destination = «»
hbr_filter.port = «0»
hbr_filter.gid = «»
hbr_filter.protocol = «»
hbr_filter.quiesce = «true»
hbr_filter.opp = «true»
hbr_filter.pause = «true»
scsi0:0.hbr_filter.rdid = «»
scsi0:0.hbr_filter.persistent = «»
Одна деталь — силами SRM были защищены наиболее критичные машины, которые очень не хотелось бы выключать. Да и машин таких неизвестно сколько. Поиск решений в community.vmware.com ничего не дал — редкие вопросы от от сотоварищей по несчастью остались без ответа.
Первым делом определили объём проблемы:
get-vm | Get-AdvancedSetting -Name hbr_filter.rpo | select entity
Оказалось, всего 14 машин. Стало легче. Но это Exchange, root dc и прочие страшные сущности.
Попытка изничтожить параметры, задав их значения в null не увенчалась успехом — оказывается нельзя задать значение null для параметра.
Предположили, что ошибка вызвана тем, что пустое значение RPO не воспринимается как возможное и решили попробовать задать какое-то реальное значение. Кончено, конфиг применяется только при выключении-включении машины, но тут, судя по всему, значение считывается гипервизором на этапе подготовки к vMotion. Действительно помогло. После задания значения в 240, машина переехала без вопросов. Задали аналогичное значение всем.
get-vm rgm-s-kplus.hq.root.ad | Get-AdvancedSetting -Name hbr_filter.rpo | Set-AdvancedSetting -Value 240
Однако вскоре выяснилось, что эти машины не переезжают на обновлённые хосты. Через какое-то время после старта vMotion, задача отваливалась с невразумительной ошибкой «not allowed in the current state».
После ещё некоторого времени проб и ошибок коллега выяснил, что если оптом задать этим параметрам значение «» (пустой символ) они исчезают из зоны видимости. И проблема с машины снимается. Без выключения и включения.
Какой конкретно параметр мешал переезду и почему, определить не удалось.