Блок управління введення-виведення на основі ваги для ВМ


13

Я використовую KVM для управління своїми віртуальними машинами. Я намагаюся обмежити ресурси, передбачені для віртуальних машин. Я можу обмежити процесор і пам'ять, виділену для VM, використовуючи libvirt / cgroups. Тепер я хочу контролювати час диска, відведений для кожного VM, застосовуючи деякі ваги. Я подивився на контроль blkio з груп. Оскільки VM - це лише процес Linux, я зможу використовувати групи, але я не впевнений, чи буде він також працювати для асинхронного IO. Якщо ні, чи може хтось запропонувати хороше альтернативне рішення?

Відповіді:


2

Blkio in cgroup термінологія означає доступ до вводу / виводу на блокових пристроях . Здається, не йдеться про регулювання всіх різних способів, які розробники програмного забезпечення мають під рукою для цілей, що стосуються вводу / виводу.

Схоже, це орієнтоване переважно на введення / виведення на пристроях , а не на те, як програмне забезпечення має доступ до пристроїв. Це може обмежувати кількість іопів, пропускну здатність або вагу іншими процесами. Схоже, буферизований запис на даний момент не підтримується блокіо. Це в офіційній документації :

В даний час підсистема Block I / O не працює для буферизованих операцій запису. Він в першу чергу орієнтований на прямий ввід / вивід, хоча працює для буферизованих операцій зчитування.

Якщо ви подивитеся на цю презентацію від Лінди Ван та Боба Коздемби з Red Hat, на сторінці 20+, ви побачите, що графік стосується пропускної здатності пристрою на VM, а не про випадкове проти блокування проти асинхронного вводу / виводу.

Здається, нещодавно Red Hat працювала над її реалізацією безпосередньо у вірш. Він був випущений минулого тижня в libvirt 0.9.9. Через кілька місяців ви зможете зробити щось подібне у своєму улюбленому дистрибутиві:

virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750

0

Можливо, ви хочете використовувати ionice, це як приємно, але для IO.


1
Чи ioniceє кращою альтернативою, ніж використання blkioв групах? Чи передбачено це чимось поточним рішенням ОП? Чи знаєте ви, як це стосується асинхронного IO?
— Калеб

Caleb це буде чудово, якщо ви можете просто розказати, що таке асинхронний IO і чим він відрізняється від синхронного IO стосовно операційної системи.
— sethu

@Caleb: Дивіться вище.
— Faheem Mitha
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.