В настоящее время я использую сервер Debian, который экспортирует большую файловую систему JFS (22 ТБ) через NFS (nfs-kernel-server). При попытке записи в общий ресурс NFS производительность очень низкая. Диск 22 ТБ находится на NAS, смонтированном с использованием iSCSI.
Сервер NFS:
cat /etc/exports
/data2 10.1.20.86(rw,no_subtree_check,async,all_squash)
cat /sys/block/sdb/queue/scheduler
noop [deadline] cfq
cat /etc/default/nfs-kernel-server
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS=--manage-gids
NEED_SVCGSSD=
RPCSVCGSSDOPTS=
Клиент NFS:
cat /etc/fstab
10.1.20.100:/data2 /root/incoming nfs rw,noatime,soft,intr,noacl 0 2
cat /sys/block/sdb/queue/scheduler
noop [deadline] cfq
cat /proc/mounts
10.1.20.100:/data2/ /root/incoming nfs4 rw,noatime,vers=4,rsize=262144,wsize=262144,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.20.86,minorversion=0,addr=10.1.20.100 0 0
Эта проблема поставила меня в тупик. Любая помощь будет очень приветствоваться. Спасибо.
Я предполагаю, что количество потоков сервера NFS слишком мало. Вместо 8 цифра должна быть намного больше.
8 потоков, вероятно, будет достаточно для общих ресурсов, которые содержат только небольшие файлы и доступны очень небольшому количеству пользователей (например, в домашней сети) или в медленных сетях (10 Мбит).
Попытайтесь определить значение ретрансляции на вашем сервере NFS во время записи:
nsstat -r
Если вы получаете повторные попытки передачи, увеличьте количество потоков сервера.
И я думаю, было бы неплохо удалить настройки rsize / wsize / tcp из ваших параметров монтирования. В любом случае TCP является протоколом по умолчанию, и с TCP нет необходимости ограничивать размер передачи.
Возможно это несовместимость с блокировкой nfs для записи и jfs. Я нашел ошибку в Ubuntu: https://bugs.launchpad.net/ubuntu/+source/jfsutils/+bug/754495
Подозреваю какая-то проблема с JumboFrames. Проверьте конфигурацию разгрузки на обоих интерфейсах, используя
sudo ethtool -k your_nic
а также попробуйте прослушать провода с помощью wirehark. Вы можете найти несколько неупорядоченных пакетов, дубли, ...