今天早上,由于端口0(可引导端口)上的HDD故障,我们的大型生产服务器中的一台崩溃。
该服务器正在使用mdadm在RAID 1中运行CentOS 6.5。 虽然,实习生改变了硬盘(这是好事),并试图重buildRAIDarrays,但惨败了。 看起来他删除了RAIDconfiguration。
现在,我处于救援模式(数据中心networking引导)。
以下是fdisk -l :root @ rescue的输出:〜#fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sda doesn't contain a valid partition table Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x000a5c6d Device Boot Start End Blocks Id System /dev/sdb1 * 4096 41947135 20971520 fd Linux raid autodetect /dev/sdb2 41947136 1952468991 955260928 fd Linux raid autodetect /dev/sdb3 1952468992 1953519615 525312 82 Linux swap / Solaris Disk /dev/md2: 978.2 GB, 978187124736 bytes 2 heads, 4 sectors/track, 238815216 cylinders, total 1910521728 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/md2 doesn't contain a valid partition table Disk /dev/md1: 21.5 GB, 21474770944 bytes 2 heads, 4 sectors/track, 5242864 cylinders, total 41942912 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/md1 doesn't contain a valid partition table root@rescue:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md1 : active raid1 sdb1[1] 20971456 blocks [2/1] [_U] md2 : active raid1 sdb2[1] 955260864 blocks [2/1] [_U] unused devices: <none>
sda是更改的磁盘,而sdb是RAID磁盘。
这是cat /proc/mdstat的输出
root@rescue:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md1 : active raid1 sdb1[1] 20971456 blocks [2/1] [_U] md2 : active raid1 sdb2[1] 955260864 blocks [2/1] [_U] unused devices: <none>
我如何重buildRAID? 比如,将sdb的内容复制到sda,然后保持RAID工作?
首先,您必须在/dev/sda上创build类似的分区表,而不是使用fdisk的/dev/sdb 。
然后,你发出:
mdadm --manage /dev/md1 --fail /dev/sda1 mdadm --manage /dev/md2 --fail /dev/sda2
命令将/ dev / sdaX镜像标记为失败。 MD层可能已经认为这些失败,所以这些可能会给出错误信息。
然后,从RAID中移除sdaX:
mdadm --manage /dev/md1 --remove /dev/sda1 mdadm --manage /dev/md2 --remove /dev/sda2
再次,MD可能会认为这些已被删除,所以可能会有错误信息。
最后,将更换的硬盘添加到arrays中:
mdadm --manage /dev/md1 --add /dev/sda1 mdadm --manage /dev/md2 --add /dev/sda2
在此之后,您应该从/proc/mdstat中看到系统正在重buildarrays。