Управление политиками хранения

Управление политиками хранения#

Политика хранения представляет собой группу параметров, которые определяют, как следует хранить тома ВМ: тип хранилища, уровень хранения данных, область отказа и режим избыточности. Политика хранения также может ограничивать пропускную способность и количество операций ввода-вывода в секунду (IOPS) для тома. Эти ограничения помогают настроить распределение ресурсов кластера между виртуальными машинами. Они также необходимы, чтобы обеспечить прогнозируемые уровни производительности для дисков виртуальных машин.

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

О базовых томах

Базовый том создается на основе исходного образа при развертывании виртуальной машины. Он не используется виртуальной машиной напрямую, но все тома, которые она фактически использует (перечисленные на вкладке Тома), по сути, представляют собой дельты (разности) от базового тома. Важно поддерживать доступность базовых томов, так как от них зависят тома ВМ. Для этого потребуется задать множественные реплики в политике хранения по умолчанию.

Если в кластере хранилища недостаточно узлов для обеспечения множественных реплик (такая конфигурация не рекомендуется), можно будет скорректировать политику хранения по умолчанию после того, как в кластер хранилища будут добавлены дополнительные узлы. Она будет применена к образам и базовым томам, которые были созданы с политикой по умолчанию.

Чтобы применить пользовательские схемы избыточности к томам ВМ, можно создать, изменить или клонировать для них политики хранения.

Ограничения

  • Изменить тип избыточности существующей политики хранения невозможно.

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

Предварительные требования

Создание политики хранения

  1. На экране Вычисления → Хранилище → Политики хранения нажмите Создать политику хранения.

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

  3. Укажите имя политики.

    image1

  4. [Необязательно] [Для внутреннего хранилища] Выберите параметры избыточности.

  5. [Необязательно] [Для внешнего хранилища] Выберите внешнее хранилище.

  6. [Необязательно] Укажите Предел IOPS или Предел пропускной способности, чтобы задать соответствующие ограничения для тома.

  7. Нажмите кнопку Создать.

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

vinfra service compute storage-policy create --tier {0,1,2,3} (--replicas <norm>[:<min>] | --encoding <M>+<N>)
                                             --failure-domain {0,1,2,3,4}
                                             [--write-bytes-sec <limit>] [--read-bytes-sec <limit>]
                                             [--read-iops-sec <limit>] [--write-iops-sec <limit>]
                                             [--total-bytes-sec <limit>] [--total-iops-sec <limit>]
                                             <name>
--replicas <norm>[:<min>]

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

  • norm — количество сохраняемых реплик;

  • min — минимальное количество активных реплик, при котором сохраняется возможность записи данных.

--write-bytes-sec <limit>

Количество байтов, записываемых в секунду.

--read-bytes-sec <limit>

Количество байтов, считываемых в секунду.

--read-iops-sec <limit>

Количество операций чтения в секунду.

--write-iops-sec <limit>

Количество операций записи в секунду.

--total-bytes-sec <bytes>

Общее количество байтов, считываемых и записываемых в секунду.

--total-iops-sec <iops>

Общее количество операций чтения и записи.

<name>

Имя политики хранилища.

Например, чтобы создать политику хранилища mystorpolicy, в которой уровень хранилища — 3, схема избыточности — избыточное кодирование 3+2, область отказа — узел, общее количество операций чтения и записи в секунду — 100, общее количество байтов, считываемых и записываемых в секунду — 104 857 600, выполните:

# vinfra service compute storage-policy create mystorpolicy --tier 3 \
--encoding 3+2 --failure-domain 1 --total-bytes-sec 104857600 --total-iops-sec 100

Созданная политика хранилища появится в выводе команды vinfra service compute storage-policy list:

# vinfra service compute storage-policy list
+-------------+--------------+------+----------------+----------------+--------------------------------+
| id          | name         | tier | redundancy     | failure_domain | qos                            |
+-------------+--------------+------+----------------+----------------+--------------------------------+
| 97b55811<…> | mystorpolicy | 3    | encoding=3+2   | 1              | read_bytes_sec: -1             |
|             |              |      |                |                | read_bytes_sec_per_gb: -1      |
|             |              |      |                |                | read_bytes_sec_per_gb_min: -1  |
|             |              |      |                |                | read_iops_sec: -1              |
|             |              |      |                |                | read_iops_sec_per_gb: -1       |
|             |              |      |                |                | read_iops_sec_per_gb_min: -1   |
|             |              |      |                |                | total_bytes_sec: 104857600     |
|             |              |      |                |                | total_bytes_sec_per_gb: -1     |
|             |              |      |                |                | total_bytes_sec_per_gb_min: -1 |
|             |              |      |                |                | total_iops_sec: 100            |
|             |              |      |                |                | total_iops_sec_per_gb: -1      |
|             |              |      |                |                | total_iops_sec_per_gb_min: -1  |
|             |              |      |                |                | write_bytes_sec: -1            |
|             |              |      |                |                | write_bytes_sec_per_gb: -1     |
|             |              |      |                |                | write_bytes_sec_per_gb_min: -1 |
|             |              |      |                |                | write_iops_sec: -1             |
|             |              |      |                |                | write_iops_sec_per_gb: -1      |
|             |              |      |                |                | write_iops_sec_per_gb_min: -1  |
| 603bd56b<…> | default      | 0    | replicas=3     | 1              | read_bytes_sec: -1             |
|             |              |      |                |                | read_bytes_sec_per_gb: -1      |
|             |              |      |                |                | read_bytes_sec_per_gb_min: -1  |
|             |              |      |                |                | read_iops_sec: -1              |
|             |              |      |                |                | read_iops_sec_per_gb: -1       |
|             |              |      |                |                | read_iops_sec_per_gb_min: -1   |
|             |              |      |                |                | total_bytes_sec: -1            |
|             |              |      |                |                | total_bytes_sec_per_gb: -1     |
|             |              |      |                |                | total_bytes_sec_per_gb_min: -1 |
|             |              |      |                |                | total_iops_sec: -1             |
|             |              |      |                |                | total_iops_sec_per_gb: -1      |
|             |              |      |                |                | total_iops_sec_per_gb_min: -1  |
|             |              |      |                |                | write_bytes_sec: -1            |
|             |              |      |                |                | write_bytes_sec_per_gb: -1     |
|             |              |      |                |                | write_bytes_sec_per_gb_min: -1 |
|             |              |      |                |                | write_iops_sec: -1             |
|             |              |      |                |                | write_iops_sec_per_gb: -1      |
|             |              |      |                |                | write_iops_sec_per_gb_min: -1  |
+-------------+--------------+------+----------------+----------------+--------------------------------+

Изменение политики хранения

  1. На экране Вычисления → Хранилище → Политики хранения выберите политику из списка.

  2. На правой панели политики нажмите Изменить.

  3. Измените нужные параметры и нажмите кнопку Сохранить.

Не забывайте, что внесенные в политику изменения затронут избыточность и производительность всех томов, на которые распространяется эта политика.

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

vinfra service compute storage-policy set [--name <name>] [--tier {0,1,2,3}]
                                          [--replicas <norm>[:<min>] |
                                          --encoding <M>+<N>]
                                          [--failure-domain {0,1,2,3,4}]
                                          [--write-bytes-sec <limit>] [--read-bytes-sec <limit>]
                                          [--read-iops-sec <limit>] [--write-iops-sec <limit>]
                                          [--total-bytes-sec <limit>] [--total-iops-sec <limit>]
                                          <storage-policy>
--name <name>

Новое имя для политики хранилища.

--replicas <norm>[:<min>]

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

  • norm — количество сохраняемых реплик;

  • min — минимальное количество активных реплик, при котором сохраняется возможность записи данных.

--write-bytes-sec <limit>

Количество байтов, записываемых в секунду.

--read-bytes-sec <limit>

Количество байтов, считываемых в секунду.

--read-iops-sec <limit>

Количество операций чтения в секунду.

--write-iops-sec <limit>

Количество операций записи в секунду.

--total-bytes-sec <bytes>

Общее количество байтов, считываемых и записываемых в секунду.

--total-iops-sec <iops>

Общее количество операций чтения и записи.

<storage-policy>

Идентификатор или имя политики хранилища.

Например, чтобы изменить тип избыточности для политики mystorpolicy с избыточного кодирования 3+2 на 5+2, выполните:

# vinfra service compute storage-policy set mystorpolicy --encoding 5+2

Клонирование политики хранения:

  1. На экране Вычисления → Хранилище → Политики хранения выберите политику из списка.

  2. На правой панели политики нажмите Клонировать.

  3. [Необязательно]

    Внесите изменения в существующие параметры (или оставьте их без изменений), а затем нажмите Клонировать.

Просмотр сведения о политике хранения

На экране Вычисления → Хранилище → Политики хранения выберите политику из списка. На правой панели будут отображены сведения об этой политике.

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

vinfra service compute storage-policy show <storage-policy>
<storage-policy>

Идентификатор или имя политики хранения.

Например, чтобы вывести подробные данные о политике хранения mystorpolicy, выполните:

# vinfra service compute storage-policy show mystorpolicy
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| available      | False                                |
| failure_domain | host                                 |
| id             | 2199e71e-ce8a-4ba9-81cd-75502f0344ca |
| name           | mystorpolicy                         |
| qos            | total_bytes_sec: 104857600           |
|                | total_iops_sec: 100                  |
| redundancy     | encoding=3+2                         |
| storage        | vstorage                             |
| tier           | 3                                    |
+----------------+--------------------------------------+

Удаление политики хранения

  1. На экране Вычисления → Хранилище → Политики хранения выберите политику из списка.

  2. На правой панели политики нажмите Удалить.

  3. В окне подтверждения нажмите Удалить политику.

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

vinfra service compute storage-policy delete <storage-policy>
<storage-policy>

Идентификатор или имя политики хранилища.

Например, чтобы удалить политику хранилища mystorpolicy, выполните:

# vinfra service compute storage-policy delete mystorpolicy