Limit for disk operations (iops/read/write) / Возможность ограничения iops и скорости чтения с диск

Казаков Алексей Александрович добавил(а) 5 года назад
Planned in the 6th gen

Limit for disk operations (iops/read/write) at VM settings and VM templates.

---------------

В тех версиях libvirt, в которых это разрешает само API, сделать возможность ограничивать отдельным виртуальным машинам кол-во IOPS и скорость чтения/записи с/на диск(а).так же добавить этот функционал в шаблоны VM

Комментарии (1)

фото
1

Это не идея, а требование. Я уже давно столкнулся с тем, что некоторые клиенты вешают всю дисковую подсистему, мешая другим клиентам. Приходится руками резать в пол:

#!/bin/bash

virsh blkdeviotune $1 vda --total-iops-sec 500 --total-bytes-sec 26428800 --live

virsh blkdeviotune $1 vda --total-iops-sec 250 --total-bytes-sec 26428800 --config

virsh blkiotune $1 --weight 100 --live

virsh blkiotune $1 --weight 100 --config

фото
2

Ага. Ты видел че эти написали? В 6ом релизе планируют))

И кстати реально от версии libvirt зависит. Поддержка с 2ой вроде версии только введена

фото
1

Та видел. Собирают причины, что бы срубить побольше денег. Мол вот, хотите ограничения диска, покупайте новую панель за 2 сотни эвро. Да сейчас! Скрипт напишу и в крон засуну.

фото
1

да даже без крона можно =) один фиг основной узел не ребутается месяцами

фото
1

Так нет, ограничивать же не узел, а каждую виртуалку по факту, причем на время.

Вот составил команду

iotop -btoqqq --iter=2 | egrep -o "0\s%\sqemu-kvm\s-name\sguest=vm[[:digit:]]{1,9}" | sort -n | uniq -c | sed 's/qemu-kvm\ -name\ guest\=//g' | sed 's/\.[0-9][0-9]//g'

24 0 % vm109810

22 0 % vm1318

10 0 % vm7713

слева кол-во потоков, далее % ИО. Вот если % будет 90 и выше за какой-то промежуток времени, и потоков куча, - режем командами из поста ранее. Позже снимаем ограничение.

фото