RPC: Ошибка сопоставителя портов - Невозможно получить: errno 113 (Нет маршрута к хосту)

ext4 должен быть устойчивым даже к отключению. Однако для этого требуется, чтобы подсистема хранения не теряла зафиксированных операций записи.

Во-первых, убедитесь, что вы не монтируете с барьером = 0 / nobarrier . Это часто повышает производительность за счет повреждения, если не будет выполнено надлежащее завершение работы. Также проверьте журналы ядра, чтобы убедиться, что барьеры не отключаются ext4, потому что что-то в стеке их не поддерживает.

Следующее, что нужно попробовать, по крайней мере, на магнитных (не SSD) дисках, - это отключить кэш записи на диск. Иногда диски лгут о том, когда они на самом деле записали данные на пластины - это может улучшить производительность (если не отключится питание). Обычно это можно сделать с помощью hdparm -W0 (для IDE / SATA) или sdparm --clear = WCE (для SCSI / SAS). Их может потребоваться добавить в сценарии загрузки, особенно с SATA, он может быть сброшен до значений по умолчанию при выключении питания.

Существует (довольно старый) скрипт для подтверждения того, что кэширование записи не теряет данные; см. сообщение в блоге diskchecker.pl Брэда Фитцпатрика , чтобы узнать о сценарии и о том, как его использовать.

Если вы используете SSD и видите проблему, возможно, вам, к сожалению, просто нужно найти другие диски.

5
28.06.2017, 12:41
1 ответ

Я тестировал эту проблему на CentOS 7. Когда вы сталкиваетесь с такой проблемой, вам нужно копать глубже.

Проблема:

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

относится к брандмауэру. Команда showmount -e IP_serverпоказывает все монтирования, доступные на сервере. Эта команда работает нормально, но вы должны быть осторожны, какой порт открывать. Он не проходит через брандмауэр, если открыт только порт 2049. Если брандмауэр на сервере NFS настроен так, чтобы пропускать трафик NFS, он все равно будет блокировать команду showmount. Чтобы проверить, отключите ли вы брандмауэр на сервере, вы должны избавиться от этой проблемы.

Значит, эти порты должны быть открыты на сервере:

firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --reload

Дополнительный тестовый порт 2049/NFS на доступность.

  • semanage port -l | grep 2049-возвращает контекст SELinux и имя службы
  • netstat -tulpen | grep 2049
21
27.01.2020, 20:33

Теги

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