Как надежно определить, что диск не работает в Linux через Java - PullRequest
1 голос
/ 26 октября 2010

Есть ли хороший способ определить, что конкретный диск отключился на сервере в Linux через Java?

У меня есть приложение, которое по причинам производительности записывает на все диски напрямую (без RAID в середине).

Мне нужно определить, отключит ли Linux какой-либо диск из-за сбоя диска во время выполнения, поэтому я перестал бы его использовать. Проблема в том, что у каждого монтирования есть корневой каталог, поэтому без надлежащего обнаружения приложение просто заполнит корневой раздел.

Буду признателен за любые советы по этому вопросу.

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Как может сказать любой, кто имеет опыт работы с сисадмином, сбой дисков или иное их удаление имеет неприятную привычку - заставлять любой процесс, который касается чего-либо под точкой монтирования, ждать в непрерывном сне. Кроме того, по моему опыту, это может включать такие вещи, как попытка чтения / proc / mounts или выполнение команды 'df'.

Я бы порекомендовал использовать RAID и, если необходимо, инвестировать в решение проблемы. Скажем, если производительность ограничена небольшими случайными записями, карта RAID с кэшем записи с резервным питанием от батареи может творить чудеса.

1 голос
/ 26 октября 2010

В Linux все доступно через текстовые файлы.Я не совсем понимаю, какая именно информация вам нужна, но отметьте /proc/diskstat, /proc/mounts, /proc/mdstat (для рейдов) и т.д ...

...