Назад | Перейти на главную страницу

Устранение неполадок, связанных с тайм-аутом RPC монтирования NFS

У меня есть сервер NFS, работающий на 10.77.123.50. Однако я получаю тайм-аут RPC, когда пытаюсь смонтировать этот сервер.

Задний план: И сервер, и клиент находятся на CentOS 7.4.1708. iptables остановлен на обеих машинах. В /etc/hosts.* файлы на обеих машинах пусты.

Шаг 1 (от клиента): showmount -e 10.77.123.50

rpc mount export: RPC: Timed out

Шаг 2 (от клиента): Я вижу, что мой rpcbind и nfs службы работают нормально самостоятельно с systemctl status {rpcbind,nfs}.

Шаг 3 (от клиента): rpcinfo -p 10.77.123.50

   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  45198  status
    100024    1   tcp  57197  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  51317  nlockmgr
    100021    3   udp  51317  nlockmgr
    100021    4   udp  51317  nlockmgr
    100021    1   tcp  33107  nlockmgr
    100021    3   tcp  33107  nlockmgr
    100021    4   tcp  33107  nlockmgr

Шаг 4 (от клиента): Я могу подключиться к серверу и telnet к обоим его портам NFS.

# ping 10.77.123.50
PING 10.77.123.50 (10.77.123.50) 56(84) bytes of data.
64 bytes from 10.77.123.50: icmp_seq=1 ttl=64 time=0.122 ms

# telnet 10.77.217.50 111
Trying 10.77.217.50...
Connected to 10.77.217.50.

# telnet 10.77.123.50 2049
Trying 10.77.123.50...
Connected to 10.77.123.50.

Шаг 5 (с сервера): tcpdump -i $INTERFACE host 10.77.123 Я вижу пакеты, поступающие от клиента через случайные порты (например, 59295, 57291, 40146, 49933) и исходящие к клиенту с сервера .mountd, .sunrpc и .nfs порты. Вот пример для диапазона времени 3 секунды с 105 пакетами:

# first 9 packets

IP server.nfs > client.59295: Flags [P.], seq 1:29, ack 45, win 227, options [nop,nop,TS val 3265431829 ecr 10092752], length 28: NFS reply xid 1018070416 reply ok 24 null
IP client.59295 > server.nfs: Flags [.], ack 29, win 229, options [nop,nop,TS val 10092752 ecr 3265431829], length 0
IP client.59295 > server.nfs: Flags [F.], seq 45, ack 29, win 229, options [nop,nop,TS val 10092752 ecr 3265431829], length 0
IP server.nfs > client.59295: Flags [F.], seq 29, ack 46, win 227, options [nop,nop,TS val 3265431829 ecr 10092752], length 0
IP client.59295 > server.nfs: Flags [.], ack 30, win 229, options [nop,nop,TS val 10092752 ecr 3265431829], length 0
IP client.57291 > server.sunrpc: UDP, length 56
IP server.sunrpc > client.57291: UDP, length 28
IP client.40146 > server.mountd: UDP, length 40
IP server.mountd > client.48400: Flags [.], ack 46, win 227, options [nop,nop,TS val 3265431868 ecr 10092752], length 0

# last 7 packets

IP client.49933 > server.mountd: Flags [S], seq 1812867745, win 29200, options [mss 1460,sackOK,TS val 10095756 ecr 0,nop,wscale 7], length 0
IP server.mountd > client.49933: Flags [S.], seq 2225809285, ack 1812867746, win 28960, options [mss 1460,sackOK,TS val 3265434833 ecr 10095756,nop,wscale 7], length 0
IP client.49933 > server.mountd: Flags [.], ack 1, win 229, options [nop,nop,TS val 10095756 ecr 3265434833], length 0
IP client.49933 > server.mountd: Flags [P.], seq 1:45, ack 1, win 229, options [nop,nop,TS val 10095756 ecr 3265434833], length 44
IP client.49933 > server.mountd: Flags [P.], seq 1:45, ack 1, win 229, options [nop,nop,TS val 10095957 ecr 3265434833], length 44
IP client.49933 > server.mountd: Flags [P.], seq 1:45, ack 1, win 229, options [nop,nop,TS val 10096161 ecr 3265434833], length 44
IP client.49933 > server.mountd: Flags [P.], seq 1:45, ack 1, win 229, options [nop,nop,TS val 10096570 ecr 3265434833], length 44

Я не знаю, что я могу диагностировать из вышеперечисленного tcpdump. Что еще я могу сделать для устранения моей проблемы?