USB経由でUbuntuノートブックに外付けハードドライブが接続されています。フルハードドライブはLUKSで暗号化されます。暗号化層の横には、私がマウントしたLVMボリュームがあります/mnt/es
。開封後にlsblk
見えるものはすべて次のとおりです。
sdc 8:32 0 2.7T 0 disk
└─es (dm-6) 252:6 0 2.7T 0 crypt
└─externalstorage-externalstorage (dm-7) 252:7 0 2.7T 0 lvm /mnt/es
場合によっては、ハードドライブが何らかの方法でボリュームから「分離」され、データにアクセスできなくなることがあります。
sdc 8:32 0 2.7T 0 disk
es (dm-6) 252:6 0 2.7T 0 crypt
└─externalstorage-externalstorage (dm-7) 252:7 0 2.7T 0 lvm
私はこれが通常、ノートブックがスリープモードに入ったときに発生することがわかりました。
今質問は、かつてsdc
[は? ]分離されている場合、この2冊の役に立たない本を削除し、es
そのexternalstorage-externalstorage
名前を再利用することはできません。私が最初にしたことは、すべてがうまくumount /mnt/es
いったということでした。ただし、ボリュームがマウントされていなくても削除できません。
dmsetup remove --force /dev/mapper/externalstorage-externalstorage
device-mapper: resume ioctl on externalstorage-externalstorage failed: Invalid argument
device-mapper: remove ioctl on externalstorage-externalstorage failed: Device or resource busy
Command failed
このinfo
コマンドは、ボリュームが開いていることを示します。
dmsetup info -c /dev/mapper/externalstorage-externalstorage
Name Maj Min Stat Open Targ Event UUID
externalstorage-externalstorage 252 7 L--w 1 1 0 LVM-R4bAWzxJ8Cy3MBIjmPps60Rd3cFVyBStxTeKaR6gBHdefTYfJNWhHfA8tzqOBHns
これは音量を上げているように見えますが、私に多くのことを教えてくれません。
fuser -m /dev/mapper/externalstorage-externalstorage
Cannot stat file /proc/5687/fd/4: Stale file handle
Cannot stat file /proc/5687/fd/5: Stale file handle
Cannot stat file /proc/5687/fd/6: Stale file handle
Cannot stat file /proc/5687/fd/7: Stale file handle
Cannot stat file /proc/5687/fd/11: Stale file handle
LVMの観点からもアクセスできません。
pvdisplay
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 2981780979712: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 2981781037056: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 0: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 4096: Input/output error
興味深いことに、これはcryptsetup luksClose es
目立つ効果やエラーメッセージなしで何度も繰り返すことができます。
それでは、これらの古いボリュームをどのように削除できますか(再起動を除く)?そもそも問題が発生しないように予防する方法はないでしょうか、つまり、なぜ時々sdc
分離されるのでしょうか。
[Ubuntu 14.04.3 LTS、カーネル3.19.0-42-一般]
修正する
vgchange -an
上記と同様のエラーが発生します。
/dev/mapper/es: read failed after 0 of 4096 at 3000590794752: Input/output error
/dev/mapper/es: read failed after 0 of 4096 at 3000590876672: Input/output error
/dev/mapper/es: read failed after 0 of 4096 at 0: Input/output error
/dev/mapper/es: read failed after 0 of 4096 at 4096: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 2981780979712: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 2981781037056: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 0: Input/output error
/dev/externalstorage/externalstorage: read failed after 0 of 4096 at 4096: Input/output error
ベストアンサー1
これは推測に近いですが、デフォルトでは内部から戻ってcryptマッピングを削除する前にlvmを無効にする必要があるようです。
まず、lvmで使用されていないファイルシステムをアンマウントする必要があります。
umount -f /mnt/es
それからあなたが持っているようなlvmを無効にします。上パスワード設定。他のvgsがあっても、以下は他のvgを使用してシステムに害を与えることなく可能なすべての機能を無効にする必要があります。
vgchange -an
後でdmsetupを使用して、cryptsetup(!)によって生成されたマッピングを削除できます。
dmsetup remove externalstorage
(いくつかの名前は間違って覚えているかもしれませんので訂正してください)
これは、スリープモード中にUSBドライブがバスから落ちて戻ってきたときに現在sdcがあるにもかかわらず、ブロックシステムでsdbが消えたことを確認する基本的な問題のようです。