
У меня есть внешний USB-накопитель, который — по какой-то причине — иногда выходит из строя без возможности восстановления. Возможно, из-за неисправных кабелей или чего-то еще. На нем у меня есть раздел LUKS.
dmesg
отчеты
Buffer I/O error on dev dm-0, logical block 0, lost sync page write
lsusb
не показывает никакой разницы между полностью рабочим состоянием и отказом.
Я хотел бы следить за этим разделом, так как я также хочу, чтобы он был доступен. Он не является жизненно важным, в противном случае я бы выбрал другую технологию здесь. Также диск должен останавливаться, когда он не используется.
Наблюдение за свободным пространством не помогает, поскольку ОС, по-видимому, кэширует эту информацию и сообщает последнее известное состояние. Попытка доступа к файловой системе для мониторинга также не работает, поскольку я не хочу, чтобы диск регулярно раскручивался.
Это может быть тривиальный вопрос, но я не смог найти ответ. Для ясности: я спрашиваю только, как узнать, что устройство выпало, соответственно, раздел LUKS недоступен. Не о том, как я могу уведомить кого-либо.
решение1
Некоторые исследования и метод проб и ошибок приводят к довольно простому решению.
cryptsetup status <label>
производит (среди прочего) линию
device: /dev/sda1
когда все работает и
device: (null)
когда устройство исчезло.
решение2
Вы можете использовать lsusb
для мониторинга состояния/присутствия внешних USB-устройств. Однако использование чего-либо dm-crypt
на ненадежном устройстве — это путь к катастрофе, и ясильносоветую вам избегать этого.