Storage IO Control, SIOC, для дисковой подсистемы

Начиная с версии 4.1 серверы ESX(i) получили  возможность управлять распределением  количества  операций  ввода-вывода  в секунду между виртуальными машинами.

Мы можем оперировать двумя настройками – limit и shares, эти настройки делаются на уровне диска виртуальной машины.

Limit здесь – явное число операций  ввода-вывода  в секунду, которое может получить  этот диск виртуальной машины как максимум.  По умолчанию  limit не задан. Limit указывается в операциях  ввода-вывода  в секунду. Если вам удобнее оперировать Мб/сек, то, поделив  необходимое  число  Мб/сек на размер  одной операции  ввода-вывода (которым  оперирует  данная  ВМ),  вы получите  искомое количество  IOPS.  Например, для  получения максимум  10 Мб/сек для  виртуальной машины, оперирующей  блоками  в 64 Кб, укажите ее диску limit, равный 160 IOps.

Обратите внимание. Если пользоваться настройкой Limit, то она должна быть указана для всех дисков виртуальной машины. Если это не так, то настройка применяться не будет.

Shares – как и для других ресурсов, эта величина является долей ресурса, здесь это IOps.

Этот механизм включается для отдельного хранилища VMFS. Притом работает он не все время, а лишь по срабатыванию условия – превышение пороговой величины задержки (Latency). Когда значение этого счетчика превышает указанную  нами пороговую  величину,  настройки Limit и Shares применяются. И в соответствии с этими настройками  перераспределяются дисковые операции  хранилища  между дисками виртуальных машин, на нем расположенных.

Давайте пройдемся  по фактам о настройке и эксплуатации этого механизма.

SIOC выключен по умолчанию. Сделано это по той причине, что далеко не все лицензии vSphere позволяют  задействовать эту функцию.

Пороговое  значение  Latency  по умолчанию  – 30 миллисекунд. Притом  высчитывается и оценивается среднее значение Latency для всех серверов, обращающихся к хранилищу  VMFS.

Для  включения SIOC  необходим  vCenter.  Для  работы  SIOC  vCenter не является  необходимым.  Серверы  записывают  необходимые  данные на на само хранилище,  в первую очередь это значения  Latency  и настройки Limit/Shares виртуальных  дисков. Исходя  из этих данных, работает соответствующая служба  на каждом ESX(i). Эта служба называется «PARDA Control Algorithm»,  и основные ее компоненты – это «latency  estimation» и «window  size computation».  Первый  используется для оценки  Latency относительно порогового  значения  (это  делается каждые 30 секунд),  второй высчитывает необходимую  глубину очереди для сервера. При чем тут глубина очереди?

Дело в том, что именно за счет динамического изменения этой самой глубины и реализовано разделение IOps хранилища между виртуальными машинами с разных серверов. Сравните  рис. 6.18 и 6.19.  Первый из них иллюстрирует ситуацию без SIOC – когда два сервера обращаются на хранилище и полностью его нагружают, то сначала система хранения  делит операции  ввода-вывода  между серверами поровну. Затем каждый сервер может поделить обрабатываемые хранилищем для него IOps в требуемой пропорции между своими виртуальными машинами.

Рис. 6.18. Распределение операций ввода-вывода между ВМ разных серверов без SIOC

А вот на рис. 6.19 показана та же ситуация, но уже с SIOC.

Рис. 6.21. Вкладка Virtual Machines для Datastores

Источник: Михеев М. О.  Администрирование VMware vSphere 4.1. – М.: ДМК Пресс, 2011. – 448 с.: ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий