Можно ли разместить одну огромную виртуальную машину на нескольких физических серверах?
Вот наш пример использования:
Есть ли технология или (лучше) продукт, который позволяет нам использовать эти серверы для создания виртуальной машины с необходимой емкостью? Скажем, можем ли мы объединить 8 физических 4-процессорных машин с 8 ГБ ОЗУ каждая в одну 32-процессорную «логическую единицу» с 64 ГБ ОЗУ и настроить сервер Oracle, который использует всю эту емкость?
Перед тем, как опубликовать этот вопрос, мы читали похожие вопросы, но не нашли ответа.
Может, сейчас кто-нибудь намекнет?
Невозможно получить ту же функциональность, что и на одной 32-процессорной машине ... с несколькими отдельными серверами. Лучше всего взглянуть на кластеризацию или сеточные вычисления. Если все сделано правильно, вы можете получить сопоставимую производительность ... и более высокий уровень доступности. Многие из ваших вопросов также зависят от вашего типа "db". Microsoft SQL Server работает значительно иначе, чем MySQL или Oracle ... и масштабируемость также выполняется совершенно иначе.
В качестве альтернативы ... вы можете подумать о том, чтобы позволить кому-то делать базу данных за вас ... например, использовать EC2 RDS ...
К сожалению, нет способа объединить несколько физических серверов вместе и установить на них vmware и в итоге получить единственный сверхмощный виртуальный сервер.
Есть коммерческий продукт от ScaleMP называется vSMP. Он позволяет объединить несколько систем x86 в один виртуальный экземпляр. Я никогда лично не пробовал это раньше, но я прошел через их презентацию. Если я правильно помню, для этого существуют определенные требования, и вам понадобится дополнительное оборудование (Infiniband для быстрых межсоединений с низкой задержкой). Это тоже может стоить немалых денег!
"TheCompWiz" полезный ответ на ваш вопрос.
Я все же хотел бы сказать, что да, вы могли бы создать гипервизор, который позволял одной виртуальной машине охватывать несколько физических хостов, и он мог бы запускать эту виртуальную машину «правильно» там, где все работало.
Но даже с действительно хорошими высокоскоростными сетями между физическими хостами производительность такой вещи будет поистине ужасной, поскольку она будет работать намного медленнее, чем меньшая виртуальная машина, которая умещается в одном из этих хостов. Вам нужно было бы смоделировать свойства согласованности кэша одной виртуальной машины, перехватывая каждое чтение или запись в память, выполняемую гостевой ОС и приложением, что умножило бы стоимость доступа к памяти на тысячи, если не миллионы.
Так что ни один коммерческий поставщик гипервизора не допускает этого. Это было опробовано в лаборатории. Никто не удосужился сделать из этого продукт.
Чтобы еще раз подчеркнуть этот момент, обратите внимание на кластеризацию в поисках решения.
VMWare делает. Это называется DRS или планировщик распределенных ресурсов. Это позволяет объединить ресурсы 16 серверов. Затем вы можете распределить это количество в одной или нескольких виртуальных средах.