Улучшенная совместимость с vMotion.
Введение
Вы могли заметить, что Intel и AMD время от времени выпускают новые процессоры. Каждое новое поколение процессоров отличается от предыдущих включением архитектурных изменений и новых функций процессора. Поскольку операционные системы развертываются на серверах, использующих эти новые процессоры, эти операционные системы используют различные функции процессора. В мире традиционных полностью физических серверов это не так критично. Вы устанавливаете свою операционную систему и двигаетесь дальше. Однако если вы пытаетесь смешивать и сочетать хост-серверы VMware ESX/ESXi с процессорами разных поколений в одном кластере, могут возникнуть проблемы.
Например, предположим, что у вас есть кластер из трех хостов VMware на базе Intel Penryn, и вы добавляете сервер с процессором на базе Intel Nehalem. Если вы не предпримете специальных шагов, вы не сможете использовать vMotion для перемещения виртуальных машин на хосты с несовместимыми функциями. Это может стать серьезным препятствием для обеспечения высокой доступности, поскольку некоторые виртуальные машины нельзя будет перенести на некоторые хосты.
Чтобы кластер VMware со смешанными процессорами мог поддерживать vMotion для любых и всех хостов, хосты должны быть настроены на какой-то наименьший общий знаменатель. Это задача Enhanced vMotion Compatibility (EVC), которая позволяет переносить работающие виртуальные машины между разными поколениями процессоров. После того как вы включили функцию EVC в кластере ESX, каждый хост настраивается для представления только функций ЦП выбранного типа процессора. Включив EVC, вы гарантируете совместимость ЦП для vMotion, даже если фактические поколения процессоров различаются от хоста к хосту. Для каждой виртуальной машины, работающей в кластере, виртуальным машинам доступны идентичные функции ЦП. Это процесс, который действительно позволяет использовать vMotion.
Почему это так важно? Давайте немного конкретнее. Представьте себе такой сценарий: у вас есть кластер из трех хостов, состоящий из всех процессоров на базе Nehalem. Все виртуальные машины, работающие в этом кластере, видят, что ЦП может использовать функцию ЦП AES, которая, согласно Википедии, имеет следующую функцию:
Теперь предположим, что вы решили добавить в кластер дополнительный сервер, который у вас есть, но этот новый сервер имеет процессоры на базе Penryn. Если бы вам разрешили vMotion VM, работающей в системах Nehalem, в систему Penryn, внезапно работающие виртуальные машины немедленно увидели бы, что функция просто исчезла. С точки зрения стабильности это не принесет пользы. Таким образом, должен быть какой-то механизм для выравнивания игрового поля — EVC.
Используя EVC, вы можете поэтапно добавлять новые хосты вместо того, чтобы заменять их все сразу, чтобы поддерживать согласованность архитектуры. На протяжении всего процесса вы можете поддерживать существующие механизмы доступности, такие как vMotion, поскольку для виртуальных машин функции процессора кажутся одинаковыми на всех хостах.
Одна вещь, которую EVC не делает, — это возможность использовать виртуальные машины vMotion между процессорами AMD и Intel. По крайней мере, вы должны убедиться, что все ваши хосты ESX используют процессоры одного и того же производителя. Кроме того, vCenter в любом случае не позволит вам пытаться смешивать поставщиков процессоров.
Давайте графически посмотрим, что EVC может сделать для вас. На рисунке 1 ниже вы видите следующее:
- На верхнем рисунке показан кластер из трех серверов с двумя серверами на базе Intel Core2 и одним сервером на базе Core i7. Поскольку наименьшим общим знаменателем являются системы Xeon Core2, этот кластер работает в режиме Xeon Core2, поэтому vMotion будет работать между всеми тремя хостами. Для виртуальных машин, работающих в кластере, EVC в основном блокирует функции, доступные только для Core i7, от доступа к виртуальным машинам.
- На среднем рисунке один из оставшихся серверов Core2 был заменен блоком Core i7. Однако, поскольку в кластере все еще есть сервер Xeon Core2, кластер по-прежнему не может использовать более продвинутые функции процессора i7, если вам нужна совместимость vMotion на всех трех хостах.
- На третьем рисунке последний оставшийся хост Core2 был заменен хостом на базе i7, поэтому статус EVC кластера теперь можно повысить до статуса Core i7, поскольку это самый новый наименьший общий знаменатель. После того, как вы заменили все хосты, вы можете повысить режим EVC кластера. Однако вы должны сначала выключить, а затем включить каждую виртуальную машину в кластере, прежде чем они смогут увидеть любые новые функции ЦП, доступные благодаря повышению режима EVC. Перезагрузка виртуальной машины недостаточна, так как характеристики процессора определяются при включении виртуальной машины.