Настройка функции SmartQoS#
В OpenStack управление качеством обслуживания (QoS) может осуществляться как на уровне гипервизора, или фронтенда, так и на уровне хранилища, или бэкенда.
Подробные сведения о конфигурации параметров качества обслуживания на уровне фронтенда см. на странице по адресу https://docs.openstack.org/cinder/latest/admin/basic-volume-qos.html.
В этом разделе описано, как задавать параметры качества обслуживания на уровне бэкенда.
Чтобы настроить функцию SmartQoS, выполните следующие шаги:
Воспользуйтесь утилитой удаленного доступа, такой как PuTTY, чтобы войти на сервер OpenStack Cinder по его IP-адресу управления.
Создайте тип тома:
# cinder type-create <name>
В этой команде
<name>обозначает название типа тома.Включите функцию SmartQoS:
# cinder type-key <vtype> set capabilities:QoS_support='<is> true'
В этой команде
<vtype>обозначает название типа тома, созданного на шаге 2.Создайте спецификацию QoS:
# cinder qos-create <name> IOType=* <qos_key>=***
В этой команде
<name>обозначает имя спецификации QoS.Таблица 26 Параметр IOType# Параметр
Описание
Примечания
IOType
Тип операций ввода-вывода.
Может иметь значение:
0 — чтение;
1 — запись;
2 — чтение и запись.
Таблица 27 Необязательные параметры qos_key# Параметр
Описание
Примечания
maxIOPS
Максимальное количество операций ввода-вывода в секунду. Ограничительный параметр политики.
Значение должно быть целым числом, которое больше 0. Для СХД OceanStor Dorado значение должно быть целым числом, которое больше или равно 100.
minIOPS
Минимальное количество операций ввода-вывода в секунду. Защитный параметр политики.
maxBandWidth
Максимальная пропускная способность. Ограничительный параметр политики.
Значение должно быть целым числом, которое больше 0. Значение должно быть выражено в МБ/c.
minBandWidth
Минимальная пропускная способность. Защитный параметр политики.
latency
Максимальная задержка. Защитный параметр политики.
Значение должно быть целым числом, которое больше 0. Значение должно быть выражено в миллисекундах. Этот параметр не поддерживается для СХД OceanStor Dorado и OceanStor 6.1.3/6.1.5/6.1.6.
burstIOPS
Максимальное количество операций ввода-вывода при всплеске дисковой активности.
Поддерживается только для СХД OceanStor Dorado и OceanStor 6.1.3/6.1.5/6.1.6. Значение должно быть целым числом, которое больше или равно 100. При указании параметра burstIOPS также необходимо указать параметры maxIOPS и burstTime. Кроме того, значение параметра burstIOPS должно быть больше значения параметра maxIOPS.
burstBandWidth
Максимальная пропускная способность при всплеске дисковой активности.
Поддерживается только для СХД OceanStor Dorado и OceanStor 6.1.3/6.1.5/6.1.6. Значение должно быть целым числом, которое больше 0. Значение должно быть выражено в МБ/c. При указании параметра burstBandWidth также необходимо указать параметры maxBandWidth и burstTime. Кроме того, значение параметра burstBandWidth должно быть больше значения параметра maxBandWidth.
burstTime
Длительность всплеска дисковой активности.
Поддерживается только для СХД OceanStor Dorado и OceanStor 6.1.3/6.1.5/6.1.6. Значение должно быть целым числом, которое больше 0. Значение должно быть выражено в секундах. При указании параметра burstIOPS или burstBandWidth также необходимо указать параметр burstTime.
Примечание
Одновременно могут быть заданы различные ограничительные или защитные параметры политики. Однако ограничительные параметры не могут сосуществовать с защитными.
Для СХД OceanStor Dorado и OceanStor 6.1.3/6.1.5/6.1.6 параметру IOType должно быть задано значение 2. Можно одновременно задавать защитные и ограничительные параметры политики. Не поддерживается параметр latency.
Параметры latency, burstIOPS, burstBandWidth, burstTime и защитные параметры политики поддерживаются только для OpenStack Rocky и более поздних версий.
Для СХД OceanStor Dorado и OceanStor 6.1.3/6.1.5/6.1.6 и версий OpenStack, более ранних, чем Rocky, не поддерживаются параметры minIOPS, minBandWidth, latency.
Свяжите спецификацию QoS с типом тома:
# cinder qos-associate <qos_specs> <volume_type_id>
Где:
<qos_specs>— идентификатор спецификации QoS, созданной на шаге 4;<volume_type_id>— идентификатор типа тома, созданного на шаге 2.
Используйте тип тома, созданный на шаге 2, чтобы создать том:
# cinder create <size> --name <volume-name> --volume-type <name>
Где:
<size>— размер тома в ГБ;<volume-name>— имя тома;<name>— название типа тома.
Выполните команду
cinder list. Проверьте вывод команды. Если том находится в состоянии available, он успешно создан.