Запуск 100 віртуальних машин на одному хост-сервері VMWare


24

Я використовую VMWare багато років, запускаю десятки виробничих серверів з дуже малою кількістю випусків. Але я ніколи не намагався розмістити більше 20 ВМ на одному фізичному хості. Ось ідея:

  1. Знята версія Windows XP може жити з 512 Мб оперативної пам’яті та 4 Гб дискового простору.
  2. 5000 доларів отримує 8-ядерний серверний клас із 64 ГБ оперативної пам’яті та чотирма дзеркалами SAS.
  3. Оскільки 100 вищезгаданих віртуальних машин вміщуються на цей сервер, вартість мого обладнання становить лише 50 доларів за VM, що дуже приємно (дешевше, ніж оренда візменів у GoDaddy або будь-яких інших магазинах хостингу).

Я хотів би дізнатися, чи хтось може досягти подібного масштабування за допомогою VMWare? Я зробив кілька тестів і натрапив на дивну проблему. Після запуску 20 ВМ продуктивність VM починає різко знижуватися. У той же час хост-сервер не показує жодних вузьких місць ресурсів (диски становлять 99% в режимі очікування, кількість процесорних процесів - менше 15% і є достатня кількість вільної оперативної пам’яті).

Я буду вдячний, якщо ви можете поділитися своїми історіями успіху навколо масштабування VMWare або будь-якої іншої технології віртуалізації!


4
Який продукт VMware ви плануєте використовувати? ESX? ESXi? Сервер?
wzzrd

2
Ви можете запускати XP з 256 без особливих труднощів, особливо якщо це легкі завдання. Microsoft вимагає 64, але 128 - "достатньо" technet.microsoft.com/en-us/library/bb457057.aspx
Метт Рогіш

1
звідки ви купуєте ваші сервери? Я хочу одного :)
warren

1
Тільки 5000 доларів, ви можете продати мені два? :)
Тарас Чухай

У вас "хостинг процесора" у вас на сервері хостингу, і кожен VM отримає частку в ньому. Плюс esxi матиме накладні витрати: "перемикайтеся на цю віртуальну машину, керуйте нею, переходьте на наступну тощо", багато разів за секунду. Це означає, що кожен VM отримає лише частку від загального процесора. Чим більше VM, тим більше розділяєте ваш процесор (і чим більше накладних витрат ви також додаєте, це означає, що замість 100 ВМ, у вас насправді є трохи більше).
Олів'є Дулак

Відповіді:


15

Так, ти можеш. Навіть для деяких робочих навантажень Windows 2003 достатньо 384MiB, тож 512MiB - досить гарна оцінка, будь то трохи висока. Оперативна пам’ять не повинна бути проблемою, а також процесором.

А 100 ВМ трохи крутіше, але це можливо, особливо якщо вітрини не будуть дуже зайняті. Ми легко запускаємо 60 серверів (Windows 2003 та RHEL) на одному сервері ESX.

Припускаючи, що ви говорите про VMware ESX, ви також повинні знати, що здатна перезавантажувати пам'ять. Відеомагнітофони навряд чи використовують повний призначений об'єм пам’яті, тому ESX може привласнити більше, ніж наявний об’єм оперативної пам’яті, для VM та запустити більше VM, ніж фактично «офіційно» має оперативна пам’ять.

Швидше за все, вашим пляшком буде не процесор чи оперативна пам’ять, а IO. VMware може похвалитися величезною кількістю IOPS у своєму маркетингу, але коли наштовхнеться на поштовх, конфлікти резервування SCSI та обмежена пропускна здатність зупинять вас на мертвому шляху, перш ніж ви наблизитесь до вихвалянь IOPS VMware.

У всякому разі, ми не відчуваємо погіршення продуктивності 20 ВМ. Яку версію ESX ви використовуєте?


Спасибі Wzzrd! Зараз я використовую VMWare Server 2.0, але планую спробувати ESX дуже скоро. Я дуже уважно спостерігав за введенням / виведенням на всіх масивах хостів, і єдиний спосіб, яким я зміг це зробити, - це перезавантаження декількох гостей одночасно. Коли гості займаються легким навантаженням або простоюють, диски хоста становлять 99%. Отже, я підозрюю, що щось інше, ніж CPU та IO, змушує сповільнити всі VM. До речі, вони різко сповільнюються - на відкриття меню «Пуск» потрібно 20 секунд, а якщо я запускаю диспетчер завдань всередині VM, диспетчер завдань займає 90% процесора - дивно!
Денніс Кашкін

2
Це тому, що ви використовуєте сервер VMware. VMware Server - це платформа для віртуалізації поверх іншої платформи (найчастіше Linux), в той час як ESX - це платформа віртуалізації з чистого металу. Дуже різні, як в концепції, так і в тому, як вони виконують.
wzzrd

На жаль, коли день патча приходить у 100 ВМ, то Ви одночасно будете перезавантажувати багато килимів;) І самому виправлення важко. Остерігайтеся пакета послуг - саме тоді починається справжній біль;)
TomTom

Перестаньте дурити себе про те, що думати голий метал - це щось особливе. ESXi - це просто розбитий Linux. Так, Linux.
dresende

2
@dresende. Ні, це не так. Довірся мені.
wzzrd

11

Однією з головних проблем із таким середовищем, як таке, є запобігання катастрофам та захист даних. Якщо сервер гине, то з ним гинуть 100 ВМ.

Вам потрібно спланувати якесь відмовлення від віртуальних машин, а також запланувати якесь управління "поза VM", яке захистить ваші VM у разі відмови. Звичайно, такий вид надмірності означає збільшення витрат - тому, ймовірно, багато разів така сума витрат не затверджується до тих пір, поки її переваги не будуть помічені на практиці (через її відсутність).

Пам'ятайте також, що хост VM - це лише одна з декількох одиничних точок відмов:

  • Мережа - що робити, якщо мережева карта VM ходу вийде з ладу?
  • Пам'ять - що робити, якщо шматок пам’яті хостингу VM поганий?
  • CPU - якщо ядро ​​CPU гине, то що відбувається з віртуальними машинами?
  • Харчування - чи є лише один - або два - силові кабелі?
  • Порт управління - припустимо, ви не можете потрапити до управління хостом VM?

Цього лише декілька: масивна інфраструктура ВМ вимагає ретельної уваги до запобігання втраті даних та запобіганню втрати ВМ.


2
Слухай Давида. Вам потрібна конфігурація N + 1, тобто вам потрібна принаймні одна запасна машина, що працює в режимі очікування, яка здатна поглинати всю робочу навантаження іншої машини, якщо вона вийде з ладу. Моя рекомендація - це кластер з двома серверами, який розподіляє навантаження рівномірно, але може самостійно впоратися з усім навантаженням у разі відмови однієї машини.
Джейсон Пірс

4

Жодної заяви про життєздатність цього у виробництві немає, але є дуже цікава демонстрація NetApp, де вони забезпечують 5440 XP настільних комп'ютерів на 32 хостах ESX (це 170 на хост) за 30 хвилин, використовуючи дуже мало дискового простору через дедуплікацію проти загального VM образи

http://www.youtube.com/watch?v=ekoiJX8ye38

Думаю, ваші обмеження надходять із дискової підсистеми. Ви, здається, відповідно обліку пам'яті та використання процесора.


3

Ніколи цього не робив - але я обіцяю, що ви витратите набагато більше, ніж на зберігання, щоб отримати достатню кількість ІОП, щоб підтримати стільки віртуальних машин, ніж на серверне обладнання. Вам знадобиться багато ВПО, якщо всі 100 з них активні одночасно. Це не звучить негативно, але ви також вважали, що ви кладете багато яєць в один кошик (це здається, що ви шукаєте рішення для одного сервера?)


2
Я б точно створив кілька "кошиків" і створив би кілька автоматизованих резервних копій. Вузькі місця вводу / виводу в цей час легко вирішити за допомогою SSD-накопичувачів. Я використовував 160 ГБ накопичувачів Intel MLC на виробництві, і вони вражаючі. Ви в основному отримуєте в 5 разів кращу продуктивність випадкових вводу / виводу, ніж SAS верхніх рядків (у простих конфігураціях RAID).
Денніс Кашкін

1

Мене найбільше турбує суперечність процесора зі 100 ВМ на одному хості. Ви повинні пам’ятати, що процесор НЕ віртуалізований, тому кожній машині доведеться чекати доступу до процесора. Ви можете почати бачити суперечки, подивившись на ESXTOP, що мені сказали що-небудь понад 5 у полі% RDY, дуже погано інженерами VMWare.

В моєму досвіді я бачив близько 30 - 40 серверів, що працюють на одному хості (не надто багато).


1

У мене було 10 хостів на VMWare Server 1.0.6 (під Windows 2003), і він регулярно стикався з проблемами вводу-виводу (і якщо нічні побудови колись перекриваються чимось іншим, то у них виникнуть проблеми). Після оновлення з Windows до ESXi U3 ми виявили, що наші проблеми з продуктивністю відійшли (нічні версії вже не виходили з ладу).

Також зауважте, що, хоча SSD мають набагато більшу швидкість вводу-виводу, ніж спінінг-носії, є деякі випадки, коли це не дотримується, наприклад, певні типи шаблонів запису (багато дрібних записів, розкиданих по диску, знищать продуктивність, якщо контролер не має кеш-буфер кешування інтелектуального запису, який добре справляється з розсіяними записами).

Я рекомендую дослідити / тестувати наявність SWAP-файлів на різних дисках, якщо у вас виникли проблеми.


1

Якщо ви збираєтеся це робити, то я настійно закликаю вас використовувати нові процесори серії Intel Nehalem 'Xeon 55xx серії - вони розроблені для роботи з VM, а їх додаткова пропускна здатність пам’яті також дуже допоможе. О, і якщо ви можете використовувати більше, менші диски, ніж кілька, великі - це дуже допоможе. Якщо ви також можете використовувати ESX v4 понад 3.5U4.


1

У мене 20-ти XP-операційних машин, що працюють із 512M оперативної пам’яті, кожен на машині з 16G оперативної пам’яті. Менше цього вони поміняються на диск, що дає вузьке місце. Це завжди активні віртуальні системи XP.

VMware та його функція OverCommit повинні дозволити вам більше натиснути на кожну машину XP. Подібна машина поділиться однаковими сторінками, щоб зменшити запис на диску. Це те, що я хотів би розглянути для нашого налаштування, щоб спробувати додати більше машин, оскільки наші віртуальні машини XP роблять 10-20 Мг постійного дискового трафіку.


1

Нам не вдалося досягти 100 задоволених гостей на сервері VMWare, але потім виявили, що ESXi робить набагато кращу роботу. Отже, виявляється, що 100 XP vms не є проблемою, якщо ви використовуєте ESXi та гідний сервер (кілька дискових дзеркал для розповсюдження вводу / виводу, пару мікросхем I7 та 64 ГБ оперативної пам’яті). Для кінцевих користувачів немає видимої затримки, а хост-ресурси не видаляються (найгарячіший - це центральний процесор, але, як правило, принаймні 70% простоює).

PS. Це питання було опубліковано мною ще тоді, коли ми боролися з сервером VMWare.


0

Востаннє я перевіряв, VMware рекомендує не більше 4 ВМ на оброблювальний ядро ​​для ESX, припускаючи одне vCPU на VM.

Це говорить про те, що накладні витрати на управління стають фактором.

Мені дуже цікаво побачити, чи можна реально досягти 4-кратного коефіцієнта на 8-ядерній коробці.


1
Це попередньо для ESX 3.5U2, тоді - максимум конфігурації doc для оновлення 2 каже 8 для загальних цілей, але це збільшується до 11 для навантажень VDI. Я впевнений, що я побачив щось, що не можу знайти, що збільшило цю рекомендацію VDI до 19 із оновленням 3 або 4. Для vSphere цей ліміт зараз 20. Шукайте максимуми конфігурації VMware ESX для офіційних документів від VMware.
Гельвік

Більшість моїх віртуальних машин простоюють. Люди підключаються, можливо, кілька разів на день, щоб запустити легке програмне забезпечення. Я підтвердив, що ці відеомагнітофони створюють дуже невеликі накладні витрати процесора на хості, коли вони працюють в режимі очікування (20 ВМ додають до 9% використання процесора на основі подвійної системи чотирьохкодрених). Чи зможете ви пригадати, як виправдано чотири ВМ на ліміт процесора? Чи думають вони про веб-серверах або екземплярах ОС настільних ПК?
Денніс Кашкін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.