Linux坏盘检测
家里服务器硬盘有坏道,经常死机。重新扫描一下
- 有条件的话,把要被扫描的和系统盘,存放于不同的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。
- 确定分区的block size的大小,用tune2fs查看block size
tune2fs -l /dev/sdb1 |grep "Block size" Block size: 4096记住大小 4096
- badblocks 扫描本盘
badblocks -sv -b 4096 -o /root/badblocks.log /dev/sdb1这里-b 4096,务必要和上一般相同,否则,那个badblocks.log文件无法使用。
- fsck 检查硬盘
fsck -v -l/root/badblocks.log /dev/sdb1
按照屏幕提示操作。
参考:http://linux.cn/article-7961-1.html
浙公网安备 33010602011771号