我有一台Centos 5.4服务器在生产中,2个驱动器在软件RAID1中。
最后一天/ var / log / messages有很多消息,表明其中一个驱动器已准备好失败:
Sep 23 00:48:38 milkyway kernel: SCSI device sda: 1465149168 512-byte hdwr sectors (750156 MB) Sep 23 00:48:39 milkyway kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Sep 23 00:48:39 milkyway kernel: ata1.00: irq_stat 0x40000001 Sep 23 00:48:39 milkyway kernel: ata1.00: cmd 25/00:10:31:21:8c/00:00:28:00:00/e0 tag 0 dma 8192 in Sep 23 00:48:40 milkyway kernel: res 51/40:00:35:21:8c/00:00:28:00:00/e0 Emask 0x9 (media error) Sep 23 00:48:40 milkyway kernel: ata1.00: status: { DRDY ERR } Sep 23 00:48:40 milkyway kernel: ata1.00: error: { UNC } Sep 23 00:48:40 milkyway kernel: ata1.00: configured for UDMA/133 Sep 23 00:48:40 milkyway kernel: ata1: EH complete Sep 23 00:48:41 milkyway kernel: sda: Write Protect is off Sep 23 00:48:41 milkyway kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Sep 23 00:48:58 milkyway kernel: ata1.00: irq_stat 0x40000001 Sep 23 00:49:00 milkyway kernel: ata1.00: cmd 25/00:10:31:21:8c/00:00:28:00:00/e0 tag 0 dma 8192 in Sep 23 00:49:03 milkyway kernel: res 51/40:00:35:21:8c/00:00:28:00:00/e0 Emask 0x9 (media error) Sep 23 00:49:03 milkyway kernel: ata1.00: status: { DRDY ERR } Sep 23 00:49:04 milkyway kernel: ata1.00: error: { UNC } Sep 23 00:49:04 milkyway kernel: ata1.00: configured for UDMA/133 Sep 23 00:49:04 milkyway kernel: ata1: EH complete Sep 23 00:49:04 milkyway kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Sep 23 00:49:04 milkyway kernel: ata1.00: irq_stat 0x40000001 Sep 23 00:49:04 milkyway kernel: ata1.00: cmd 25/00:10:31:21:8c/00:00:28:00:00/e0 tag 0 dma 8192 in Sep 23 00:49:04 milkyway kernel: res 51/40:00:35:21:8c/00:00:28:00:00/e0 Emask 0x9 (media error) Sep 23 00:49:04 milkyway kernel: ata1.00: status: { DRDY ERR } Sep 23 00:49:04 milkyway kernel: ata1.00: error: { UNC } Sep 23 00:49:04 milkyway kernel: ata1.00: configured for UDMA/133 Sep 23 00:49:05 milkyway kernel: ata1: EH complete Sep 23 00:49:05 milkyway kernel: SCSI device sda: drive cache: write back Sep 23 00:49:06 milkyway kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Sep 23 00:49:06 milkyway kernel: ata1.00: irq_stat 0x40000001 Sep 23 00:49:06 milkyway kernel: ata1.00: cmd 25/00:10:31:21:8c/00:00:28:00:00/e0 tag 0 dma 8192 in Sep 23 00:49:06 milkyway kernel: res 51/40:00:35:21:8c/00:00:28:00:00/e0 Emask 0x9 (media error) Sep 23 00:49:06 milkyway kernel: ata1.00: status: { DRDY ERR } Sep 23 00:49:06 milkyway kernel: ata1.00: error: { UNC } Sep 23 00:49:06 milkyway kernel: ata1.00: configured for UDMA/133 Sep 23 00:49:08 milkyway kernel: sd 0:0:0:0: SCSI error: return code = 0x08000002
但在/ proc / mdstat中,没有一个硬盘显示为降级:
Personalities : [raid1] [raid10] [raid0] [raid6] [raid5] [raid4] md0 : active raid1 sdb1[1] sda1[0] 4200896 blocks [2/2] [UU] md1 : active raid1 sdb2[1] sda2[0] 2104448 blocks [2/2] [UU] md2 : active raid1 sdb3[1] sda3[0] 726266432 blocks [2/2] [UU] unused devices: <none>
我已经开始将所有数据迁移到新的服务器。 但结果是现在这个速度很慢,由于硬盘出现故障,几乎不可能将它们全部传送出去。 此外,由于硬盘瓶颈的负载天空火箭,造成使服务器无法使用。
是否有可能删除失败的驱动器, 而不会丢失数据,没有任何停机时间? 即使RAID1暂时保留了1个驱动器,我也不介意,为了尽快完成传输,不要拖延。
您可以通过mdadm手动将驱动器标记为失败:
mdadm --manage /dev/md0 --fail /dev/sda1
这将允许您从arrays中删除驱动器:
mdadm --manage /dev/md0 --remove /dev/sda1
重复所有的数组。
这将使arrays只有一个驱动器,希望可以让您备份另一个驱动器上的数据
要么
使用备件replace故障/故障驱动器,并使用镜像磁盘分区从好驱动器重buildarrays,然后将这些分区添加到MD设备进行arrays重build。
然而,正常的“RAID不是备份”口号是适用的,也就是说,在即将发生磁盘故障之前已经备份了磁盘arrays的内容,尽pipe这对你来说并不是特别有用。