題 希捷Momentus XT破壞文件(Linux和Mac)


我的Seagate Momentus XT混合硬盤正在破壞Linux上的文件。我很感激任何人的幫助,但我特別想知道其他Momentus XT用戶是否能夠重現這個問題;我已經提供了逐步重複此問題的說明 希捷社區論壇

到目前為止,有四個用戶在以下筆記本電腦和操作系統/發行版上重現了這個問題:

  • 五台筆記本電腦:聯想Thinkpad T60,T61,T510,微星MS-1656-ID1和MacBook Pro(2009年末15英寸)。
  • 四個OS /發行版:Ubuntu 11.04,Fedora 15,openSUSE和Mac OS X.

重現問題的說明 很簡單。這是一個簡短的口頭描述:

  1. 創建一個大型測試文件,將其保存到另一個存儲設備( Momentus XT),併計算SHA-1校驗和。
  2. 將測試文件寫入Momentus XT。
  3. 從Momentus XT讀取測試文件,計算SHA-1,並將此校驗和與原始校驗和進行比較。我們應該有一個匹配。如果它們不匹配,我們可能會重現這個問題。 (僅'可能',因為其他問題可能導致不匹配。請參閱Seagate主題,通過比較文件來識別此特定問題 cmp -l。)
  4. 從步驟(2)開始重複。

希捷線程 有更多細節。以下是我測試的一些注意事項(我已經能夠在三個連續的Momentus XT驅動器上重現這個問題;我已經兩次RMA,現在是第三個):

  • 似乎正在發生的事情是,Momentus XT有時忽略了將數據寫入驅動器,因此當我從驅動器讀取時,我得到了最初在扇區上的內容,而不是正確的數據。這發生在不同大小的塊中;典型尺寸為1 MiB和512 KiB。
  • ext2,ext4,Btrfs,NTFS和FAT32出現問題。奇怪的是,我無法在ext3上重現這個問題。
  • 寫作 oflag=direct 輸出標誌 dd 避免這個問題。用數據快速將數據提交到磁盤 while true; do sync; sleep 0.01; done 也防止了這個問題。
  • 我只能通過SATA和eSATA接口重現這個問題。 USB連接似乎可以防止出現此問題。 (不確定這是否是由於傳輸速度造成的。)
  • 大文件(> 2 GB)會更頻繁地出現問題。我無法使用小於約85 MB的文件產生問題。
  • 我無法在使用NTFS的Windows XP上重現該問題。
  • 希捷論壇上的Gazoi是 無法重現問題 在帶有UFS2的FreeBSD 8.2上。
  • Momentus XT通過了擴展的SMART測試和 badblocks -w 沒有問題。
  • 我的筆記本電腦(MS-1656-ID1)已成功通過Memtest86 +,Memtest86,memtester和MPrime 24小時。
  • 我已經使用相同的程序測試了另外兩個存儲設備(Seagate Momentus 7200.4和Intel 320系列SSD),它們都沒有問題。

如果您有Momentus XT,請嘗試重現此問題,並讓我知道會發生什麼。

我還能做些什麼來診斷問題?


9
2017-07-19 17:05


起源


你在寫和讀之間重啟嗎?您是否正在刷新緩存以確保它實際上是從磁盤而不是緩存中讀回來的?如果沒有,這可能就是為什麼你不能用較小的文件重現它,因為它們更可能仍然在緩存中 - psusi
我通過閱讀繞過頁面緩存 iflag=direct 用dd輸入標誌。當我不使用dd時,我用緩衝區刷新緩存 sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"
我剛剛意識到你可能正在談論物理上在Momentus XT上的磁盤緩衝區,而不​​是Linux頁面緩存。在這種情況下你有一點 - 我基本上沒有採取任何預防措施來讀取磁盤緩衝區,我也在寫完後立即讀取文件。也許我應該寫入多個文件,然後以FIFO為基礎讀取它們。話雖如此,Momentus XT磁盤緩存只有32 MB,我過去也做了一些測試,我寫了> 10 GB的小文件(~64 MB),之後讀取它們沒有發現任何損壞。
也許驅動器的固件中存在一個錯誤(整數溢出?),導致它在高速寫入時無法跟踪未寫入的塊。或者閃存上有一些固件無法檢測到的壞塊。 NTFS驗證寫入(並且ntfs-3g非常慢),因此不太可能出現問題。如果找不到修復程序,則可能需要使用ZFS並啟用校驗和。 - billc.cn
@ billc.cn,我已經轉載了NTFS的問題。帶有數據校驗和的Btrfs和ZFS顯然無法讀取損壞的文件,但損壞的數據將無法恢復。將需要更多冗餘(例如,FS級鏡像或RAID鏡像)來恢復這些文件。無論如何,在我弄清楚發生了什麼之前,我當然不會使用Momentus XT。 - Vincent Yu


答案:


將固件更新到SD26可修復Linux上的文件損壞問題。不幸的是,SD26還沒有公開發布。

獲得SD26固件的最佳方法是 問希捷 獲取可引導更新CD或Windows更新實用程序的副本。

在我發現它解決了我的文件損壞問題之後,我在8月20日通過電子郵件發送了Seagate技術支持來詢問SD26。以下是我在8月23日從Seagate全球客戶支持部門收到的兩份回复:

感謝您今天與希捷聯繫。給我一些時間與開發人員聯繫,這樣我就可以看到SD26固件發生了什麼。由於您的發現,我們需要做一些調查。我們用Linux進行的測試非常少。讓我看看我能找到什麼,以及是否需要進一步測試和公開發布固件。我正在附加ISO文件。我一聽到你就會和你一起回來。希捷非常注重客戶,我們感謝您將此引起我們的注意。


我們通常不會公開提供固件。它可以造成更多的傷害然後在壞人手中。我們收到了大量不當更新的磚塊驅動器。我們希望消費者與我們聯繫,以便我們驗證是否需要固件升級並且有益。 Alan M.是我們論壇的主持人,他將在你的帖子上發佈公告。再次感謝您引起我們的注意。我們的客戶是最好的,也是最好的信息來源,並且通常是第一個在事情無法正常工作時通知我們的人。讓我們有機會解決問題。

正如我已經說過的,我認為最好直接從Seagate獲得SD26。但是,也可以通過在Google上搜索輕鬆找到可啟動ISO和Windows實用程序的洩露副本。我從Seagate收到的SD26可引導更新CD(* .iso)的SHA-1校驗和是b7b0c7e1b9529925b0364b2cf19a62d608b58082。

我在這個答案和其他雜項細節中發布了這些信息 希捷線程


6
2017-08-27 17:10



固件SD28現已推出: seagate.custkb.com/seagate/crm/selfservice/... - madh


所有關於此問題的提及都已從希捷論壇中刪除。他們可能認為現在可以通過更新到SD28來解決問題,因此討論是不必要的。

唯一的問題是,人們不再擁有獲取描述問題的權威信息和/或如何解決問題的方法,因為問題與其解決方案之間的任何關聯的所有引用都已從Seagate站點中刪除。固件更新下載仍然可用,但沒有提及固件的功能,因此受影響的用戶可能難以找到解決方案。

所以幫助googlers:下載SD28固件 http://knowledge.seagate.com/articles/en_US/FAQ/215451en?language=en_US這是Seagate Momentus XT驅動器型號發生的數據損壞錯誤的解決方案:

  • ST92505610AS

  • ST93205620AS

  • ST95005620AS


4
2018-05-07 05:16





我剛剛驗證了OS X中也發生了這種情況。 :O(

我懷疑數據損壞有兩個原因:

1)瞬間XT旨在將經常使用的文件緩存在4GB的閃存RAM中,這些文件通常是在啟動時加載程序所需的小文件(設置文件等)。隨著頻率的增加,配置為在登錄時加載的程序會突然出現默認設置,或者給我“歡迎教程”並且沒有設置編程。這些包括mail.app(沒有存儲帳戶信息),小飛賊(沒有規則的端口監視器),quicksilver(歡迎)等。這讓我相信緩存中的小文件已損壞。

2)驅動器導致驅動似乎已經旋轉的“旋轉風車”,當操作系統需要訪問它時,我不得不等待驅動器再次旋轉。等待變得更頻繁,持續時間更長。有幾次我只是擦拭驅動器並使用碳複製克隆器複製以前備份的所有內容。但是,將文件複製到動機xt後,許多較大的文件(電影,ISO映像,zip文件)都已損壞,並且無法加載或打開。當我從Snow Leopard升級到Lion時,我認為沙灘球和旋轉的問題將得到解決,正如一些用戶最近發布的那樣,但3.46Gb開發預覽ISO文件我複製到了關閉USB驅動器的瞬間XT已經損壞,所以我甚至無法安裝Lion。

我剛剛在希捷論壇上偶然發現了你的帖子並來到這裡發帖:

我在os x下使用了一個名為“smart utility”的程序,它說驅動器出現故障。我認為錯誤是代碼184,這是“端到端”錯誤。我對驅動器“失敗”感到震驚,但我讀到其他人在升級固件時遇到了這個錯誤(就像我從SD23升級到SD25),並且如果Seagate在他們的SeaTools下失敗,他們只會認為驅動器失敗了。

我將我的momentus xt放在一個USB外殼中,並通過另一台計算機上的窗口在驅動器上運行SeaTools。 SMART Check不是允許的測試。運行'短路測試'和'長通用測試'沒有報告錯誤?現在我試圖在OS X下複製你的方法,我也發現文件已經損壞了。我正在使用2009年末的Macbook Pro 15“,而我在SD25上有一個500GB的Momentus XT。

弗雷德


2
2017-07-26 16:44



謝謝你報導這個!您是否可以運行以下命令來比較未損壞的文件及其損壞的副本? cmp -l <uncorrupted file> <corrupted copy> | head 如果我們遇到同樣的問題,你應該看到三列數字,最左邊的列應該有十個連續的數字。 (詳細信息:最左邊的列顯示不同字節的字節數,另外兩列顯示不同字節的實際值。) - Vincent Yu