


























Unplugging or unmount -l (lazy unmount) can cause data loss. I want to share a way o avoid data loss.
Side note: unmount -l will let you unmount the device, but as far as I know only 'hides' the mountpoint, and active processes can still write on said device.
Error unmounting /dev/sdc1: target is busy
So, there are now different ways to unmount the target safely.
Side note: the most common case is that you are still in a directory of said target. It happened way too often to me.
Those steps are not necessary, but help you troubleshoot.
We are going to use df -h to find the mount point of the busy target. It is often not necessary, but it can be helpful.
kuser@pleasejustwork:~$ df -h
[...]
/dev/sdc1 59G 25G 35G 42% /media/kuser/hdd-target
Additionally, you can check the activity of said device with iostat.
kuser@pleasejustwork:~$ iostat 1 -p sdc
vg-cpu: %user %nice %system %iowait %steal %idle
1,14 0,00 0,63 2,66 0,00 95,56
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sdc 13,00 0,00 7,50 0,00 0 7 0
sdc1 13,00 0,00 7,50 0,00 0 7 0
iostat is powerful, but in this case the most important columns here are kB_read/s kB_wrtn/s. If there is anything but 0,00, the device is in use.
If there is any activity and you unplug or unmount the device forcefully, data loss will most likely occur.
More information can be found in the manual of 'fuser'.
kuser@pleasejustwork:~$ fuser -vm /dev/sdc1
USER PID ACCESS COMMAND
/dev/sdc1: root kernel mount /media/kuser/hdd-target
kuser 43966 F.c.. kate
kuser 44842 ..c.. kate
I prefer 'fuser' since it is installed on most OS and does the job too.
More information can be found in the manual of 'lsof' (list open files).
kuser@pleasejustwork:~$ lsof /dev/sdc1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kate 43966 kuser cwd DIR 8,33 32768 1 /media/kuser/hdd-target
kate 43966 kuser 24w REG 8,33 142 2176 /media/kuser/hdd-target/.busybusy.txt.kate-swp
or
kuser@pleasejustwork:~$ lsof /media/kuser/hdd-target
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kate 43966 kuser cwd DIR 8,33 32768 1 /media/kuser/hdd-target
kate 43966 kuser 24w REG 8,33 142 2176 /media/kuser/hdd-target/.busybusy.txt.kate-swp
sudo kill -9 43966or simply close the program that is using the file in the GUI.
Try to unmount again.
I have had no problems with those yet, but some notable mentions.
cat /proc/swapsThere are more scenarios in which a target can be busy, but this should cover 95% of cases.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。