Недавно я установил новый сервер nfs, виртуальную машину proxmox6 с ceph в качестве серверной части хранилища. Сам сервер быстро делает возможными чтение / запись> 300 МБ / с в локальных файловых системах, которые экспортируются через NFS. Однако доступ к NFS очень медленный, когда речь идет о записи: запись файлов, удаление файлов и т. Д. Я создал тестовый каталог размером 1,5 МБ и ~ 300 небольших файлов в нем:
nfsserver# mount|grep krienke
nfsserver:/user2/krienke on /home/krienke type nfs4 (rw,noatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=krb5,clientaddr=x.y.z.a,local_lock=none,addr=x.y.x.z.b)
# Copy via SSH to NFS directory on the nfsserver which NFS-automounts
# /export/user2/krienke on /home/krienke if accessed
client$ time scp -r etc nfsserver:/home/krienke/
real 2m34,598s
# No NFS involved:
client$ time scp -r etc nfsserver:/export/user2/krienke/
real 0m3,932s
Вы видите разницу во времени выполнения между доступом без NFS и доступом, когда задействована NFS. То же самое происходит, когда я использую NFS с клиентской машины. Сервер NFS - это машина SLES15SP1 с Ethernet 10 ГБ. У клиента интерфейс 1Гбит. На интерфейсе сервера eth0 я вижу отброшенные пакеты, которые составляют около 0,003% от полностью xferred пакетов, что, похоже, не о чем беспокоиться. При копировании тестового каталога "etc" на сам сервер, не касаясь nfs, команда копирования выполняется сразу после нажатия ENTER. Так что для меня это проблема, связанная с NFS. Я могу воспроизвести эту проблему с доступом как по NFS V3, так и по NFS V4 (сервер экспортирует оба). В отличие от записи, чтение из NFS - это нормально.
Я вижу в nfsstat -s -v3 довольно высокое значение getattr:
Server nfs v3:
null getattr setattr lookup access
4757 0% 9660323 84% 268638 2% 163260 1% 284994 2%
readlink read write create mkdir
396 0% 87230 0% 223067 1% 58621 0% 1799 0%
symlink mknod remove rmdir rename
25 0% 0 0% 40817 0% 903 0% 23826 0%
link readdir readdirplus fsstat fsinfo
0 0% 22242 0% 249358 2% 314048 2% 968 0%
pathconf commit
484 0% 33792 0%
Моя проблема заключается в том, что до сих пор я не обнаружил какой-либо неправильной конфигурации или чего-то подобного, и мне нужны идеи, где я мог бы найти источник этой проблемы?
Спасибо, Райнер