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

жесткое монтирование на Solaris с java-приложением при отключении nfs-сервера заставляет java-приложение зависать

У меня есть приложение java, которое обращается к общему ресурсу NFS с жестким монтированием (мягкое монтирование вызывает проблемы, я по какой-то причине получаю много таймаутов RPC). Я на солярисе. Если я выключу (svcadm -v disable для сервера nfs), мое приложение Java застрянет, если

kill -3 myPID

ничего не возвращает, поскольку мой Java-процесс зависает - странно, почему даже kill -3 для получения дампа потока не возвращается? также у меня даже были проблемы с убийством моего процесса - это не то, что я хочу делать, я не хочу, чтобы мое приложение зависало, если крепление упало У кого-нибудь есть решение или можно порекомендовать, что мне делать? Я хотел бы использовать, возможно, мягкое монтирование, проблема в том, что у меня много таймаутов RPC, когда я пытаюсь скопировать файлы с одного сервера на общий ресурс nfs.

 NFS write failed for server xx.xx.xx.xx: error 5 (RPC: Timed out)
 cp: /share/myfile.txt: Connection timed out

поэтому, поскольку я получаю эти ошибки с мягким монтированием, и он выглядит ненадежным (его over tcp), я хотел протестировать жесткое монтирование, но это заставляет мое приложение зависать, если общий ресурс по какой-то причине не работает.

Бесконечная блокировка и повторная попытка - это само определение жесткого монтирования. Прохождение intr Параметр команды mount должен, по крайней мере, позволить вам прервать блокировку, когда монтирование не работает, если я правильно читаю документацию.

Подробнее здесь.

Тут две проблемы. Для вашего приложения получите трассировку стека из ваших потоков и посмотрите, где они зависают. Возможно, они косвенно касаются чего-то, что зависит от пути NFS (например, есть ли какие-либо каталоги, подключенные к NFS в вашей переменной PATH?).

Тайм-аут RPC может быть вызван нестабильностью сети, перегрузкой сервера вашим клиентом и т. Д. Вы должны тщательно изучить это. Мягкое монтирование по TCP работает нормально, и мы широко его используем.