Перейти к основному содержанию

vCenter — режим обслуживания хоста с vCLS

VMware

В vCenter 7U1 появилась такая штука как vSphere Cluster Services (vCLS). Это такие мелкие виртуалки, которые сами заводятся в кластере и поддерживают его работу. Если vCenter отвалится, то благодаря vCLS кластер продолжит функционировать. Вся эта система самоорганизуется. Виртуалки автоматически создаются, запускаются, удаляются.

В vSphere 7 Update 3 появилось несколько хороших обновлений vCLS для повышения эффективности таких операций, как размещение агентских vCLS на хостах и хранилищах данных.

Всё прекрасно, пока мы не решим перевести хост в vCLS на борту в режим обслуживания. Гасим все виртуалки, пытаемся перевести хост в Maintenance Mode, а vCLS машина сама включилась и не даёт ничего сделать. Удалить vCLS мы тоже не можем. Что делать? Есть несколько способов.

Migrate vCLS

Если ваша лицензия позволяет мигрировать машины, то можно переместить vCLS на другой хост в том же кластере.

vcls

При миграции нас ругают и отправляют читать KB 79892, в этой статье пишут зачем vCLS нужны и как мы можем своими руками поломать функциональность DRS кластера.

https://kb.vmware.com/s/article/79892

Если мы уверены в том что делаем, жмём YES.

vmware

Нам говорят не рулить этой машиной вручную. Жмём YES.

Машина смигрируется, можно ввести хост в Maintenance Mode. Однако, никто не гарантирует что в это момент не начнётся деплой новой vCLS на тот же хост, в этом случае он может зависнуть. Так что этот метод не очень хороший. Если не хотим рисковать или наша лицензия не позволяет мигрировать машины, то нужно придумать что-то ещё.

Retreat Mode

Второй неправильный метод — отключить в кластере режим Retreat Mode. Тогда все виртуалки vCLS в этом кластере сами удалятся. Естественно, при этом функционал DRS и HA перестанет работать.

​Заходим в vSphere Client. Тыкаем на нужный кластер. Из URL вытаскиваем его номер: domain-c<number>. Получится нечто такое: "domain-c1006".

vmware

Тыкаем в vCenter. Configure → Advanced setting → Edit settings. Откроется окно "Edit Advanced vCenter Server Settings". Добавляем новое значение, подставив номер кластера:

  • name = config.vcls.clusters.domain-c<number>.enabled
  • value = False

Save.

Теперь vCLS виртуалки кластера начнут самоуничтожаться. После удаления всех виртуалок vCLS можно ввести хост в Maintenance Mode, сменить значение на True и вернуть всё как было.

Выбор ​Datastore для vCLS VMs

А теперь более правильный метод.

Хранилище данных для виртуальных машин vCLS выбирается автоматически на основе ранжирования всех хранилищ, подключенных к хостам внутри кластера. Хранилище данных с большей вероятностью будет выбрано, если в кластере есть хосты со свободными зарезервированными слотами DRS, подключенными к хранилищу данных. Алгоритм пытается разместить виртуальные машины vCLS в общем хранилище данных, если это возможно, прежде чем выбрать локальное хранилище данных. Предпочтительно хранилище данных с большим свободным пространством, и алгоритм старается не размещать более одной виртуальной машины vCLS в одном хранилище данных.

Мы можем переопределить размещение хранилища данных виртуальной машины vCLS по умолчанию.

Выбираем наш кластер, в котором находится нужный хост. Configure → vSphere Cluster Service → Datastores.

vcls

Здесь во вкладке VCLS ALLOWED находится список хранилищ, на которых можно размещать vCLS. По умолчанию список пуст, это означает, что для размещения vCLS доступны все хранилища.

Во вкладке SOLUTION BLOCKED находится список хранилищ, в которых нельзя размещать vCLS независимо от нашего желания, этот список настраивается автоматически. К примеру, туда попадают хранилища SRM или VSAN в режиме обслуживания. Нам эта вкладка сейчас не интересна.

Возвращаемся к VCLS ALLOWED. Здесь можно нажать кнопку ADD и явно указать те хранилища, на которых разрешено размещать vCLS машины. На всех остальных хранилищах размещение vCLS будет запрещено. ADD.

vcls

Поступаю просто. Галками выбираю все хранилища, кроме хранилищ хоста, который собираюсь ввести в режим обслуживания. ADD.

Не успеваю сделать пару глотков кофе, как vCLS с моего хоста удаляется и деплоится на другой хост. Переводим хост в Maintenance Mode.

Примечание

Ещё можно настроить машине vCLS теги или атрибуты, сделать правила, с помощью Compute Policy убрать их с нужного хоста. Это также часто используется для того, чтобы vCLS не мешали обычным рабочим виртуалкам под нагрузкой.

Ссылки

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.resmgmt.doc/GUID-96BD6016-4BE7-4B1C-8269-568D1555B08C.html

https://core.vmware.com/blog/vsphere-7-update-3-vcls-updates

 

Похожие материалы

HPE ProLiant MicroServer Gen10 и ESXi 6.7 — добавление Storage

Недавно поставил ESXi 6.7 на сервер HPE ProLiant MicroServer Gen10. На сервере штатными средствами собрано зеркало RAID1 из двух дисков. Пришла пора проверить, увидит ли ESXi собранный RAID массив, и если да, то добавить его как Storage.