讓我們從壞道和壞塊的定義開始說起,它們是一塊磁盤或閃存上不再能夠被讀寫的部分,一般是由於磁盤表面特定的物理損壞或閃存晶體管失效導致的。
隨著壞道的繼續積累,它們會對你的磁盤或閃存容量產生令人不快或破壞性的影響,甚至可能會導致硬件失效。
同時還需要注意的是壞塊的存在警示你應該開始考慮買塊新磁盤了,或者簡單地將壞塊標記為不可用。
因此,在這篇文章中,我們通過幾個必要的步驟,使用特定的磁盤掃描工具讓你能夠判斷 Linux 磁盤或閃存是否存在壞道。
以下就是步驟:
壞塊工具可以讓用戶掃描設備檢查壞道或壞塊。設備可以是一個磁盤或外置磁盤,由一個如/dev/sdc
這樣的文件代表。
首先,通過超級用戶權限執行fdisk 命令來顯示你的所有磁盤或閃存的信息以及它們的分區信息:
sudofdisk-l
列出 Linux 文件系統分區
然後用如下命令檢查你的 Linux 硬盤上的壞道/壞塊:
sudobadblocks-v/dev/sda10>badsectors.txt
在 Linux 上掃描硬盤壞道
上面的命令中,badblocks 掃描設備/dev/sda10
(記得指定你的實際設備),-v
選項讓它顯示操作的詳情。另外,這裡使用了輸出重定向將操作結果重定向到了文件badsectors.txt
。
如果你在你的磁盤上發現任何壞道,卸載磁盤並像下面這樣讓系統不要將數據寫入回報的扇區中。
你需要執行e2fsck
(針對 ext2/ext3/ext4 文件系統)或fsck
命令,命令中還需要用到badsectors.txt
文件和設備文件。
-l
選項告訴命令將在指定的文件badsectors.txt
中列出的扇區號碼加入壞塊列表。
------------針對forext2/ext3/ext4文件系統------------
$sudoe2fsck-l badsectors.txt/dev/sda10
或
------------針對其它文件系統------------
$sudofsck-l badsectors.txt/dev/sda10
這個方法對帶有 S.M.A.R.T(自我監控分析報告技術)系統的現代磁盤(ATA/SATA 和 SCSI/SAS 硬盤以及固態硬盤)更加的可靠和高效。S.M.A.R.T 系統能夠幫助檢測,報告,以及可能記錄它們的健康狀況,這樣你就可以找出任何可能出現的硬件失效。
你可以使用以下命令安裝smartmontools
:
------------在基於Debian/Ubuntu的系統上------------
$sudoapt-getinstall smartmontools
------------在基於RHEL/CentOS的系統上------------
$sudoyuminstall smartmontools
安裝完成之後,使用smartctl
控制磁盤集成的 S.M.A.R.T 系統。你可以這樣查看它的手冊或幫助:
$mansmartctl
$ smartctl-h
然後執行smartctrl
命令並在命令中指定你的設備作為參數,以下命令包含了參數-H
或--health
以顯示 SMART 整體健康自我評估測試結果。
$sudosmartctl-H/dev/sda10
檢查 Linux 硬盤健康
上面的結果指出你的硬盤很健康,近期內不大可能發生硬件失效。
要獲取磁盤信息總覽,使用-a
或--all
選項來顯示關於磁盤所有的 SMART 信息,-x
或--xall
來顯示所有關於磁盤的 SMART 信息以及非 SMART 信息。
在這個教程中,我們涉及了有關磁盤健康診斷的重要話題,你可以下面的反饋區來分享你的想法或提問,並且記得多回來看看。
via:http://www.tecmint.com/check-linux-hard-disk-bad-sectors-bad-blocks/
作者:Aaron Kili譯者:alim0x校對:wxy 本文由LCTT原創編譯,Linux中國榮譽推出
http://xxxxxx/Linuxjc/1184766.html TechArticle