Вопрос или проблема
У меня есть система с 1x SSD и 2x 4TB HDD, работающими под программным RAID1. (Я сейчас обновляюсь с Linux Mint 20 до 22, это другая тема по этому вопросу)
На моем RAID1 у меня есть LUKS зашифрованная файловая система, которая смонтирована под /storage
Я пытаюсь отмонтировать /storage с помощью sudo umount /storage
, но получаю ошибку umount: /storage: target is busy.
Я также пробовал:
- остановить mdadm сначала с помощью
sudo mdadm --stop /dev/md0
, но это возвращаетCannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
- закрыть зашифрованный том с помощью
sudo cryptsetup luksClose raidcrypt
, и это возвращаетDevice raidcrypt is still in use.
- остановить мой контейнер Docker и удалить его из автозагрузки во время запуска (
lsof | grep /storage
показало, что Docker работал до того, как я его остановил, но его остановка не помогает с моей исходной проблемой) - остановил мой pCloud устройство от монтирования во время загрузки
- удалил свою подкачку из /etc/fstab, которая была смонтирована как 8GB swapfile под /storage/swap/.swapfile
Мне немного страшно использовать umount -l
здесь. Я задаюсь вопросом, не следует ли просто удалить /dev/mapper/raidcrypt /storage ext4 defaults 0 2
из моего /etc/fstab.
Ответ или решение
Ошибка при размонтировании директории с RAID1 устройством (устройство занято)
Введение
На вашем сервере установлена система с использованием программного RAID1, которая включает 1 SSD и 2 HDD на 4 ТБ. Вы столкнулись с проблемой при попытке размонтировать зашифрованную файловую систему LUKS, которая смонтирована в /storage
. В этой статье мы подробно рассмотрим, почему возникает ошибка "устройство занято" при выполнении команды umount /storage
и предложим решения для ее устранения.
Проблема
Вы получили сообщение об ошибке: umount: /storage: target is busy.
Это означает, что операционная система не может размонтировать файловую систему, так как в данный момент она используется каким-либо процессом или у нее есть активные связи.
Анализ и возможные причины
-
Запущенные процессы – Ваша файловая система может использоваться активными процессами. Для диагностики вы уже использовали команду
lsof | grep /storage
, которая может показать, какие процессы удерживают файловую систему. Убедитесь, что все перечисленные процессы завершены. -
Монтированная Swap область – Вы упомянули, что у вас есть файл подкачки, расположенный в
/storage/swap/.swapfile
. Если он по-прежнему используется, это также может вызвать проблему при размонтировании. Вы можете отключить его с помощьюsudo swapoff /storage/swap/.swapfile
. -
Docker и другие службы – Поскольку вы остановили свой контейнер Docker, убедитесь, что он не автоматически монтирует
/storage
. Проверьте другие службы, которые могут иметь доступ к этой директории (например, облачные сервисы, подобные pCloud). -
Активные блоки устройства – Команда
mdadm --stop /dev/md0
может привести к ошибке, если есть активные блоки или тома, которые привязаны к вашему RAID-устройству. Убедитесь, что все устройства, использующие RAID, размонтированы и неактивны.
Решения
-
Использование
lsof
иfuser
– Чтобы найти и завершить процессы, использующие/storage
, вы можете использоватьfuser -km /storage
. Это завершит все процессы, которые используют путь. -
Отключение swap – Если в данный момент файл подкачки все еще активен, отключите его командой выше (
sudo swapoff /storage/swap/.swapfile
), а затем повторите попытку размонтирования. -
Размонтирование с форсированием – Если вы уверены, что нет критически важных процессов, использование
umount -l /storage
(лязг) может быть варианта. Однако это может привести к потере данных, если в данный момент выполняются I/O операции в файловой системе, поэтому используйте этот метод с осторожностью. -
Редактирование
/etc/fstab
– Если проблема не решается, вы можете временно закомментировать строку в/etc/fstab
, связанную с/storage
, и затем повторить попытку размонтирования после перезагрузки системы. -
Использование
cryptsetup
– Если у вас все еще возникают проблемы сcryptsetup
, попробуйте сначала инициироватьsudo cryptsetup luksOpen /dev/md0 raidcrypt
, чтобы убедиться, что вы сможете закрыть зашифрованный том.
Заключение
Размонтирование файловых систем может стать сложной задачей из-за активных процессов и зависимостей. Применяя вышеуказанные решения и методично анализируя статус процессов и устройств, вы сможете успешно размонтировать вашу файловую систему и продолжить выполнение необходимых действий по обновлению или модификации системы. Если проблемы сохраняются, возможно значительное взаимодействие с конфигурацией системы и логами, чтобы выявить более глубокие проблемы, требующие внимания.