CentOS下badblocks指令的詳解
添加時(shí)間:2019-10-20 17:29:54
添加:
思海網(wǎng)絡(luò)
硬盤是一個(gè)損耗設(shè)備,當(dāng)使用一段時(shí)間后可能會出現(xiàn)壞道等物理故障。電腦硬盤出現(xiàn)壞道后,如果不及時(shí)更換或進(jìn)行技術(shù)處理,壞道就會越來越多,并會造成頻繁死機(jī)和數(shù)據(jù)丟失。最好的處理方式是更換磁盤,但在臨時(shí)的情況下,應(yīng)及時(shí)屏蔽壞道部分的扇區(qū),不要觸動(dòng)它們。badblocks就是一個(gè)檢查壞道位置的工具。
一、命令參數(shù)
badblocks使用格式為:
引用
badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i
input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ]
device [ last-block ] [ start-block ]
參數(shù)含義是:
引用
-b blocksize
指定磁盤的區(qū)塊大小,單位為字節(jié),默認(rèn)值為“block 4K ”(4K/block)
-c blocksize
每個(gè)區(qū)塊檢查的次數(shù),默認(rèn)是16次
-f
強(qiáng)制在一個(gè)已經(jīng)掛載的設(shè)備上執(zhí)行讀寫或非破壞性的寫測試操作
(我們建議先umount設(shè)備,然后再進(jìn)行壞道檢測。僅當(dāng)/etc/mtab出現(xiàn)誤報(bào)設(shè)備掛載錯(cuò)誤的時(shí)候可以使用該選項(xiàng))
-i file
跳過已經(jīng)顯示在file文件中的壞道,而不進(jìn)行檢測(可以避免重復(fù)檢測)
-o file
把檢測結(jié)果輸出到file文件
-p number
重復(fù)搜尋設(shè)備,直到在指定通過次數(shù)內(nèi)都沒有找到新的壞塊位置,默認(rèn)次數(shù)為0
-s
在檢查時(shí)顯示進(jìn)度
-t pattern
通過按指定的模式讀寫來檢測區(qū)塊。你可以指定一個(gè)0到ULONG_MAX-1的十進(jìn)制正值,或使用random(隨機(jī))。
如果你指定多個(gè)模式,badblocks將使用第一個(gè)模式檢測所有的區(qū)塊,然后再使用下一個(gè)模式檢測所有的區(qū)塊。
Read-only方式僅接受一個(gè)模式,它不能接受random模式的。
-v
執(zhí)行時(shí)顯示詳細(xì)的信息
-w
對每個(gè)區(qū)塊都先寫入,然后再從它讀取信息
[device]
指定要檢查的磁盤裝置。
[last-block]
指定磁盤裝置的區(qū)塊總數(shù)。
[start-block]
指定要從哪個(gè)區(qū)塊開始檢查
二、示例
badblocks以4096的一個(gè)block,每一個(gè)block檢查16次,將結(jié)果輸出到“hda-badblocks-list”文件里
# badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list
hda-badblocks-list”是個(gè)文本文件,內(nèi)容如下:
引用
# cat hda-badblocks-list
51249
51250
51251
51253
51254
……
61245
……
可以針對可疑的區(qū)塊多做幾次操作。下面,badblocks以4096字節(jié)為一個(gè)“block”,每一個(gè)“block”檢查1次, 將結(jié)果輸出到“hda-badblocks-list.1”文件中,由第51000 block開始,到63000 block結(jié)束
# badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000
這次花費(fèi)的時(shí)間比較短,硬盤在指定的情況下在很短的時(shí)間就產(chǎn)生“嘎嘎嘎嘎”的響聲。由于檢查條件的不同,其輸出的結(jié)果也不完全是相同的。重復(fù)幾次同樣的操作,因條件多少都有些不同,所以結(jié)果也有所不同。進(jìn)行多次操作后,直到產(chǎn)生最后的hda-badblock-list.final文件。
三、其他
1、fsck使用badblocks的信息
badblocks只會在日志文件中標(biāo)記出壞道的信息,但若希望在檢測磁盤時(shí)也能跳過這些壞塊不檢測,可以使用fsck的-l參數(shù):
# fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1
2、在創(chuàng)建文件系統(tǒng)前檢測壞道
badblocks可以隨e2fsck和mke2fs的-c刪除一起運(yùn)行(對ext3文件系統(tǒng)也一樣),在創(chuàng)建文件系統(tǒng)前就先檢測壞道信息:
# mkfs.ext3 -c /dev/hda1
代碼表示使用-c在創(chuàng)建文件系統(tǒng)前檢查壞道的硬盤。
這個(gè)操作已經(jīng)很清楚地告知我們可以采用“mkfs.ext3 -c”選項(xiàng)用“read-only”方式檢查硬盤。這個(gè)命令會在格式化硬盤時(shí)檢查硬盤,并標(biāo)出錯(cuò)誤的硬盤“block”。用這個(gè)方法格式化硬盤,需要有相當(dāng)大的耐心,因?yàn)槊钸\(yùn)行后,會一個(gè)個(gè)用讀的方式檢查硬盤。
關(guān)鍵字:CentOS、badblocks、指令、詳解
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解