Всем добрый вечер!
Ехал вот и читал про кластеры, думал) а виртуалки можно как то в кластер объединить, то бишь на разных физ машинах сделать виртуалки с единым хранилищем?)
Технически ноу проблем, но вопрос зачем? Если для тестов и лаб, то я использую vmware workstation с nested virtualization а внутри кручу что надо - прокс, hyper-v, esxi. Если в продакшн, то тут все немного по другому - стараются кластеризировать не виртуалки а сервисы, но для этого обычно используют другие решения, а не 100% те же что и для кластеризации хостов. Все исходит из задач. Дело в том что когда мы кластеризируем например физические ноды (ну вот кластер виртуализации, для запуска виртуальных машин предоставляющих различные сервисы) мы по сути создаем тип кластера High Available (HA), этот тип кластера не подразумевает полную защиту от сбоев. Он подразумевает высокую доступность, т.е. доступность сервисов предоставляемых класетром с высокой долей возможности запуска после сбоя. Т.е. грубо говоря, при падении ноды на которой крутится виртуалка, виртуалка автоматически стартует на другой доступной ноде при наличии кворума в кластере, но при этом на момент сбоя и до момента автоматического запуска доступ к сервисам предоставляемым виртуалкой останавливается, данные в памяти виртуалки теряются, с возможной потерей части данных которые не были записаны на диск во время сбоя. Многие изначально считают, что кластер (в том числе и вируализации) это Fail Over кластер. Но это не так. Вот как раз фейловер подразумевает отсутсвие простоев во время сбоя, но на текущий момент вменяемых решений Fail Over для той же виртуализации я не знаю (ну там конечно vmware пыталась, но это все дорого и сложно). А вот для сервисов фейловер и есть основное решение. Ну яркий пример это MS SQL AlwaysON - когда есть несколько узлов с запущенным инстансом MS SQL Server, узлы не кластеризированны никак, а вот сами инстансы (сервисы) MS SQL объеденены в фейловер кластер посредством технологии AlwaysOn, т.е. при сбое узла на который идет сейчас запись, сервис не теряется, и продолжает работать в штатном режиме - запись, чтение. Поэтому физические узлы стараются кластеризировать и обеспечить высокую доступность, а вот сервисам стараются обеспечить именно фейловер - т.е. полную доступность при любых сбоях. Например абсолютно нормально иметь решение состоящее из стендэлоун узлов виртуализации, ну никак не использующих общие ресурсы, но при этом иметь фейловер решения для сервисов которые крутятся внутри виртуалок расположенных на разных нода, и таки это решение убдет надежнее HA кластера виртуализации в котором крутится виртуалка с сервисом без феловера. Но тут есть ньюанс, не все сервисы можно реализовать как фейловер решение. Немного сумбурно но как то так. Хотя мнения могут отличаться. Так что добавлю - это не точно =)