У меня есть сервер OpenSolaris 2009.06, обеспечивающий ZFS поверх NFS v3 для сервера Linux 2.6.26. Не происходит при доступе к файлам через NFSv4.
Очень счастлив. Он обнаруживает скрытое повреждение данных в нашем LSI san. Отличное выступление. Есть снимки. Имеет компрессию. Резервные копии воспроизведения журнала транзакций. Что наиболее важно, у нас больше нет проблем с кешированием файловой системы и зависаний, которые происходили на сервере Linux.
Есть одна странная вещь: пустые файлы недоступны из клиента Linux NFS. Когда я пытаюсь использовать ls, cat или stat, я получаю:
stat: cannot stat `/srv/zpools/a/write.lock': Invalid argument
Отчет о резервных копиях Rsync:
rsync: readlink "/srv/zpools/a/write.lock" failed: Invalid argument (22)
rsync: readlink "/srv/zpools/userX/.netbeans/6.9/var/cache/mavenindex/netbeans/write.lock" failed: Invalid argument (22)
rsync: readlink "/srv/zpools/userX/.netbeans/6.9/var/cache/mavenindex/local/write.lock" failed: Invalid argument (22)
rsync: readlink "/srv/zpools/userX/javaPrograms/mavenProjects/thesis/libbn/target/test-classes/.netbeans_automatic_build" failed: Invalid argument (22)
rsync: readlink "/srv/zpools/userX/javaPrograms/mavenProjects/scalaCommon/target/test-classes/.netbeans_automatic_build" failed: Invalid argument (22)
Я не могу воспроизвести это, создав новые пустые файлы только для некоторых старых файлов.
Может кто подскажет, в чем может быть причина?
Редактировать: На сервере ZFS при статистике странных файлов я обнаружил, что время модификации было в 1927 году. :) Прикосновение к файлу на сервере устраняет проблему на клиенте NFS.
Файлы были созданы в NFSv4 и получили некоторые необычные свойства (например, время модификации составляет 40 лет до эпохи Unix 1970 года), и теперь они недействительны в NFSv3.