Использование политик качества обслуживания для томов

Можно использовать политики качества обслуживания, основанные на емкости, чтобы задавать динамические ограничения для вычислительных томов. Погигабайтные политики качества обслуживания позволяют настроить производительность и пропускную способность томов в зависимости от их размера. Например, если ограничения составляют 5 IOPS на ГБ и 1 МБ/с на ГБ, том на 100 ГБ будет обладать производительностью 500 IOPS и пропускной способностью 100 МБ/с, тогда как том на 1 ТБ — 5 000 IOPS и 1 000 МБ/с. После увеличения размера тома, для которого заданы погигабайтные ограничения, его пропускная способность и производительность будут увеличены пропорционально размеру.

Для динамической конфигурации производительности и пропускной способности можно ограничивать следующие параметры томов:

  • Количество операций чтения в секунду на ГБ
  • Количество операций записи в секунду на ГБ
  • Общее количество операций чтения и записи в секунду на ГБ
  • Количество считываемых байтов в секунду на ГБ
  • Количество записываемых байтов в секунду на ГБ
  • Общее количество считываемых и записываемых байтов в секунду на ГБ

Кроме того, можно контролировать минимальные значения производительности и пропускной способности, чтобы гарантировать высокую производительность для томов маленького размера.

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

Ограничения

  • Погигабайтные ограничения не применяются к существующим томам на лету. Чтобы применить их к существующему тому, остановите и запустите ВМ, к которой присоединен этот том.
  • В одной политике качества обслуживания можно ограничить либо общую производительность и общую пропускную способность, либо производительность и пропускную способность отдельно для чтения и отдельно для записи. Например, нельзя указать параметр total-bytes-sec-per-gb вместе с параметром write-bytes-sec-per-gb или read-bytes-sec-per-gb.

Чтобы создать погигабайтную политику качества обслуживания

Используйте следующую команду:

vinfra service compute storage-policy create --tier {0,1,2,3} (--replicas <norm> | --encoding <M>+<N>)
			--failure-domain {0,1,2,3,4}
			[--write-bytes-sec-per-gb <limit>] [--write-bytes-sec-per-gb-min <limit>]
			[--read-bytes-sec-per-gb <limit>] [--read-bytes-sec-per-gb-min <limit>]
			[--write-iops-sec-per-gb <limit>] [--write-iops-sec-per-gb-min <limit>]
			[--read-iops-sec-per-gb <limit>] [--read-iops-sec-per-gb-min <limit>]
			[--total-bytes-sec-per-gb <limit>] [--total-bytes-sec-per-gb-min <limit>]
			[--total-iops-sec-per-gb <limit>] [--total-iops-sec-per-gb-min <limit>]
			<name>		
--tier {0,1,2,3}
Уровень хранилища
--encoding <M>+<N>

Схема помехоустойчивого кодирования хранилища в формате:

  • M: число блоков данных
  • N: число паритетных блоков
--failure-domain {0,1,2,3,4}
Область отказа хранилища
--replicas <norm>[:<min>]

Схема репликации хранилища в формате:

  • norm: количество сохраняемых реплик
  • min: минимально требуемое количество реплик (необязательно)
--write-bytes-sec-per-gb <limit>
Количество записываемых в секунду байтов на ГБ
--write-bytes-sec-per-gb-min <limit>
Минимальное количество записываемых в секунду байтов на ГБ
--read-bytes-sec-per-gb <limit>
Количество считываемых в секунду байтов на ГБ
--read-bytes-sec-per-gb-min <limit>
Минимальное количество считываемых в секунду байтов на ГБ
--write-iops-sec-per-gb <limit>
Количество операций записи в секунду на ГБ
--write-iops-sec-per-gb-min <limit>
Минимальное количество операций записи в секунду на ГБ
--read-iops-sec-per-gb <limit>
Количество операций чтения в секунду на ГБ
--read-iops-sec-per-gb-min <limit>
Минимальное количество операций чтения в секунду на ГБ
--total-bytes-sec-per-gb <limit>
Общее количество считываемых и записываемых в секунду байтов на ГБ
--total-bytes-sec-per-gb-min <limit>
Минимальное общее количество считываемых и записываемых в секунду байтов на ГБ
--total-iops-sec-per-gb <limit>
Общее количество операций чтения и записи в секунду на ГБ
--total-iops-sec-per-gb-min <limit>
Минимальное общее количество операций чтения и записи в секунду на ГБ
<name>
Имя политики хранения

Например, чтобы создать политику хранения myqospolicy, в которой общее количество операций чтения и записи в секунду на ГБ — 100, минимальное общее количество операций чтения и записи в секунду на ГБ — 50, выполните:

# vinfra service compute storage-policy create myqospolicy --tier 1 --failure-domain 1 --replicas 3 \
		--total-iops-sec-per-gb 100 --total-iops-sec-per-gb-min 50

Чтобы добавить погигабайтные ограничения к существующей политике хранения

Используйте команду vinfra service compute storage-policy set, указав необходимое значение для параметра, который требуется ограничить. Например, чтобы добавить к политике хранения myqospolicy погигабайтное ограничение пропускной способности в 104 857 600 байт, считываемых и записываемых в секунду, выполните:

# vinfra service compute storage-policy set myqospolicy --total-bytes-sec-per-gb 104857600

Чтобы удалить погигабайтные ограничения из существующей политики хранения

Используйте команду vinfra service compute storage-policy set, указав -1 как значение для параметра, для которого необходимо отменить погигабайтное ограничение. Например, чтобы удалить погигабайтное ограничение общей пропускной способности из политики хранения myqospolicy, выполните:

# vinfra service compute storage-policy set myqospolicy --total-bytes-sec-per-gb -1