Назад | Перейти на главную страницу

Что происходит, когда физическая машина выходит из строя в виртуальной среде?

Я начинаю с виртуализации, так что терпите меня.

В виртуальных средах приложения работают на уровне гипервизора. Таким образом, на одной физической машине может быть много виртуальных машин, на которых запущено несколько приложений.

Все идет нормально?

Так что же происходит, когда выходит из строя физическая машина? Разве это не привело бы к отказу многих приложений на одной машине?

Я ищу разработку частного облака с OpenStack, но сначала я хочу полностью разобраться в виртуализации.

Специфика зависит от того, какое именно решение виртуализации вы используете, но идея состоит в том, что у вас есть виртуальная ферма, где есть несколько физических хостов с несколькими виртуальными машинами на каждом. Затем вы используете некоторые эффективности, которую вы получили, избавившись от необходимости использовать физический хост для каждой виртуальной машины, чтобы у вас осталось достаточно накладных расходов на случай, если физическая машина выйдет из строя.

Кроме того, вы можете разместить виртуальные жесткие диски для каждой виртуальной машины в общей (резервной) сети SAN. Гипервизоры на каждом физическом узле можно настроить так, чтобы они взаимодействовали друг с другом и совместно использовали память с разных виртуальных машин. Существует некоторая задержка, и большая часть памяти будет поддерживаться диском, но если один из физических хостов выйдет из строя, вы даже не ждете, пока виртуальные машины с этого хоста загрузятся. Вместо этого эти виртуальные машины будут автоматически распределены между оставшимися хостами. Конечная цель состоит в том, чтобы эти машины забрать почти с того места, где они остановилисьс минимальным временем простоя или вообще без него. В некотором смысле все ваши виртуальные машины уже работают как минимум на двух физических хостах. На практике прямо сейчас гипервизоры могут выполнять такую ​​миграцию только по одной машине за раз, когда они знают, что она произойдет до того, как хост выйдет из строя ... но не заблуждайтесь: мгновенная миграция при сбое оборудования является конечной целью для всех основных гипервизоры.

Вот почему иногда можно увидеть сервер, виртуализированный на одном физическом хосте в ферме. Вы можете не получить никакой аппаратной эффективности (вы можете даже терять некоторая производительность), но вы компенсируете это с точки зрения согласованности управления и встроенной высокой доступности.

Все виртуальные серверы, работающие на физическом узле, перейдут в автономный режим, если на узле произойдет какой-либо сбой.

Тем не менее, большинство платформ предлагают решение высокой доступности для одной виртуальной машины. В других случаях система состоит из нескольких узлов, чтобы предотвратить прерывание обслуживания в случае выхода из строя одного узла.

Если два узла виртуальных машин составляют службу высокой доступности, можно настроить гипервизор, чтобы гарантировать, что два узла не зависят от одной и той же физической инфраструктуры (отказоустойчивость). Это может быть больше, чем просто отказоустойчивость физического сервера, включая различные сетевые пути, вплоть до географически разнесенных мест.

Вы правы в своем предположении, что в случае отказа физического компьютера виртуальные машины также становятся недоступными.

Но openstack может позаботиться об этом и запустить виртуальные машины отказавшего физического сервера на другом сервере, или вы можете использовать систему гипервизора, которая уже распределена, я думаю, что vsphere может это сделать.

Вы должны прочитать документация openstack по высокой доступности Чтобы получить больше информации.

Что касается вашего вопроса - да, вы потеряете доступ ко всем машинам на этом физическом хосте. Конечно, это зависит от того, какой компонент вышел из строя. Если это диск - это своего рода проблема, если материнская плата - намного проще. В целом восстановление оборудования проще, поскольку гипервизор не зависит от оборудования. На данный момент существует множество технологий конкретных поставщиков, которые вы можете использовать для получения высокодоступных сервисов.

Пулы ресурсов (vmware) - есть НЕ возможность агрегировать несколько ресурсов физического хоста (ЦП, память и т. д.), как упоминалось выше, поэтому, если у вас есть 2 физических хоста (скажем, 4 ядра ЦП без гиперпоточности - 8 ГБ ОЗУ каждый), он будет НЕ там может быть виртуальная машина 5vCPU-12Gb. Пулы ресурсов являются логическими, они не могут создавать суперкомпьютерные системы. Прямо сейчас это способ контролировать использование ресурсов.

Доступность (vmware) - можно использовать такие технологии, как Высокая доступность (HA), которые позволяют автоматизировать восстановление (на основе моего опыта в 1-2мин) всех виртуальных машин в кластере автоматически, ЕСЛИ вы используете массив хранения (NAS, iSCSI, FC) и храните все файлы виртуальных машин там. Более того, HA работает только в случае отказа CPU, RAM, материнской платы, очевидно, что он не будет работать, если Storage Array выйдет из строя. Чтобы предотвратить сбои RAID / контроллеров, люди используют репликацию, зеркалирование LUN ​​хранилища и т. Д.

Если восстановление в течение 1-2 минут невозможно, есть такие технологии, как Отказоустойчивость (FT), которые позволяют добиться НУЛЕВОГО простоя ВМ в случае сбоя, сохраняя теневую (работающую) копию настроенной ВМ. Но и у этой технологии есть много ограничений - проблема отказоустойчивости виртуальных машин с несколькими vCPU полностью не решена.

В целом, каждое решение зависит от вашей цели.