リムーバブルハードドライブ(USB、しかし重要ではありません)を安全に取り外しできることを確認したいと思います。このドライブがsdb
。
明らかに、そのドライブにファイルシステムがマウントされていないことを確認する必要があります。grep /dev/sdb /proc/mounts
私に言うでしょう。
しかし、それはすべてではありません。たとえば、サーバーにLVM物理ボリュームがある場合は、サーバー上の物理ボリュームを含むすべてのボリュームグループを無効にするsdb
必要があります。 RAIDボリュームが存在する場合は、それを無効にする必要があるかもしれません()、そのコンポーネントにエラーが発生したとマークする必要があります()。sdb
lvchange -an my_volume_group/my_logical_volume
vgchange -an my_volume_group
mdadm -S
mdadm -f
ディスクが使用されるすべての方法を一覧表示する方法はありますか?マイユースケースでは、リストが空の場合にデバイスを分離できるように、このリストが完全であることを確認する必要があります。
ベストアンサー1
ブロックデバイスを開くことができる場合は、O_EXCL
まだカーネルで使用されていません(O_EXCL
この特別な場合はデバイスロックが必要です)。 lsof(/procスキャン)は他のユーザーを見つける必要があります(仮想マシンではデバイスが開いている可能性があり、通常は単独で開くことはできません)。