Я пытался разобраться в странных ошибках при извлечении архивов tar на общий ресурс NFS.
Ошибки проявляются при извлечении файлов tar, которые включают файлы, которые были заархивированы без прав записи, установленных для архивированных файлов.
Сообщения об ошибках периодически печатаются, например:
tar: test/doc/manpages/man1/Makefile.in: Cannot close: Input/output error
Чтобы подтвердить это поведение, я создал два идентичных файла tar: один с заархивированными файлами, установленными с chmod
разрешения 575 (чтение / выполнение пользователем) и одно с chmod
права доступа установлены на 755 (чтение / запись / выполнение пользователем).
Оба файла tar были заархивированы следующим образом:
tar czf test.tgz test
И извлекается следующим образом:
tar -xvzf test.tgz
При распаковке обоих архивов в локальной файловой системе ошибок не возникало. Кроме того, при извлечении архива с записью пользователя в общий ресурс NFS я не получаю никаких ошибок. Ошибки всегда возникали при извлечении набора архивов без прав пользователя на запись заархивированных файлов в общий ресурс NFS.
Общий ресурс NFS настроен со следующими параметрами экспорта:
/media/share 10.0.0.3(rw,sync,no_subtree_check,no_root_squash)
И запись клиента fstab для монтирования NFS выглядит следующим образом:
10.0.0.3:/media/share /media/share nfs4 rw,_netdev,auto,clientaddr=10.0.0.10 0 0
И клиент, и сервер работают под управлением Ubuntu 14.04.1.
В nfs-common
версия на клиенте и сервере v1:1.2.8-6ubuntu1.2
и nfs-kernel-server
пакет на сервере также v1:1.2.8-6ubuntu1.2
Любая помощь будет оценена, поскольку я хотел бы разобраться в причинах этих ошибок.
После долгого устранения неполадок кажется, что в моем случае эти ошибки были связаны с clientaddr
Параметр mount в записях fstab на некоторых наших клиентских машинах настроен на неправильный IP-адрес. Пройдя через каждый хост, убедившись, что все clientaddr
значения были правильными, и при повторном монтировании тома я смог извлечь оба архива, описанные ранее, без каких-либо ошибок.
Следует отметить, что Справочная страница NFS особо упоминает в отношении clientaddr
вариант монтирования, который:
Если серверу не удается установить обратные соединения с клиентами, производительность может снизиться или доступ к файлам может временно зависнуть.
Поэтому я подозреваю, что проблемы, которые я видел, были связаны с тем, что сервер не мог установить обратные соединения с клиентами, которые были настроены с неправильными адресами обратного вызова клиентов.