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

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

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

Пока все хорошо?

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

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

12
задан 23 August 2015 в 19:58
4 ответа

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

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

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

14
ответ дан 2 December 2019 в 21:30

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

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

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

13
ответ дан 2 December 2019 в 21:30

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

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

Вы должны прочитать документацию openstack на HA для получения дополнительной информации.

5
ответ дан 2 December 2019 в 21:30

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

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

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

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

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

2
ответ дан 2 December 2019 в 21:30

Теги

Похожие вопросы