У меня есть несколько веб-приложений в производстве, которые используют монтирование NFS для обмена ресурсами (обычно файлами статических ресурсов) между веб-головами. В случае, если монтирование NFS станет недоступным, Apache будет зависать, запрашивая файлы, к которым нет доступа, ядро будет логировать:
Nov 2 14:21:20 server2 kernel: nfs: server server1 not responding, still trying
Я воспроизвел поведение в RHEL5 с NFS v3 и Apache 2.2.3:
Создайте монтирование NFS на Server1 (содержимое моего /etc/exports)
/srv/test_share server2(rw)
Смонтируйте общий ресурс NFS на Server2 (содержимое моего /etc/fstab)
server1:/srv/test_share /mnt/test_share nfs defaults 0 0
Настройте виртуальный хост в Apache с помощью простого HTML-файла, ссылающегося на файлы изображений, хранящиеся в общем ресурсе NFS.
Загрузите сайт, файлы html и изображения возвращают 200
Размонтируйте общий ресурс NFS, загрузка страницы возвращает 404 для изображений, на которые есть ссылки.
Перемонтируйте общий ресурс NFS
Смоделируйте сбой NFS, отключив NFS на сервере 1 — перезагрузка сайта зависает при получении файлов, на которые есть ссылки.
Поиски в Интернете пока не дали хорошего решения. По сути, желательно, чтобы веб-сервер возвращал 404 и не зависал до тех пор, пока не восстановится монтирование NFS.
Ваше здоровье,
Бен