пятница, 3 сентября 2010 г.

Имеет ли право быть HA без DRS?

Недавно у меня был пост - HA Advanced Options. В комментариях к нему была небольшая дискуссия, на тему:
Вот кластер HA. Вот умирает один из серверов ESX(i). ВМ, упавшие вместе с ним следует перезапустить на прочих серверах кластера. Однако как поступит HA если ресурсов для старта ВМ будет недостаточно на каком-то одном сервере?
Т.е. – часть машин стартовала, остальные не могут. Будет ли пытаться HA стартовать оставшуюся часть машин на прочих серверах кластера?
До недавних пор мне, в теории, казалось что ответ “нет” – и именно так я ответил в вышеупомянутой дискуссии.
Похоже, я ошибался. Впрочем, есть нюансы.
Итак, сначала из переписки. В городе Киев есть славная компания «СИТРОНИКС ИТ», и славна она толковыми инженерами. Один из них написал мне:


Михаил, приветствую!
Наконец дошли руки попробовать на практике поведение HA, о котором ты писал недавно (http://www.vm4.ru/2010/08/ha-advanced-options.html).
Дано:
- кластер из 4х хостов (ещё версии 3.5, но под управлением vc 4.0); HA (admission control enable), DRS (fully automated).
- vc – на физическом хосте.
Что делаю:
- в свойствах кластера полностью выключаю DRS.
- делаю hard power off одному из ESX. На нём 3 работающие машины – суммарно по памяти _все_ они могут поместиться только на одном из хостов (на 2х других - частично).
В итоге что имеем:
- пара машин поднимается на одном из выживших хостов (все на нём поместиться не смогли бы, как минимум по памяти), третья – на другом (без какого-либо моего вмешательства).
Т.о. случай когда:
> Миша, точнее сказать "часть ВМ *может* не включиться"
у меня на практике не получается.
Поясни, плиз, на чём основываются твои выводы о поведении HA в кластере без DRS (ссылки, доки, слухи) или укажи, что я не учитываю из исходных данных для получения описанного тобой случая, поскольку вопрос мне кажется достаточно важным.
Заранее спасибо.
..
Я ответил что высказанное в комментариях мнение у меня сложилось по чтению постов Дункана Эппинга и консультаций с коллегами.
Далее:
Из прочтения оригинала у Еппинга (ты же об этом - http://www.yellow-bricks.com/2010/06/16/which-host-is-selected-for-an-ha-initiated-restart/ так?) у меня складывается впечатление, что действительно механизм HA выбирает один хост (тот, на котором меньше всего суммарный резерв работающих на нём машин, что вполне логично) и пробует запускать упавшие машины. НО как только больше машин туда уже не поместится (например по памяти, как в моём случае) HA преспокойно выбирает следующий по минимальной сумме резервации хост для продолжения перезапуска машин.
Т.о. я не вижу вариантов, что часть ВМ _может_ не включиться без DRS. Естественно рассматриваю случай, когда адмишен контрол включён.
Таким образом, если в эксперименте ничего не было упущено, мое исходное мнение было ошибочным.

Позднее, мне прислали ссылку на топик в комьюнити и отрывок переписки с этим инженером VMware
Цитата:
-- Am I right, that HA try to restart all "dead" vms on first host (with lowest percent reservation). After resourses is over, HA takes second host and etc., instead restart vms evenly on all remaining host in cluster (don't forget: I'm interested in non-DRS cluster!).
-- no, HA will evaluate for each vm separately which host has the most unreserved capacity. This will take into account vms which are in the process of being failed over.
Судя по этой переписке с инженером поддержки VMware,  HA для каждой ВМ независимо выбирает сервер, где ее стартовать.
thx Евгений Гарбузов

В самом начале я упомянул про свою ошибку и нюанс.
Нюанс заключается в том, что настройка admissions control, на мой личный взгляд, лишена смысла всегда кроме последнего варианта настройки – резервирования целого сервера. Но я сейчас в отпуске, и сейчас я развивать мысль не буду :)

3 комментария:

  1. Добавлю, что сам топик об алгоритме HA тут: http://communities.vmware.com/message/1379102#1379102

    ОтветитьУдалить
  2. угу, спасибо. я помнил что что-то забыл :)

    ОтветитьУдалить
  3. Добавил иформацию о выборе хоста после консультации с инженером VMware.

    http://blog.vadmin.ru/2010/06/ha-deepdive-host-selection.html

    ОтветитьУдалить