Disk
Linux 在一定數量後停止檢測新磁碟/塊設備
我有一台用於映像執行 Ubuntu 16.04 的磁碟的電腦。每個磁碟都插入 USB 3.0 塢站,進行映像/擦除,然後斷開連接。磁碟沒有任何需要解除安裝的已安裝文件系統。它們按預期從 gnome-disk 中消失。最終,使用 gparted 和/或 gnome-disks,我不再能夠看到添加的任何新磁碟。有時,新磁碟出現在舊 /dev/sdx 設備下,我可以訪問它們,但它們顯示舊設備的分區表和大小。我認為這是因為 /dev/sdx 已滿,核心正在持有指向不再存在的磁碟的指針?
編輯:我應該補充一點,這些磁碟中有一些有壞扇區或其他問題,所以這也可能是問題的一部分。當添加/刪除更多故障驅動器時,這種“塊設備耗盡”發生得更快。一旦發生,即使是好的驅動器在添加到系統時也不會出現。但我注意到即使我添加/刪除的所有驅動器都健康且正常執行,也會發生這種情況。
我可以做些什麼來防止這種行為或告訴核心“忘記”斷開連接的磁碟?
在斷開連接之前,請先
/dev/sdX
執行 ablockdev -flushbufs /dev/sdX
以確保所有數據都已完全寫入磁碟而不是在緩衝區中等待,以確保這一點。然後做一個
echo 1 > /sys/block/sdX/device/delete
. 這將告訴核心/dev/sdX
將要消失並且應該被遺忘。根據所涉及的磁碟/塢站,這甚至可能會自動降低磁碟速度。