Как повторно подключить диск после отключения питания?

Вопрос или проблема

ОС — Debian. У меня к компьютеру подключен внешний жесткий диск. Компьютер подключен к источнику бесперебойного питания (ИБП), но блок питания для жесткого диска не подключен к ИБП. (Я хочу максимально продлить время работы самой системы и не переживаю, если потеряю соединение с этим диском в случае отключения электроэнергии)

Недавно было кратковременное отключение электроэнергии на несколько секунд, и теперь я хочу восстановить функциональность диска. Не было никакой возможности записывать данные на этот диск во время отключения электроэнергии, так что не переживайте об этом. Диск использует LUKS.

Это текущее состояние:

Попытка отмонтировать:

umount /media/my_data
umount: /media/my_data: не смонтирован.

Попытка смонтировать:

mount /dev/mapper/my_data /media/my_data
mount: /media/my_data: /dev/mapper/my_data уже смонтирован или точка монтирования занята.

Проверка lsof:

lsof /media/my_data

(нет вывода)

Попытка закрыть luks:

cryptsetup luksClose my_data
Устройство my_data все еще используется.

Попытка открыть luks:

cryptsetup luksOpen /dev/sdb my_data
Устройство my_data уже существует.

Попытка открыть luks под другим именем:

cryptsetup luksOpen /dev/sdb my_data2
Невозможно использовать устройство /dev/sdb, которое используется (уже смонтировано или сопоставлено).

Как мне это исправить без перезагрузки? Крайне важно, чтобы перезагрузка не потребовалась, так как я нахожусь в процессе выполнения нескольких крупных и сложных проектов, для восстановления которых потребуется довольно много времени в каждой графической оболочке и т.д.

Мне трудно поверить, что в современной системе Linux, если USB-накопитель теряет питание, единственным способом повторного монтирования является перезагрузка!

Ответ или решение

Для решения проблемы с повторным подключением внешнего жесткого диска на Debian после его отключения от питания, можно следовать следующему алгоритму шагов.

  1. Проверьте статус устройства: Сначала убедитесь, что устройство действительно не подключено. Для этого выполните команду:

    lsblk

    Это покажет список всех подключенных устройств и их статус.

  2. Отключите устройсто: Вы уже пробовали использовать cryptsetup luksClose, однако, если LUKS-устройство по-прежнему обозначено как "в использовании", возможно, оно не было корректно закрыто. Вам следует вручную проверить и очистить все ссылки на это устройство.

  3. Использование dmsetup: Если cryptsetup luksClose не сработал, вы можете воспользоваться утилитой dmsetup, чтобы принудительно удалить маппинг:

    dmsetup ls

    Это покажет все активные маппинги. Запомните имя устройства, которое вы хотите отключить (например, my_data). Затем выполните:

    dmsetup remove my_data

    Если команда выполнится успешно, это означает, что маппинг был удалён.

  4. Очистите кэши от udev (если необходимо): В некоторых случаях может помочь перезагрузка udev:

    udevadm control --reload-rules
    udevadm trigger
  5. Повторное открытие LUKS: Теперь попробуйте заново открыть шифрованный диск:

    cryptsetup luksOpen /dev/sdb my_data
  6. Примонтируйте файловую систему: После успешного открытия диска попробуйте примонтировать его:

    mount /dev/mapper/my_data /media/my_data
  7. Проверка доступа: После монтирования, проверьте доступность данных с помощью команды:

    ls /media/my_data

Если вы столкнетесь с дополнительными проблемами, убедитесь, что все обновленные конфигурации в системе корректны, а сам диск нормально определяется окружением Linux. В большинстве современных систем Linux перезагрузка не требуется для повторного подключения USB-устройств, если шаги выполнены корректно.

Оцените материал
Добавить комментарий

Капча загружается...