Проблемы производительности записи в PowerFlex
Summary: После обслуживания сети производительность записи некоторых SDS снижается.
Symptoms
Сценарий
- Эта проблема возникает после выполнения обслуживания сети на стоечных коммутаторах верхнего уровня (TOR), обычно перезагрузки коммутаторов.
- Узлы SDS используют LACP-связку для сетей передачи данных.
- Затронуты только узлы SDS, использующие коммутаторы, на которых выполнялось техническое обслуживание.
- Производительность записи может достигать сотен миллисекунд для определенного пула хранения данных/PD.
- Производительность чтения одного и того же набора SDS нормальная.
- «NET_LONG_RCV_GRP_PROCESS» в diag_counters.txt показывает, что значения быстро растут, в то время как последнее увеличение остается низким.
Пример.
Comp :: Counter :: Value :: ExtData :: Last Counted(Ms) NET :: NET_LONG_RCV_GRP_PROCESS :: 3756453 :: 0xffffffff :: 3120 NET :: NET_LONG_RCV_GRP_PROCESS :: 3825395 :: 0xffffffff :: 960 NET :: NET_LONG_RCV_GRP_PROCESS :: 3705906 :: 0xffffffff :: 1320 NET :: NET_LONG_RCV_GRP_PROCESS :: 4094919 :: 0xffffffff :: 1230 NET :: NET_LONG_RCV_GRP_PROCESS :: 3954725 :: 0xffffffff :: 1390 NET :: NET_LONG_RCV_GRP_PROCESS :: 3594178 :: 0xffffffff :: 420 NET :: NET_LONG_RCV_GRP_PROCESS :: 3702403 :: 0xffffffff :: 680 NET :: NET_LONG_RCV_GRP_PROCESS :: 3830299 :: 0xffffffff :: 510 NET :: NET_LONG_RCV_GRP_PROCESS :: 3491713 :: 0xffffffff :: 330 NET :: NET_LONG_RCV_GRP_PROCESS :: 4155343 :: 0xffffffff :: 690
В этом примере значение в третьем столбце велико (и увеличивается при просмотре в прямом эфире). В пятом столбце указано время последнего столкновения, что составляет менее секунды для значительной части SDS.
В исправной системе PowerFlex третий столбец не будет вести отсчет, а пятый столбец будет вести обратный отсчет, так как время последнего появления увеличивается со временем.
Чтобы следить за счетчиками в реальном времени, можно выполнить следующие команды:
#Set переменную для SDS в затронутом защищенном домене. Введите здесь правильное имя PD.
pd=<PD_NAME>
#Set переменную для количества SDS в защищенном домене. Реализуйте это как есть.
num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`
#login, чтобы последняя команда сработала.
scli --login --username admin
#Watch правильный счетчик из команды «query_diag_counters» для каждого SDS.
watch -d -n 1 "for x in \$(scli --query_all_sds | grep -A $num $pd | grep ID | awk '{print \$5}'); do echo \$x; scli --query_diag_counters | grep -A30 \$x | grep -Em1 '\$x|NET_LONG_RCV_GRP_PROCESS'; done"
В исправной системе ожидайте, что пятый столбец будет регулярно подсчитывать по прошествии времени, а третий столбец будет статичным. Если время пятого столбца остается низким, а третий столбец ведет отсчет, это симптом проблемы.
Удар
Низкая производительность записи у клиентов.
Cause
Отслеживаемый выше показатель «NET_LONG_RCV_GRP_PROCESS» указывает на то, что отправка данных TCP на удаленный SDS заняла более 1 с.
Эта задержка может произойти из-за небольшого начального окна перегрузки TCP после обслуживания сети и из-за того, что в операционной системе не был должным образом задан параметр пакетов OOO (Out of Order). Это приводит к тому, что разъемы SDS/SDS не могут эффективно взаимодействовать, что приводит к многократной повторной передаче TCP и уменьшению размера сегмента. Это создает более высокую задержку при записи, так как это влияет только на сокеты SDS в SDS.
Задержка чтения не влияет, так как SDC (клиенты) обмениваются данными с одним SDS на один запрос ввода-вывода чтения и не полагаются на обмен SDS по протоколу SDS по протоколу TCP.
Resolution
Чтобы немедленно устранить временное решение, перезапустите сервис SDS на каждом затронутом узле. При перезапуске процесса SDS используйте режим обслуживания. Когда узел находится в режиме обслуживания, достаточно выполнить команду «pkill sds».
Чтобы предотвратить эту проблему в будущем, выполните следующие действия.
- Примените настройки sysctl, описанные в этой общедоступной статье базы знаний:
Узлы сервера хранения данных могут содержать неправильные параметры настройки системы, что может привести к проблемам с производительностью
- При использовании RHEL/CentOS 7 обновите версию ядра ОС на узлах SDS до 3.10.0-1160.66.1 или более поздней
Затронутая версия
PowerFlex 3.x
Исправлено в версии
RCM версии 3.6.3.2 или более поздней
; IC версии 38.363.02 или более поздней