Что же это такое?
При failover'е HA помещает ВМ в корневой ресурс-пул, и если при этом ВМ сама находилась в ресурс-пуле и имела высокое значение shares, то она будет иметь то же самое значение shares и после failover'а.
Предположим, что у нас есть 3 ВМ, 2 из которых находятся в специальном ресурс-пуле Resource Pool A. У VM1 1000 shares, у Resource Pool A - 2000. При этом в ресурс пуле находятся еще 2 ВМ, каждая из которых имеет по 10000 shares. Напомню, что shares в данном случае действуют только в пределах ресурс-пула, и обе ВМ имеют соотв. по 50%. Т.е. VM1 имеет 33% ресурсов, VM2 и VM3 по 50% от 66% ресурс-пула -> все три ВМ имеют по 33% ресурсов.

Но вот хост упал, и HA перезапустил все машины в корневом ресурс-пуле. Но значения shares никуда не делись, и картина выглядит так:

В итоге распределение ресурсов становится не 3 * 33%, а 5% и 2 * 43%. И придется ждать следующего вызова DRS, который переместит ВМ в соответствующий ресурс-пул и выровняет нагрузку.
В vSphere 4.1 решили указанную проблему путем нормализации shares. VM2 и VM3 при перезапуске получат по 50% от shares родительского ресурс-пула, в данном случае 50% * 2000 = 1000.

Разумеется, если у вас есть DRS, то при следующем вызове VM2 и VM3 вернутся в Resource Pool A и получат свои законные 10000 shares.
Источник: Duncan Epping (yellow-bricks.com)
Комментариев нет:
Отправить комментарий