重buildRaidarrays

我如何重buildRAIDarrays? 我正在使用RAID 1.我的数据中心说,它需要被修复,首先我认为这是硬盘故障,因为smartmoontools扫描结果,但事实并非如此。

命令:

cat / proc / mdstat

输出:

Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb1[1] sda1[0] 2096064 blocks [2/2] [UU] md1 : active raid1 sda2[0] 524224 blocks [2/1] [U_] md2 : active raid1 sda3[0] 729952192 blocks [2/1] [U_] unused devices: <none> 

我需要:

 # mdadm /dev/md1 -r /dev/sdb2 # mdadm /dev/md2 -r /dev/sdb3 # mdadm /dev/md3 -r /dev/sdb4 

接着

 # mdadm /dev/md1 -a /dev/sdb2 # mdadm /dev/md2 -a /dev/sdb3 # mdadm /dev/md3 -a /dev/sdb4 

我会丢失数据还是我的服务器将脱机?

这是fdisk -l的输出

 Disk /dev/sda: 750.1 GB, 750156374016 bytes 64 heads, 32 sectors/track, 715404 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sda1 2 2048 2096128 fd Linux raid autodetect /dev/sda2 2049 2560 524288 fd Linux raid autodetect /dev/sda3 2561 715404 729952256 fd Linux raid autodetect Disk /dev/sdb: 750.1 GB, 750156374016 bytes 64 heads, 32 sectors/track, 715404 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sdb1 2 2048 2096128 fd Linux raid autodetect /dev/sdb2 2049 2560 524288 fd Linux raid autodetect /dev/sdb3 2561 715404 729952256 fd Linux raid autodetect Disk /dev/md2: 747.4 GB, 747471044608 bytes 2 heads, 4 sectors/track, 182488048 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md2 doesn't contain a valid partition table Disk /dev/md1: 536 MB, 536805376 bytes 2 heads, 4 sectors/track, 131056 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md1 doesn't contain a valid partition table Disk /dev/md0: 2146 MB, 2146369536 bytes 2 heads, 4 sectors/track, 524016 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk /dev/md0 doesn't contain a valid partition table 

这里是smartctl -A / dev / sdb的输出

 === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 111 100 006 Pre-fail Always - 38042073 3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 7 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 073 060 030 Pre-fail Always - 24494887 9 Power_On_Hours 0x0032 091 091 000 Old_age Always - 7935 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 7 183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0 184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 099 000 Old_age Always - 4 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 062 052 045 Old_age Always - 38 (Min/Max 34/41) 194 Temperature_Celsius 0x0022 038 048 000 Old_age Always - 38 (0 26 0 0 0) 195 Hardware_ECC_Recovered 0x001a 032 026 000 Old_age Always - 38042073 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 101494372179726 241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 3317006641 242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 2924590852 

该驱动器的SDB看起来像是不远处的失败。 虽然还没有正式失败,但没有多less生命。

 195 Hardware_ECC_Recovered 0x001a 032 026 000 Old_age Always - 38042073 

此驱动器有大量可恢复的读取错误。 这意味着它使用纠错成功地重build了数据。 但是,它已经到了最有可能很快就会有一个不可恢复的读取错误,在那里它不能成功地重build磁盘损坏或失败部分的数据。 在那个时候,没有什么可以做的,你将不得不更换驱动器。

如果您的重build在同一个地方继续停止,那么驱动器已经在盘片上的这个位置完全失效了,并且不会报告它。 桌面级驱动器将停止并尝试几分钟甚至几小时来读取特定扇区,如果他们第一次失败,导致这样的事情。 你可能在这个“服务器”上有这样一个驱动器…

在这一点上,你应该主动取代这个驱动,因为如果不是很快就会失败。

似乎只有一半的镜子丢失了。 所以应该没有问题。但问题是为什么sumbirrors(sdbX)失踪? 也许这是一个好主意,检查他们之前的镜​​子重新贴上。

 mdadm --manage /dev/md1 --add /dev/sdb2 mdadm --manage /dev/md2 --add /dev/sdb3 mdadm --manage /dev/md3 --add /dev/sdb4 

当您有两个使用RAID1镜像的卷时,每个副本都有一个“活动计数器”,当副本内部发生更改时,会更新这个“活动计数器”:这样系统就能够了解哪一个是最新的,其他的事情,把两个之一。

重新同步意味着最新的文件被复制到较旧的版本,即“丢失同步”。 因此,脱机硬盘或有缺陷的硬盘将强制arrays进入“降级模式”(只有一个在线副本,非冗余)。

从降级模式中,您可以恢复强制重新同步,以便将唯一活动分区克隆到已恢复工作的分区,或者更换有缺陷的磁盘并向arrays提供新的空间,这将克隆到相同的arrays之前描述的方式。

两种方法都会保持你的数据完整无损,除非你对configuration或“好”的分区做了一些不合适的事情)

我想这是一个好主意备份你的RAIDconfiguration之前,你甚至认为要摆弄他们=)

至于SMART的价值,他们看起来相当不错,除了Hardware_ECC_Recovered,这也是在其他回复讨论..

无论如何避免考虑你在那里看到的单一的价值,也要检查它在哪个速度改变。 我曾经在一个驱动器上有过奇怪的价值,但是他们并没有变得糟糕,他们也很稳定。 另一方面,良好的SMART值并不能certificate一个完美的磁盘:在我看来,它们可以很好地检查由于使用/老化而导致的磁盘磨损,但是对于防止突然的故障(例如由机械应力,过热等等。 – 想起服务器机房上一个失败的冷却器..)

祝你好运! =)