FerroPanda
@FerroPanda

Как создать одну виртуальную машину использующую несколько серверов?

Начал разбираться с кластеризацией, но не могу найти нужную информацию. Везде пишется как создать кластер и поделить ресурсы одного "железного устройства" на несколько виртуальных машин, и при наличии дополнительного железа повысить отказоустойчивость. Но мне нужно наоборот. Есть два сервера по 16 ядер. Мне нужно на них создать одну виртуальную машину и условно в диспетчере задач увидеть 32 ядра, которые будут реальными (а не как в описаниях 64 виртуальных на 8 физических), и которые могут быть задействованы любым многопоточным приложением. Такое существует?
Вопрос о "накладных" расходах сейчас не вопрос. И вариант "ручной" отправки задач на отдельные узлы кластера не вариант.
Т.е. существует что-то вроде программной NUMA только не между процессорами, а между отдельными серверами?
  • Вопрос задан
  • 375 просмотров
Решения вопроса 1
@rPman
Виртуализация не позволяет объединять мощности!

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

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

Для того чтобы эффективно использовать одновременно нескольких компьютеров, процесс должен быть изначально разработан с этой целью, самостоятельно должен рулить распределением задач и памяти.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Drno
Нет.
Запускайте 2 копии процесса и разделяйте задачи
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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