Linux

如何在本地分析來自伺服器的 SMART 日誌?

  • December 3, 2011

我在家裡的桌面上執行 Ubuntu 10.04 伺服器。我重新啟動,機器在 10 分鐘左右後無法訪問。此時我應該已經連接了一個控制台(使用 VGA 電纜的顯示器)。相反,我關閉了機器(按住電源按鈕三秒鐘)。這次我確實連接了一個控制台,並且 fsck 正在執行。我猜這個盒子第一次是無法到達的,因為 fsck 也在執行。無論如何,在下一次重新啟動時,我無法在我的兩個 1.5TB 驅動器之一 (/dev/sdb1) 上安裝分區。

fsck /dev/sdb1發現了一些錯誤(短讀?類似的東西)但fsck -Cy /dev/sdb1修復了它們,我能夠安裝和使用分區。

我已經安裝了 smartmontools 並將其配置為按照本指南作為守護程序執行。如果我執行sudo service smartmontools restartroot使用者會收到四封電子郵件,其中包含以下錯誤:

Device: /dev/sda, 366 Currently unreadable (pending) sectors
Device: /dev/sdb, 13 Currently unreadable (pending) sectors
Device: /dev/sdb, 28 Offline uncorrectable sectors
Device: /dev/sda, 90 Offline uncorrectable sectors

兩個驅動器(所有分區)看起來都很好:我在 /var/log/{syslog,messages} 中沒有看到任何應用程序錯誤、奇怪的行為或錯誤/警告。

所以,最後,有幾個問題:

  1. 有沒有辦法從盒子中獲取 SMART 日誌並使用GSmartControl在本地分析它們?
  2. 殺死 fsck 中游真的會破壞硬體嗎?
  3. 如果驅動器真的沒問題,我可以以某種方式靜噪/重置 SMART 錯誤嗎?

謝謝,-亞當

更新:驅動器顯然很健康:

# smartctl -H /dev/sda
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

# smartctl -H /dev/sdb
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

對於您的第一個問題:這是我在 3Ware 控制器上使用磁碟的一種方法:

server $ smartctl -d 3ware,0 -a /dev/twa0 > smart.0
server $ smartctl -d 3ware,1 -a /dev/twa1 > smart.1
server $ smartctl -d 3ware,2 -a /dev/twa2 > smart.2
wks $ scp server:smart.* .
wks $ gsmartcontrol -q --no-scan --add-virtual smart.0 --add-virtual smart.1 --add-virtual smart.2

引用自:https://serverfault.com/questions/337277