10 порад щодо підвищення продуктивності vSphere, Windows IT Pro

Попрацювавши з численними екземплярами VMware vSphere ESXi, встановленими на клієнтах з різною конфігурацією, я підготував список із 10 рекомендацій, які допоможуть адміністратору ESXi збільшити продуктивність віртуальних машин. Сподіваюся, деякі з них допоможуть покращити характеристики і ваших віртуальних машин ESXi

Попрацювавши з численними екземплярами VMware vSphere ESXi, встановленими на клієнтах з різною конфігурацією, я підготував список із 10 рекомендацій, які допоможуть адміністратору ESXi збільшити продуктивність віртуальних машин. Сподіваюся, деякі з них допоможуть покращити характеристики та ваших віртуальних машин ESXi.

Порада #1. Пам'ять вузла ESXi та перевищення фізичних ресурсів при виділенні пам'яті

Функція memory overcommit дозволяє виділити віртуальним машинам на вузлі ESXi пам'ять, що перевищує фізичні ресурси комп'ютера. Це корисно, якщо потрібно запустити віртуальну машину в аварійній ситуації, але зазвичай використання цієї функції слід уникати. Багато проблем із продуктивністю віртуальної машини викликані виділенням недостатньої пам'яті для неї або перевищенням фізичних ресурсів вузла ESXi.

Перевищення фізичних ресурсів виділення пам'яті на автономному вузлі ESXi — невдалий підхід, але на вузлі ESXi, підключеному до кластеру, наслідки може бути катастрофічними. Ми проектуємо кластери ESXi для N-1 вузлів. Чи впораються вузли ESXi, що залишилися, з навантаженням у разі відмови одного вузла? Припустимо, що ми маємо кластер ESXi з двома вузлами, і враховуючи кількість віртуальних машин, кожному вузлу ESX потрібно 32 Гбайт пам'яті, щоб уникнути перевищення фізичних ресурсів при виділенні пам'яті. У разі відмови одного вузла всевіртуальні машини, що функціонують на ньому, автоматично запускаються на вузлі, що залишився (якщо кластер з високою доступністю налаштований правильно).

У цьому прикладі кожному вузлу потрібно 64 Гбайт пам'яті, щоб уникнути перевищення фізичних ресурсів у разі відмови одного з вузлів. Якщо пам'ять кожного вузла всього 32 Гбайт, і один вузол виходить з ладу, то знизиться продуктивність всіх віртуальних машин на вузлі, що залишився, так як фізичні ресурси пам'яті цього вузла ESXi будуть перевищені на 50%.

Встановлюючи новий кластер ESXi, я завжди використовую vMotion для перенесення всіх віртуальних машин із одного вузла на інший вузол (або вузли) ESXi. Потім я стежу за реакцією співробітників офісу. Ніхто не повинен зауважити, що один вузол ESXi припинив функціонування. Таким чином можна переконатися в надійності архітектури та її відповідності обчислювальним потребам замовника навіть при відмові одного вузла ESXi. Рекомендую придбати вузол ESXi з пам'яттю щонайменше 256 Гбайт для майбутнього розширення.

Я збираю інформацію про ціни на окремі модулі DIMM та відшукую точку, після якої співвідношення ціни та обсягу пам'яті DIMM стає нелінійним. У таблиці наведено приблизні ціни модулів DIMM типу Double Data Rate 3 (DDR3) для сервера HP ProLiant DL380 G7. Ціна збільшується лінійно до 8 Гб. Однак різниця в ціні між 8 Гбайт та 16 Гбайт значна. Наприклад, якщо потрібен вузол ESXi з пам'яттю 96 Гбайт, краще купити дванадцять модулів DIMM по 8 Гбайт (2040 дол.) замість шести модулів DIMM по 16 Гбайт (2880 дол.). Такий підхід до закупівель переважний незважаючи на те, що в майбутньому, можливо, потрібно буде замінити модулі DIMM по 8 Гбайт, щоб максимально реалізувати можливості сервера. До часу, коли потрібно розширити пам'ять, ціна на модулі DIMM16 Гбайт буде нижче, ніж 8 Гбайт DIMM сьогодні.

продуктивності

При збільшенні розміру пам'яті сервера понад певну межу (96 Гбайт для DL380 G7) її швидкодія знижується. Наприклад, при досягненні максимальної межі 144 Гбайт на вузлі DL380 G7 швидкодія знижується з 1333 до 800 МГц. Це дійсно так, але, на мій погляд, відсутність пам'яті принесе вагоміший негативний ефект, ніж зниження швидкості. Доступ до оперативної пам'яті приблизно в 100 000 разів швидше за звернення до диска. Тому незважаючи на зниження швидкості пам'яті, пам'ять на 800 МГц приблизно в 60 000 разів швидше за диск.

Наприклад, я допомагав мігрувати Microsoft Exchange Server 2010 для однієї компанії. Усі сервери Exchange були віртуальними машинами в кластері ESXi. Щоб обробити додаткове навантаження в Exchange 2010, необхідно було збільшити пам'ять кожного вузла на 96 Гб, з 64 до 160 Гб. У цій конфігурації Exchange 2010 відрізняється швидкістю та стабільністю. Ніхто не помітив, що швидкість пам'яті знизилася до 800 МГц, але всі помітили б погіршення характеристик, не встанови ми додаткової пам'яті перед переходом на Exchange 2010. Висновок: переконайтеся, що вузол ESXi має достатню пам'ять, і намагайтеся не перевищувати фізичні ресурси при виділенні пам'яті , щоб збільшити швидкодію.

Порада #2. Ядра процесора вузла ESXi

Так само, як не можна бути надто багатим або надто струнким, неможливо мати занадто багато ядер процесора на вузлі ESXi. При використанні vSphere 5 Enterprise Plus можна налаштувати віртуальну машину з 32 віртуальними процесорами. Тактова частота процесора на вузлі менш важлива, як число ядер. Якщо доводиться вибирати між високою тактовою частотою тазбільшенням числа ядер, я вибираю останнє.

vSphere ліцензується залежно від кількості процесорів, тому вигідно вибирати процесори з великою кількістю ядер. Можна налаштувати вузол ESXi з меншою кількістю фізичних процесорів, зменшивши вартість ліцензії vSphere. Ядра процесора особливо важливі для віртуальних машин, які мають виконувати програми з великим навантаженням на процесор, такі як SSL-шифрування або Microsoft SQL Server.

Порада #3. Пам'ять віртуальної машини

Важливо виділити кожній віртуальній машині необхідну кількість пам'яті. Exchange 2010 і Exchange 2007 відносяться до програм, що потребують оперативної пам'яті великого розміру. Для сервера Exchange з 10 користувачами, ролями сервера клієнтського доступу, транспортного сервера-концентратора та сервера поштових скриньок, а також інструментами керування потрібно близько 16 Гбайт пам'яті! Для оптимальної продуктивності сервера Exchange з 300 користувачами та тими самими ролями потрібно близько 72 Гбайт пам'яті. З'ясуйте вимоги додатків до пам'яті та виділіть відповідну кількість оперативної пам'яті кожній віртуальній машині, не перевищуючи фізичних ресурсів вузла ESXi.

Адресний простір платформи Windows x64 - 2 Тбайт. Якщо віртуальна машина працює з операційною системою x64, то слабку продуктивність диска віртуальної машини можна частково компенсувати, збільшивши пам'ять, що виділяється віртуальній машині, та кешуючи дані. Звичайно, якщо виділена пам'ять вже перевершує фізичні ресурси вузла ESXi, виділення додаткової пам'яті призведе до зниження, а не до збільшення швидкодії віртуальної машини.

Порада #4. Число та конфігурація віртуальних процесорів віртуальної машини

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

У vSphere 5 можна вказати як кількість віртуальних процесорів, так і кількість ядер у кожному віртуальному процесорі. Наприклад, Exchange 2007 не стосується програм, що підтримують SMP. Якщо сервер Exchange 2007 прив'язаний до процесора і функціонує на ESXi-вузлі vSphere 5, можна збільшити кількість ядер віртуального процесора при єдиному віртуальному процесорі. Якщо у віртуальній машині виконується Exchange 2010 (додаток з підтримкою SMP), то задля досягнення оптимальної продуктивності слід збільшити кількість віртуальних процесорів, кожен з яких має одне ядро. Звичайно, тут ефект буває різним, тому виконайте тести, щоб з'ясувати оптимальну конфігурацію віртуальних процесорів/ядер для свого випадку.

Порада #5. Паравіртуальний SCSI-драйвер

При використанні кластера ESXi, підключеного до Fibre Channel або iSCSI SAN, можна підвищити пропускну спроможність диска (від 10 до 25%) при цьому рівні продуктивності процесора на вузлі. Переваги досягаються, тільки якщо вузли підключені до мережі SAN, але не до сховища прямого доступу (DAS). Паравіртуальний SCSI-драйвер VMware має деякі обмеження:

* Паравіртуальний SCSI-драйвер підтримується тільки у віртуальних машинах з Windows Server 2008 R2, 2008, 2003 R2, 2003 або Red Hat Linux 5;

* для віртуальної машини необхідне обладнання віртуальноїмашини версії 7 чи новішої;

* паравіртуальний SCSI-драйвер непридатний для стійких до відмови віртуальних машин.

Порада #6. Миттєвий знімок віртуальної машини

Моментальні знімки — чудовий інструмент, за допомогою якого можна вийти зі скрутного становища, що виникло внаслідок невдалої спроби оновлення або застосування програмних виправлень. Як правило, моментальний знімок віртуальної машини варто робити безпосередньо перед оновленням або застосуванням програмних виправлень. Якщо оновлення відбувається без проблем, можна ввести зміни з моментального знімка або різницевий файл у базовий образ віртуальної машини. Або ж можна повернути віртуальну машину в стан, що передує моментальному знімку.

Віртуальні машини з активними моментальними знімками записують будь-які зміни в різницевий диск або файл, поки моментальний знімок активний. Якщо залишити моментальний знімок активним у віртуальній машині протягом тривалого часу та внести численні зміни, то розмір різницевого файлу може стати дуже великим; можливо, у групі зберігання навіть не вистачить місця. Тому рекомендується зробити моментальний знімок віртуальної машини, виконати оновлення, переконатися, що все в порядку, а потім видалити моментальний знімок з віртуальної машини. Не залишайте моментальний знімок у віртуальній машині просто тому, що він може знадобитися. Безперечно, активний моментальний знімок також знижує швидкодію віртуальної машини. Зниження продуктивності особливо помітне, якщо вузол ESXi працює з високим навантаженням. Зайві активні моментальні знімки знижують швидкодію віртуальної машини та підвищують ймовірність того, що для неї не вистачить місця на диску.

Порада #7. Мережізберігання даних iSCSI та кадри великого розміру

За замовчуванням розмір кадру MTU складає 1500 байт. Якщо дозволити кадри великого розміру iSCSI SAN, то значення MTU збільшується до 9000 байт. Це дозволяє передавати у кожному пакеті більше даних, підвищуючи пропускну спроможність iSCSI SAN на 5-15%. Виграш зазвичай більший у мережах 10 Gigabit Ethernet, ніж у 1 Gigabit Ethernet.

Безперечно, переконайтеся, що кадри великого розміру задіяні на кожному пристрої, підключеному до мережі SAN. Серед цих пристроїв можуть бути контролери SAN, комутатори SAN, мережні адаптери ESXi та брандмауери, що підключаються до SAN. Якщо пропустити лише один пристрій в iSCSI SAN, то продуктивність, швидше за все, знизиться через пропущені кадри. Рівень продуктивності можна визначити до і після роздільної здатності кадрів великого розміру за допомогою утиліти Iometer (http://www.iometer.org/). Якщо показники знижуються, то, можливо, при налаштуванні пропущено один або кілька пристроїв у мережі SAN.

Порада #8. Інфраструктура SAN

Завжди використовуйте для SAN виділену мережу. Кілька років тому була популярна технологія Fibre Channel over Ethernet (FCoE), але вона так і не набула широкого поширення. На мій погляд, найкраще співвідношення ціни та продуктивності серед рішень SAN – у 10 Gigabit Ethernet iSCSI. Продуктивність її вища, ніж навіть у 8 Gigabit Ethernet Fibre Channel, а ціна нижча.

Порада #9. Конфігурація диска, RAID та твердотільні накопичувачі

У vSphere 5 можна призначити групу зберігання, до складу якої входять твердотільні накопичувачі (SSD). Якщо визначено групу зберігання SSD, vSphere 5 використовує її для підкачування сторінок пам'яті. В ідеалі розмір пам'яті вузла ESXi повинен бути достатнім, щоб уникнути підкачування сторінок, але якщона сервер вже встановлено максимальний обсяг пам'яті, цей варіант може виявитися корисним. Продуктивність буде не настільки високою, як при використанні оперативної пам'яті, але краще, ніж при розміщенні файлу підкачки на накопичувачі, відмінному від твердотільного. Загалом намагайтеся не використовувати RAID 6 для груп зберігання, особливо якщо необхідно виконувати багато операцій запису. Якщо вам потрібна висока стійкість до відмов RAID 6 без втрат швидкодії при записі на диск, налаштуйте масив RAID 5 з одним або декількома пристроями «гарячого» резерву.

Порада #10. «Тонка» та «товста» підготовка дисків

При створенні віртуальної машини адміністратору надається вибір між "тонкою" (thin) та "товстою" (thick) підготовкою жорстких дисків віртуальної машини. У першому випадку спочатку формується малий vmdk-файл. Спочатку файл використовує лише простір, що займає диск, і збільшується до передбаченого розміру. За «тонкої» підготовки економиться простір у групі зберігання. Однак збільшується можливість швидко витратити дисковий простір у групі зберігання, а швидкодія дисків може знизитися через фрагментацію диска. Якщо група зберігання розміщується в мережі SAN, результати можуть бути різними, оскільки деякі постачальники SAN використовують тонку підготовку, навіть в умовах товстої підготовки дисків віртуальної машини. Але як загальне правило я рекомендую «товсту» підготовку дисків. При цьому більше шансів отримати високу продуктивність, ніж при «тонкій» підготовці дисків, і менша можливість витратити дисковий простір групи зберігання.

Вдалого налаштування

Ефективність застосування цих порад щодо підвищення продуктивності залежить від характеристик середовища. Критичнийфактор, що визначає швидкодію віртуальної машини – правильна конфігурація пам'яті як вузла ESXi, так і віртуальної машини. Бажаю успіхів у виборі оптимальних параметрів для високої продуктивності!

Поділіться матеріалом з колегами та друзями