Низкая производительность NFS после некоторой активности

У меня есть кластер Linux с узлами, имеющими точки монтирования NFS с центрального сервера (на самом деле узлы бездисковые и загружаются через PXE). После некоторой активности точек монтирования NFS узлов NFS, похоже, резко замедляется, например Вход в систему по ssh занимает минуты, программам, зависящим от некоторых файлов в общей папке nfs, требуется несколько минут для запуска и т. д.

Перезапуск службы nfs на сервере и / или перезагрузка проблемных узлов решает проблему. проблема в течение короткого периода времени, однако она всегда появляется снова в ближайшее время. (Выполнение обоих, кажется, помогает немного дольше)

Сервер и узлы работают с CentOS 7.4 с ядром Linux 3.10.0-693.el7.x86_64 x86_64 и используется NFSv4. Хранилище состоит из 4 жестких дисков, объединенных в RAID10 (/ dev / sda). Сетевое соединение между сервером и узлами составляет 1 ГБит / с каждый, и пока нет свидетельств об отброшенных пакетах.

Что может быть причиной очень медленной реакции NFS, которая зависит от предыдущей активности?

Сокращенный вывод nfsstat на узле при медленной реакции файловой системы дает:

Статистика клиентского rpc:

вызовов | ретранс | authrefrsh
44154157 | 0 | 44154258

Клиент nfs v4:

null | читать | написать | совершить | открытый | open_conf
0 0% | 58125 0% | 422038 1% | 6846 0% | 139899 0% | 0 0%

open_noat | open_dgrd | закрыть | setattr | fsinfo | обновить
30775986 95% | 144 0% | 70464 0% | 2639 0% | 9 0% | 0

Вывод nfsiostat выглядит так (для быстрых nfs):

op / s rpc bklog
3596,86 0,00

читать: операций / с | кБ / с | кБ / оп | ретрансляция ср. RTT (мс) | среднее exe (мс)
0,224 | 0,289 | 1.292 | 0 (0,0%) 0,441 | 1.151

написать: ops / s | кБ / с | кБ / оп | ретранс | среднее RTT (мс) | среднее exe (мс)
33.837 | 47.329 | 1.399 | 0 (0,0%) | 0,452 | 1.406

Вывод nfsiostat выглядит так (для медленных nfs):

op / s | rpc bklog 183,75 | 0.00

читать: операций / с | кБ / с | кБ / оп | ретранс | среднее RTT (мс) | среднее exe (мс)
0,012 | 1.158 | 99.426 | 0 (0,0%) | 2.708 | 16.656

написать: ops / s | кБ / с | кБ / оп | ретрансляция ср. RTT (мс) | среднее exe (мс)
0,295 | 1.882 | 6.387 | 2 (0,0%) | 0,448 | 0.560

Здесь мы видим гораздо меньшую продолжительность операций в секунду и более высокую длительность выполнения операций в килобайтах и ​​среднюю exe.

iostat на центральном сервере (когда все работает нормально):

Linux 3.10.0-693.el7.x86_64 27.09.2019 _x86_64_ (4 CPU)

avg-cpu:% user% nice% system% iowait% steal% idle
0,48 0,00 0,37 0,02 0,00 99,12

Устройство: tps kB_read / s kB_wrtn / s kB_read kB_wrtn
SDB 10,83 40,61 67,55 9423785 15673740
sda 0,71 5,67 2,54 1315496 590208
SDC 10,47 18,96 67,55 4398709 15673740
md127 0,00 0,12 0,00 27241 80
md126 10,83 59,42 66,92 13787337 15526832
md125 0,00 0,01 0,00 2228 0

и то же самое, когда все работает медленно (но без больших различий):

Linux 3.10.0-693.el7.x86_64 14.10.2019 _x86_64_ (4 CPU)

avg-cpu:% user% nice% system% iowait% steal% idle
2,94 0,00 1,03 0,01 0,00 96,02

Устройство: tps kB_read / s kB_wrtn / s kB_read kB_wrtn
SDB 15,05 261,13 52,53 449712785 90460908
sda 0,54 7,23 35,45 12443668 61054912
SDC 14,97 257,76 52,53 443917089 90460908
md127 0,00 0,02 0,00 27241 112
md126 11,57 8,68 51,72 14953949 89075284
md125 0,00 0,00 0,00 2228 8

Сообщите мне, если вам нужна дополнительная информация.

3
задан 14 October 2019 в 17:12
1 ответ

Сначала я подумал, что вы можете проверить свои iostats , после этого это начнет звучать как проблема кеширования.

1
ответ дан 3 December 2019 в 07:21

Теги

Похожие вопросы