PowerFlex. Восстановление и повторная балансировка, влияющие на производительность рабочих нагрузок ввода-вывода интерфейса
Summary: Восстановление и повторная балансировка, влияющие на рабочую нагрузку внешнего ввода-вывода.
Symptoms
Когда начинается перестроение или повторная балансировка, количество операций ввода-вывода в секунду клиентского приложения может резко снизиться.
- Произошел сбой узла или диска SDS, что привело к запуску восстановления.
- В кластер или пул хранения данных добавлен узел или диск SDS, что приводит к запуску повторной балансировки.
- Узел или диски SDS удаляются из кластера или пула хранения данных, что приводит к запуску повторной балансировки.
- После запуска перестроения/повторной балансировки значение операций ввода-вывода в секунду резко снижается (до 50% или более от ожидаемого показателя IOPS).
Воздействие
Увеличение скорости и ресурсов при перестроении или повторной балансировке сокращает время, необходимое для создания двух полных копий каждого блока, необходимых ScaleIO. Однако это может повлиять на пропускную способность и количество операций ввода-вывода SDC, и конечный пользователь может заметить медленную работу приложений или даже ошибки ввода-вывода. Прежде чем вносить изменения, следует понять, какое влияние эти изменения могут оказать на ввод-вывод интерфейса.
Cause
При перестройке и повторной балансировке используются те же диски и, возможно, сетевые ресурсы, что и SDC, что приводит к снижению пропускной способности как на диске, так и на сети. При перестроении и повторной балансировке также по умолчанию используются два потока SDS, определяемые как параметр параллелизма.
SDS создает эти потоки и использует дополнительные ресурсы ЦП и памяти, если значение превышает значение по умолчанию для двух потоков. Это приводит к тому, что SDS тратит больше времени и ресурсов ЦП на перестройку/повторную балансировку, чем это могло бы, в результате чего меньше времени и ресурсов ЦП тратится на обслуживание внешних операций ввода-вывода.
Resolution
Здесь есть несколько вещей, которые следует проверить. На перестройку и повторную балансировку могут влиять следующие параметры:
1. SDS Network Throttling Это ограничение способов ввода-вывода, которые каждая SDS использует для различных перечисленных категорий. По умолчанию во всех категориях установлено значение «Без ограничений».
A-From scli:
scli --set_sds_network_limits (--protection_domain_id | --protection_domain_name ) [--rebuild_limit ] [--rebalance_limit ][--overall_limit ] [--i_am_sure] Example, setting the rebuild limit to 100 MB/s: scli --set_sds_network_limits --protection_domain_name pd1 --rebuild_limit 100
B-From UI:
Перейдите к списку защищенных доменов, выберите нужный защищенный домен и выберите «Network Throttling» в списке Mod.

2. Приоритет ввода-вывода пула хранения данных. Этот параметр действует для каждого пула хранения данных и изменяет приоритет ввода-вывода при восстановлении или повторной балансировке, что влияет на производительность системы. Значение по умолчанию — «Limit Concurrent IO» — значение 1 как для перестроения, так и для повторной балансировки.
A-From scli:
scli --set_rebuild_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure] scli --set_rebalance_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure]
ПОЛИТИКА может быть одной из: no_limit, limit_concurrent_io, favor_application_io dynamic_bandwidth_throttling
Если для политики используется что-либо, кроме "no_limit", становится обязательным использование команды OPTIONS. Дополнительные справочные материалы по этим параметрам см. в документации PowerFlex.
B-From UI: Перейдите в список пулов хранения данных, выберите нужный пул хранения данных и выберите в списке изменения «I/O Priority».

3- Параллельные действия по восстановлению и восстановлению баланса. Значение по умолчанию — 2.
A- Этот параметр можно изменить только с помощью scli:
scli --set_rebuild_rebalance_parallelism (((--protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) (--limit ) Example, setting the limit to 5: scli --set_rebuild_rebalance_parallelism --protection_domain_name pd1 --storage_pool_name HDD_POOL --limit 5
ПРИМЕЧАНИЕ. Если в команде используется параметр storage_pool_id, то не нужно также указывать идентификатор или имя защищенного домена, а также имя пула хранения данных. Если это не указано службой поддержки ScaleIO, оставьте для этого параметра значение 2. Увеличение этого параметра отрицательно скажется на внешнем вводе-выводе быстрее, чем на настройках регулирования сети и приоритета ввода-вывода.