Чи можна охопити один величезний VM на декількох фізичних товарних серверах?


11

Чи можна охопити одну величезну Віртуальну машину на декількох фізичних товарних серверах?

Ось наш випадок використання:

  • Нам потрібно реалізувати 32-процесорний db-сервер із 64 ГБ оперативної пам’яті
  • У нас немає фізичного сервера такої ємності
  • У нас дуже багато серверів з меншими ресурсами.

Чи є технологія або (краще) продукт, який дозволяє нам використовувати ці сервери для створення віртуального комп'ютера з необхідною потужністю? Скажіть, чи ми можемо поєднати 8 фізичних 4-процесорних машин з 8 ГБ оперативної пам’яті кожна в один 32-процесорний «логічний блок» з 64 ГБ оперативної пам’яті та створити сервер Oracle, який використовує всю цю ємність?

Перш ніж надсилати це запитання, ми читали подібні запитання, але не знайшли відповіді.

Може, хтось може нам підказати зараз?


2
Це не відповідь на ваше запитання, але дивно, що ніхто не радить дивитися на обмеження програмного забезпечення. Якщо ваша компанія створює додатки для бізнесу середнього діапазону, мені здається очевидним, що проблема полягає в обмеженні програмного забезпечення, ймовірно, архітектор програмного забезпечення та дизайнери не думали в базі даних з мільярдами записів або з величезними тимчасовими таблицями або процедурами, подумайте про це і створити кілька тестів і повідомлення про помилки для повільних запитів для мого - це спосіб вирішити проблему ... подумайте про обмеження 3,3 ГБ в x86

Відповіді:


7

Існує комерційний продукт від ScaleMP під назвою vSMP. Це дозволяє об'єднати декілька систем x86 в один віртуальний екземпляр. Я ніколи особисто не пробував цього раніше, але переживав їх презентацію. Якщо я правильно пам’ятаю, для цього існують конкретні вимоги, і вам знадобиться отримати додаткове обладнання (Infiniband для швидких взаємозв'язків із низькою затримкою). Це також може коштувати досить копійки!


1
ScaleMP не імітує середовище x86. Ви ніколи не отримаєте Windows або будь-яку іншу стандартну ОС x86 для запуску у віртуальному середовищі. Ви Єдиний підтримуваний аромат - це різні версії Linux, побудовані на архітектурі типу SMP. І такого типу архітектури ... Є СИВЕРАЛЬНІ аромати. Навіть безкоштовні.
TheCompWiz

ОП не конкретизувалась щодо інших вимог. Я лише відповів, що можу зібрати з його посади.
ryanlim

1
Це виглядає криваво класно. Я підозрюю, що 32-ядерна коробка (можлива з 2x 16-ядерними чіпами AMD) може виявитися дешевшою, ніж кластер з Infiniband, але ми підемо. Це рішення заробляє більше хвастощів.
Том О'Коннор

9

Немає можливості отримати такий самий функціонал, як одна 32-процесорна машина ... з декількома окремими серверами. Ваша найкраща ставка - переглянути кластеризацію чи обчислення в сітці. Зроблено правильно, ви можете досягти порівнянної продуктивності ... та більш високого рівня доступності. Багато вашого питання також залежить від типу "db". Microsoft SQL Server працює значно інакше, ніж MySQL або Oracle ... і масштабованість також робиться зовсім інакше.

Крім того ... ви можете розглянути можливість дозволити комусь зробити базу даних для вас ... як, наприклад, використання RDS EC2 ...

На жаль, немає ніякого способу поєднати кілька фізичних серверів разом і заштрихувати vmware на них і в кінцевому підсумку отримати єдиний убер-потужний віртуальний сервер.


TheCompWiz, дякую за відповідь. Гаразд, якщо відповідь залежить від мого типу db, нехай це буде Oracle або Microsoft SQL Server. З цими виправленнями це все-таки неможливо? Так, ми знаємо про EC2, але нам потрібно саме Oracle або Microsoft SQL Server для перевірки проблем із програмним продуктом, який ми постачаємо клієнту ...
user54614

Крім того, чому враховувати тільки vmware? Ми не проти інших гіпервізорів ...
user54614

Можливість переміщення декількох серверів - це ВЕЛИЧИЙ кошмар логістики ... не кажучи вже про відсутність доступної пропускної здатності між пристроями. Подумайте, наскільки швидкий процесор ... тоді все, що вам доведеться зробити, це сповільнить процес ... тобто процесор -> шина -> PCI-міст -> мережева карта -> кабель Ethernet -> мережа стек -> ... ще до того, як він дійшов до іншого сервера? Ви не хочете чекати 1 секунди, щоб мати можливість додати 1 + 1. Кластери зазвичай можуть це зробити, тому що завдання призначаються в "Роботах", а завдання видається на обчислювальний вузол, який виконує всі завдання в цій роботі ...
TheCompWiz

... а потім надсилає відповіді назад до вузла управління. Windows ні. Немає способу встановити віртуальне середовище X86 (або X86_64), яке навіть намагалось би зробити це.
TheCompWiz

2
@ user54614 - Ви абсолютно не зможете повторити їх сценарій, зв’язавши машини. Я б радив поговорити з вашим клієнтом та службою підтримки Oracle, щоб визначити та виявити проблеми.
Кріс Торп

-1

"TheCompWiz" корисно відповів на ваше запитання.

Я все-таки хотів би сказати, що так, ви можете створити гіпервізор, який дозволив одному ВМ переключити декілька фізичних хостів, і він міг би запустити цю ВМ «правильно» там, де все функціонувало.

Але навіть при дійсно хороших швидкісних мережах між фізичними хостами, продуктивність такої речі була б справді жахливою, працює набагато повільніше, ніж менший VM, який вміщується в одному з цих хостів. Вам доведеться моделювати властивості когерентності кеш-пам’яті однієї VM, перехоплюючи кожне прочитане чи записуване пам'ять, яке зробили гостьова ОС та додаток, що збільшило б вартість доступу до пам'яті на тисячі, якщо не мільйони.

Тож жоден продавець комерційного гіпервізора не дозволяє такого зробити. Його судили в лабораторії. Ніхто не потрудився зробити з нього виріб.

Щоб ще раз підкреслити точку, подивіться на кластеризацію рішення.


Але що робити, якщо програмний продукт, який ми постачаємо, працює добре для більшості клієнтів, але не працює належним чином в оточенні величезного клієнта, який запускає наше додаток на 32-проц. Сервері Oracle з 64 ГБ оперативної пам’яті. Ми хочемо відтворити цю невдачу в нашому середовищі.
користувач54614

2
Я нічого не знаю з вашим програмним забезпеченням, але що відбувається у 32-процесорах та 64 ГБ оперативної пам’яті, що не відбувається в 2-процесорах та 8 ГБ оперативної пам’яті? Якщо на цьому рівні справді щось неповторно не так, то це проблема Oracle / OS / driver / IO / hardware.
gravyface

Ви ніколи не отримаєте гіпервізора для переміщення фізичних машин. Вони все ще обмежені у фізичному ядрі машини. Якщо говорити ... Я думаю, що ви можете створити архітектуру типу мейнфрейму, схожу на архітектурні археологічні бегемоти здавна ... але ви ніколи не набудете на ній нічого x86.
TheCompWiz

1
Ваш величезний клієнт повинен мати другий екземпляр якості цього сервера баз даних монстрів. Якщо у них цього немає в наявності, це справді їхня проблема. За 15 років роботи в ІТ я ніколи не бачив, щоб хтось очікував, що постачальник програмного забезпечення дублює їх інфраструктуру (якщо це не є частиною договору на надання послуг, який конкретизує саме це, і за це платить замовник). Особливо, коли ця інфраструктура є езотеричною (хоча 32-ядерний 64-ГБ-сервер у компанії Dell за цей час можна отримати близько 22 тис. Доларів).
rmalayter


-2

VMWare робить. Він називається DRS або Scheduler Scheduler. Це дозволяє об’єднати ресурси 16 серверів. Потім ви можете розподілити цю загальну кількість в одному або кількох віртуальних середовищах.


Ні, це зовсім не те, що робить DRS. DRS дозволяє одній автоматизованій машині vMotion навколо кластера навіть завантажуватися серед вузлів хоста. Це жодним чином не дає доступу до декількох хостів з однієї єдиної VM.
EEAA
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.