Віртуалізація

Умикаємо підтримку SR-IOV для віртуальних машин Hyper-V

Умикаємо підтримку SR-IOV для віртуальних машин Hyper-V

Sr-iov (Віртуалізація єдиного кореневого введення/виводу) Це технологія для віртуалізації апаратних пристроїв хоста, що дозволяє віртуальним машинам спрямовувати доступ до пристроїв. Технологія дозволяє віртуалізувати різні типи пристроїв, але найчастіше використовується для віртуалізації мережевих адаптерів. У цій статті ми розповімо, як правильно увімкнути та налаштувати SR-IOV для мережевих адаптерів віртуальних машин на сервері Hyper-V.

SRV-IOV підтримується у Hyper-V з версії 2012 року, в тому числі у безкоштовному сервері Hyper-V. Ми не будемо занурюватися в теорію SR-IOV, ви можете знайти детальний опис технології в мережі. Для практичного розуміння достатньо знати, що SR-IOV дозволяє забезпечити доступ до віртуальних машин безпосередньо до фізичних мережевих адаптерів, обходячи віртуальні комутатори обробки трафіку. Один фізичний мережевий адаптер у режимі SR-IOV може обслуговувати кілька віртуальних машин.

Завдяки використанню SR-IOV для віртуальних машин Hyper-V, ви суттєво Збільшити пропускну здатність, Зменшіть затримку мережі і Зменшіть навантаження на процесор, викликано необхідністю обробки мережевого трафіку за допомогою програмного забезпечення Hyper-V.

Sr-Iov не сумісний з командуванням NIC.

Для того, щоб SRV-IOV працював у вашому хості Hyper-V, вам потрібно дотримуватися ряду станів.

Перш за все, вам потрібно ввімкнути підтримку та віртуалізацію SR-IOV у BIOS вашого сервера. Залежно від постачальника та серверної моделі, ці налаштування можуть відрізнятися.

Може не бути жодних моментів, навіть пункт SR-IOV. Але це не означає, що SR-IOV не підтримується сервером. Наприклад, на материнських платах Supermicro точка SR-IOV може бути відсутня, а за замовчуванням відключений елемент ASPM. Якщо ви ввімкнете ASPM та підтримку віртуалізації, то SR-IOV ввімкнеться автоматично.

Зверніть увагу, що якщо ОС-хоста встановлена ​​разом із SR-IOV, вимкненим у BIOS, то після ввімкнення, для операційної системи він виглядає як заміна мережевого адаптера (при розряді поточної статичної IP-адреси).

Ви можете перевірити, чи підтримується технологія SR-IOV вашим сервером Hyper-V на апаратному рівні за допомогою PowerShell:

(Get-vmhost).Iovsuport
(Get-vmhost).Iovsupportreasons

Якщо ваш сервер підтримує цю функцію, то True буде вказано в полі Iovsupport. Якщо це не підтримує, то помилково. У той же час, точка Iovsupportreasons матиме опис причини, через яку не підтримується SR-IOV. Причина зазвичай вказується досить детально. Ось типові причини:

Повний висновок команди Get-vmswitch | Fl *iov * надає ряд корисної інформації. Наприклад:

IovvirtalfunctionCount: 6 iovivirtalfunctionsinus: 3

Такі цифри негайно покажуть, скільки доступно віртуальних пристроїв IOV та скільки віртуальних машин вже використовувалося.

Створюючи віртуальний перемикач Hyper-V, вам потрібно встановити вікно підтримки SR-IOV - Увімкнути віртуалізацію вводу/виводу одноразового (SR-IOV).

Або включити опцію enableiov під час створення комутатора з командного рядка PowerShell:

Новий -vmswitch -name "ext_network" -netadaptername "Ethernet 2" -enableiov 1

Важливий. Ви не можете ввімкнути підтримку SR-IOV після створення віртуального комутатора. Якщо ви цього не зробили відразу, вам доведеться зняти його і розслабитися.

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

Є ще один нюанс. На материнській платі може бути кілька мережевих адаптерів, але SR-IOV може підтримувати лише деякі з них. Більше того, підтримка самого SR-Iov зовсім не означає, що він працює на цій конкретній материнській карті!

Тому після складання комутатора перевірте його за допомогою команди:

Get-vmswitch | Виберіть Iovsuport, Iovsupportreasons, Ienvanabled

Параметр iEvenabled показує, чи увімкнено.

Список мережевих адаптерів із підтримкою SR-IOV може відображатися за допомогою PowerShell:

Get-netadaptersriov | Назва сортування | Ім'я фут, взаємозв'язок, sriovsupport

Після того, як SR-IOV увімкнено на рівні гіпервізорів та віртуального перемикача, тепер його можна увімкнути у віртуальних машинах (за замовчуванням він вимкнено). Опція Увімкнути sr-iov Доступ до розділу апаратного прискорення в мережі віртуальної машини.

Або ви можете ввімкнути SR-IOV для мережевого адаптера віртуальної машини через PowerShell:

Set -vmnetworkadapter -vmnamnamnam -vmnetworkadapternam “мережевий адаптер” -iov -вага

Щоб вимкнути SR-IOV, потрібно змінити значення IV-ваги на 0.

Помилки під час SR-IOV написані на Hyper-V в окремому журналі в переглядачах подій:

Журнали додатків та служб -> Microsoft -> Windows -> Hyper -V -Synthnic -> Адміністратор.

Якщо SR-IOV працює нормально, то при запуску віртуальної машини в журналі будуть наступні записи:

12597 мережевий адаптер (%NIC_ID%) підключений до віртуальної мережі. 12582 мережевий адаптер (%NIC_ID%) почав успішно. 12584 мережевий адаптер (%NIC_ID%) виділив віртуальну функцію. 12588 Мережевий адаптер (%NIC_ID%) призначив віртуальну функцію.

Технологія SR-IOV дає хороший підвищення продуктивності мережі віртуальних машин та гіпервізора загалом. Ви помітите максимальні результати використання SR-IOV на Hyper-V хостів з великим трафіком віртуальних машин, що спричиняє сильне навантаження на хост-процесор.

Відкриті вікна не розгортаються у Windows 10 Solutions
Ми говоримо вам, що робити, якщо неможливо розширити вікна занедбаних додатків до Windows 10. Про що ми говоримо? Пояснимо. Ми говоримо про програми т...
Як виправити помилку 0xc0000098 у Windows 10
Помилка 0xc0000098 може з’явитися при встановленні або запуску Windows. Залежно від моменту його появи, відрізняються методи усунення. У першому випад...
Політика охолодження процесора в Windows 10 та як її змінити
Більшість настільних комп'ютерів мають активну систему охолодження, тоді як у ноутбуках використання пасивної системи вже не рідкість. Перший все ще е...