Linux坏盘检测

家里服务器硬盘有坏道,经常死机。重新扫描一下

  1. 有条件的话,把要被扫描的和系统盘,存放于不同的SATA Channel。因为扫描盘的时候经常硬件报错,我查看日志发现,好像系统会reset这个channel,这样会造成系统盘读写报错。因为会存放log文件,好几次扫了一半引发系统崩溃,只能按Reset按钮硬件重启。如果存放不同的SATA channel,会大大降低这种报错概率。(个人建议)
    查看有几个通道,到底是否在一起,用dmesg /proc/scsi/scsi

    [root@localhost ~]# dmesg | egrep -i "scsi|ata|sd|hd"     ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
        ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
    SCSI subsystem initialized
    libata version 3.00 loaded.
    ata_piix 0000:00:1f.2: version 2.12
    ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
    ata_piix 0000:00:1f.2: setting latency timer to 64
    scsi0 : ata_piix
    scsi1 : ata_piix
    ata1: SATA max UDMA/133 cmd 0xd080 ctl 0xd000 bmdma 0xc800 irq 225
    ata2: SATA max UDMA/133 cmd 0xcc00 ctl 0xc880 bmdma 0xc808 irq 225
    ata1.00: HPA detected: current 1953523055, native 1953525168
    ata1.00: ATA-8: TOSHIBA HDWD110, MS2OA8J0, max UDMA/133
    ata1.00: 1953523055 sectors, multi 16: LBA48 NCQ (depth 0/32)
    ata1.01: ATA-8: WDC WD20EURS-63S48Y0, 51.0AB51, max UDMA/133
    ata1.01: 3907029168 sectors, multi 16: LBA48 NCQ (depth 0/32)
    ata1.00: configured for UDMA/133
    ata1.01: configured for UDMA/133
      Vendor: ATA       Model: TOSHIBA HDWD110   Rev: MS2O
      Type:   Direct-Access                      ANSI SCSI revision: 05
    SCSI device sda: 1953523055 512-byte hdwr sectors (1000204 MB)
    sda: Write Protect is off
    sda: Mode Sense: 00 3a 00 00
    SCSI device sda: drive cache: write back
    SCSI device sda: 1953523055 512-byte hdwr sectors (1000204 MB)
    sda: Write Protect is off
    sda: Mode Sense: 00 3a 00 00
    SCSI device sda: drive cache: write back
     sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
    sd 0:0:0:0: Attached scsi disk sda
      Vendor: ATA       Model: WDC WD20EURS-63S  Rev: 51.0
      Type:   Direct-Access                      ANSI SCSI revision: 05

    这里两个硬盘是在一个channel上的,报错的时候,有干扰。


    [root@localhost ~]# cat /proc/scsi/scsi
    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
      Vendor: ATA      Model: TOSHIBA HDWD110  Rev: MS2O
      Type:   Direct-Access                    ANSI SCSI revision: 05
    Host: scsi0 Channel: 00 Id: 01 Lun: 00
      Vendor: ATA      Model: WDC WD20EURS-63S Rev: 51.0
      Type:   Direct-Access                    ANSI SCSI revision: 05

    这里显示,两个硬盘在同一个channel,一个ID 0 ,另外一个ID 1。建议您通过插主板上不同的SATA接口,使用不同的Channel。

  2. 确定分区的block size的大小,用tune2fs查看block size

    tune2fs -l /dev/sdb1 |grep "Block size"
    Block size:           4096

    记住大小 4096

     

  3. badblocks 扫描本盘

    badblocks -sv -b 4096 -o /root/badblocks.log /dev/sdb1

    这里-b 4096,务必要和上一般相同,否则,那个badblocks.log文件无法使用。

  4. fsck 检查硬盘
    fsck -v -l/root/badblocks.log  /dev/sdb1

    按照屏幕提示操作。

参考:http://linux.cn/article-7961-1.html

posted @ 2017-03-14 14:38  每天200行  阅读(1688)  评论(0)    收藏  举报