當磁盤出現以下情況:
創新互聯是一家專注于成都做網站、網站建設與策劃設計,突泉網站建設哪家好?創新互聯做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:突泉等地區。突泉做網站價格咨詢:18982081108
?io wait 無故增高或居高不下;
?硬盤聲音突然由原來的摩檫音變成了怪音;
?系統無法正常啟動,出現“IO error”等提示信息;
?mkfs時,到某一進度停滯不前,最后報錯,無法完成;
?每次系統開機都會運行 fsck 掃描磁盤錯誤;
? 對磁盤執行fdisk時,到某一定進度會反復進進退退。
??????? 出現如上狀況,就需要及時對磁盤進行壞道檢測并及時對磁盤壞道進行檢測測試磁盤的可用性,并立即備份數據。
1.發現硬盤壞道
當有硬盤壞道時,通常在dmesg輸出的信息中會有 Buffer I/O Error,所以經常檢查dmesg的輸出可以及時發現是否存在硬盤問題。
2.檢測壞道
2.1 通過fdisk 查看顯示所有磁盤或閃存的信息
#?fdisk?-l?/dev/sd*
2.2 使用 badlocks檢查 linux 硬盤上的壞道/壞塊。也可以修復壞道,但僅限于邏輯壞道,物理壞道只能更換硬盤。
#?badblocks?-s?-v?/dev/sdg??>?badsectors.txt Checking?blocks?0?to?20970495 Checking?for?bad?blocks?(read-only?test):? done????????????????????????????????????????????????? Pass?completed,?0?bad?blocks?found.?(0/0/0?errors)
備注: -v 選項讓它顯示操作詳情
? ? ? ? ? ?-s 在檢查時顯示進度
? ? ? ? ? ?-o<輸出文件> 將檢查的結果寫入指定的輸出文件
? ? ? ? ? ?-w 在檢查時,執行寫入測試。
? ? ? ?也可以針對單獨分區進行檢查。
3.硬盤壞道類型
????硬盤壞道分為物理壞道和邏輯壞道。
????物理壞道:就是硬盤實體有壞的地方,物理壞道推薦換硬盤,當然也有辦法重新分區來隔離壞道,不過可能也用不久,所以不推薦。
? ?邏輯壞道:是磁盤磁道上面的校驗信息(ECC)跟磁道的數據對不上號所致。出現這一故障的原因,通常都是因為一些程序的錯誤操作或是該處扇區的磁介質開始出現不穩定的先兆。物理壞道也是邏輯壞道產生的一種原因。
4.修復磁盤壞道
????首先,當檢測出壞道之后首先要看下服務器磁盤的燈有沒有報警,一般的服務器都有硬盤報警燈,燈顯示紅色說明磁盤不工作了,這個明顯是物理性故障問題,需要更換磁盤。
????其次,若硬盤燈沒有報警,或已經換了硬盤,但檢查仍然有壞道,此時可能是邏輯壞道,需要嘗試修復,若能修復說明確實是邏輯壞道,若修復不了說明是物理壞道。
4.1 邏輯壞道修復方式
查看上述分區檢查出來的壞道信息:
#?tail?-f?badsectors.txt 205971590 205971591 205971592 205971593 205971594 205971595
4.1.1 先備份數據
若修復的硬盤或分區的重要數據已備份,此部分可以省略
#?dd?if=/dev/sdg?skip=205971590?of=/tmp/205971590-205971595.dat?count=5
4.1.2 修復磁盤
硬盤在使用時不能修復,否則可能存在寫并發的問題,所以修復前需要umount對應分區(若為系統所在分區就沒辦法在線修復了,因為無法umount)。
#?umount?/data02
????但umount可能出現"Device busy"的錯誤,是因為有程序在使用這個分區,需要將這些進程都關閉。使用fuser(命令如下),其中/data02是分區對應的掛載目錄。
# fuser -m /data02
# fuser -m -v -i -k /data02
????第一條fuser命令列出使用/data02的進程ID,第二條列出PID并kill掉進程(帶有提示確認),建議先使用第一條命令列出PID,然后針對查看是哪些類型的進程,不要盲目殺死進程。
umount 分區成功后,修復命令如下,其中-s表示給出進度,-w表示寫入修復的,后面是結束(END)和開始(START)塊號,注意END在前,START在后。
#?badblocks?-s?-w?/dev/sdg?205971590?205971595
或者修復后再次檢查
#?badblocks?-s?-v?/dev/sdg?205971590?205971595
4.1.3 再次檢查恢復
恢復數據
#?dd?if=/tmp/205971590-205971595.dat?of=/dev/sdg
重新分區檢查
#?badblocks?-s?-v??/dev/mapper/VolGroup-lv_home?>?badsectors.txt
若沒有壞道說明修復已完成,若有壞道可以嘗試重復以上方法。
5.屏蔽壞道部分
執行e2fsck(針對 ext2/ext3/ext4 文件系統)或fsck命令,命令中還需要用到badsectors.txt文件和設備文件。
備注:-l??? 選項告訴命令將在指定的文件 badsectors.txt 中列出的扇區號碼加入壞塊列表。
------------?針對?for?ext2/ext3/ext4?文件系統?------------ #?e2fsck?-l?badsectors.txt?/dev/sdb1? e2fsck?1.42.9?(28-Dec-2013) /dev/sdb1:?Updating?bad?block?inode. Pass?1:?Checking?inodes,?blocks,?and?sizes Pass?2:?Checking?directory?structure Pass?3:?Checking?directory?connectivity Pass?4:?Checking?reference?counts Pass?5:?Checking?group?summary?information /dev/sdb1:?*****?FILE?SYSTEM?WAS?MODIFIED?***** /dev/sdb1:?12/1310720?files?(8.3%?non-contiguous),?128782/5242624?blocks
?
------------?針對其它文件系統?------------ $?sudo?fsck?-l?badsectors.txt?/dev/sda10
參數:
filesys : 磁盤設備名稱(eg./dev/sda1),掛載(mount)點 (eg. / 或 /usr)
-t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數
-s : 依序一個一個地執行 fsck 的指令來檢查
-A : 對/etc/fstab 中所有列出來的 分區(partition)做檢查
-C : 顯示完整的檢查進度
-d : 打印出e2fsck 的 debug 結果
-p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
-R : 同時有 -A 條件時,省略 / 不檢查
-V : 詳細顯示模式
-a : 如果檢查有錯則自動修復
-r : 如果檢查有錯則由使用者回答是否修復
-y : 選項指定檢測每個文件是自動輸入yes,在不確定那些是不正常的時候,可以執行 # fsck -y 全部檢查修復。
?
?
這個方法對帶有 S.M.A.R.T(自我監控分析報告技術Self-Monitoring, Analysis and Reporting Technology)系統的現代磁盤(ATA/SATA 和 SCSI/SAS 硬盤以及固態硬盤)更加的可靠和高效。S.M.A.R.T 系統能夠幫助檢測,報告,以及可能記錄它們的健康狀況,這樣你就可以找出任何可能出現的硬件失效。
你可以使用以下命令安裝smartmontools:
------------ 在基于 Debian/Ubuntu 的系統上 ------------
$?sudo?apt-get?install?smartmontools
------------ 在基于 RHEL/CentOS 的系統上 ------------
$?sudo?yum?install?smartmontools
安裝完成之后,使用 smartctl 控制磁盤集成的 S.M.A.R.T 系統。你可以這樣查看它的手冊或幫助:
$?man?smartctl $?smartctl?-h
然后執行 smartctrl 命令并在命令中指定你的設備作為參數,以下命令包含了參數 -H 或 --health 以顯示 SMART 整體健康自我評估測試結果。
$?sudo?smartctl?-H?/dev/sda10
檢查 Linux 硬盤健康
上面的結果指出你的硬盤很健康,近期內不大可能發生硬件失效。
要獲取磁盤信息總覽,使用 -a 或 --all 選項來顯示關于磁盤所有的 SMART 信息, -x 或 --xall 來顯示所有關于磁盤的 SMART 信息以及非 SMART 信息。
分享題目:linux系統下檢測硬盤上的壞道和壞塊
標題網址:http://vcdvsql.cn/article14/jhggge.html
成都網站建設公司_創新互聯,為您提供域名注冊、定制網站、品牌網站建設、自適應網站、營銷型網站建設、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯