CentOS下badblocks指令的詳解

硬盤是一個(gè)損耗設(shè)備,當(dāng)使用一段時(shí)間后可能會(huì)出現(xiàn)壞道等物理故障。電腦硬盤出現(xiàn)壞道后,如果不及時(shí)更換或進(jìn)行技術(shù)處理,壞道就會(huì)越來越多,并會(huì)造成頻繁死機(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í)行讀寫或非破壞性的寫測(cè)試操作
(我們建議先umount設(shè)備,然后再進(jìn)行壞道檢測(cè)。僅當(dāng)/etc/mtab出現(xiàn)誤報(bào)設(shè)備掛載錯(cuò)誤的時(shí)候可以使用該選項(xiàng))
-i file
跳過已經(jīng)顯示在file文件中的壞道,而不進(jìn)行檢測(cè)(可以避免重復(fù)檢測(cè))
-o file
把檢測(cè)結(jié)果輸出到file文件
-p number
重復(fù)搜尋設(shè)備,直到在指定通過次數(shù)內(nèi)都沒有找到新的壞塊位置,默認(rèn)次數(shù)為0
-s
在檢查時(shí)顯示進(jìn)度
-t pattern
通過按指定的模式讀寫來檢測(cè)區(qū)塊。你可以指定一個(gè)0到ULONG_MAX-1的十進(jìn)制正值,或使用random(隨機(jī))。
如果你指定多個(gè)模式,badblocks將使用第一個(gè)模式檢測(cè)所有的區(qū)塊,然后再使用下一個(gè)模式檢測(cè)所有的區(qū)塊。
Read-only方式僅接受一個(gè)模式,它不能接受random模式的。
-v
執(zhí)行時(shí)顯示詳細(xì)的信息
-w
對(duì)每個(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
……
可以針對(duì)可疑的區(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只會(huì)在日志文件中標(biāo)記出壞道的信息,但若希望在檢測(cè)磁盤時(shí)也能跳過這些壞塊不檢測(cè),可以使用fsck的-l參數(shù):
# fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1
2、在創(chuàng)建文件系統(tǒng)前檢測(cè)壞道
badblocks可以隨e2fsck和mke2fs的-c刪除一起運(yùn)行(對(duì)ext3文件系統(tǒng)也一樣),在創(chuàng)建文件系統(tǒng)前就先檢測(cè)壞道信息:
# mkfs.ext3 -c /dev/hda1
代碼表示使用-c在創(chuàng)建文件系統(tǒng)前檢查壞道的硬盤。
這個(gè)操作已經(jīng)很清楚地告知我們可以采用“mkfs.ext3 -c”選項(xiàng)用“read-only”方式檢查硬盤。這個(gè)命令會(huì)在格式化硬盤時(shí)檢查硬盤,并標(biāo)出錯(cuò)誤的硬盤“block”。用這個(gè)方法格式化硬盤,需要有相當(dāng)大的耐心,因?yàn)槊钸\(yùn)行后,會(huì)一個(gè)個(gè)用讀的方式檢查硬盤。
相關(guān)文章
CentOS下如何實(shí)行計(jì)劃任務(wù)?CentOS下實(shí)行計(jì)劃任務(wù)的方法
很多朋友還不知道CentOS下如何實(shí)行計(jì)劃任務(wù)?下面小編就為大家?guī)鞢entOS下實(shí)行計(jì)劃任務(wù)的方法;一起去看看吧2016-12-11- 今天小編為大家?guī)淼氖荂entOS命令行性能檢測(cè)工具;希望可以幫助到大家,有需要的朋友可以過來看看2016-12-11
CentOS允許telnet通過root用戶進(jìn)行訪問
今天小編為大家?guī)淼氖荂entOS允許telnet 通過root用戶進(jìn)行訪問的詳解,希望對(duì)大家會(huì)有幫助;有需要的朋友可以過來看看2016-12-11- 今天小編為大家?guī)淼氖莄entos yum只更新安全補(bǔ)丁操作;希望可以幫助到大家;有需要的朋友可以過來看看2016-12-11
- 今天小編為大家?guī)砹薈entOS下cp命令中拷貝所有的寫法;希望可以幫助到大家!有需要的朋友可以過來看看2016-12-09
Centos系統(tǒng)用戶密碼字符串生成命令-shadow
今天小編為大家?guī)淼氖荂entos系統(tǒng)用戶密碼字符串生成命令-shadow;有需要的朋友可以過來看看,希望對(duì)大家的學(xué)習(xí)會(huì)有幫助2016-12-09- 今天小編就為大家?guī)鞢entos文件搜索命令的講解;希望對(duì)大家的學(xué)習(xí)會(huì)有幫助;有需要的朋友可以過來看看2016-12-09
Centos下如何限制偽終端數(shù)?Centos下限制偽終端數(shù)的方法
如果我們希望增加(或限制)通過ssh、telnet登錄服務(wù)的用戶,可以修改內(nèi)核參數(shù)來進(jìn)行限制;一些朋友還不知道Centos下如何限制偽終端數(shù)?下面小編就為大家?guī)鞢entos下限制2016-12-09- 今天小編為大家?guī)鞢entOS 清屏命令clear的講解;希望可以幫助到大家,有需要的朋友一起去看看吧2016-12-08
- 很多朋友還不知道CentOS中如何自定義yum倉庫和配置文件;下面小編就為大家?guī)鞢entOS中自定義yum倉庫和配置文件的方法;有需要的朋友一起去看看吧2016-12-08