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


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.