Linux

驗證儲存設備的實際大小

  • August 18, 2022

幾週前,我購買了一個來源不明的“2Tb”拇指驅動器,目的是在重建系統時將其用作中間儲存(Debian 的三個版本)。

任何人都可以提出一種有效的方法來驗證它的實際大小,即它實際上有“2Tb”的快閃記憶體,而不是在儲存空間中重複的單個“500Mb”設備?

我想強調的是,我完全了解製造商在說明容量時長期以來所採取的自由,並且我的“2Tb”驅動器可能具有最大實際容量,例如 1.75Tib。

它最初是用未分區的 exFAT 格式化的,雖然我通常的測試程序會向它寫入超過 1Tb 的測試數據,但它總是在某個隨機點出現故障,然後再進入讀取通道,這將驗證塊號是否實際保留。雖然這可能表明驅動器的微控制器存在缺陷,但問題可能同樣在於 Linux 上相對較新的 exFAT 支持。

我可以使用 gparted 分區並重新格式化為 ext4 或 ext2 而不會出錯。

嘗試使用 -cc 選項手動執行 mke2fs 以進行 ar/w 塊測試每 1% 的驅動器需要大約 80 小時。此外,我還沒有看到明確驗證它具有明確驗證大小所需的兩個單獨的通道。

我還沒有嘗試執行我自己的測試程序,我相信在這個設備上格式化為 ext2 的較小媒體(10 Gb 規模)上。

在我的測試程序被應用到塊設備而不是文件的情況下,我可以通過添加一個 –sparse 選項來提高效率,該選項只在例如 4K 塊中寫入塊號。如果目標是測試文件,這可能無濟於事,因為 (a) 作業系統可能不會為稀疏文件中的未寫入區域分配空間,並且 (b) 將涉及如此多的翻譯層,幾乎不可能命中 Flash 設備塊邊界。

任何建議,將不勝感激。

我發現了一個名為f3打擊閃現欺詐)的工具,它似乎可以做到這一點。

它甚至似乎有一個 QT GUI。

Github

文件

自述文件中的引述:

使用 f3probe 進行快速容量測試

f3probe 是最快的驅動器測試,適用於大型磁碟,因為它只寫入測試驅動器所需的內容。它直接在(未掛載的)塊設備上執行,需要以特權使用者身份執行:

./f3probe --destructive --time-ops /dev/sdX

警告

這將破壞您磁碟上任何先前儲存的數據!

引用自:https://unix.stackexchange.com/questions/714014