我有一个CentOS设置与SW RAID5持有我的数据。 那么,服务器死了,所以我买了另一个盒子来迁移我的驱动器。 唯一的问题是,我无法重buildRAIDarrays(甚至不知道是否需要重build,可能只需要创build/ dev / md0映射……但我甚至不知道如何确定我需要的东西!)
一些细节:
我有标准的Linux的经验,但硬件水平的东西运行在我的圈子。 我已经花了一些时间在search引擎上的其他地方,所以请善待我的新手问题:)。
我的问题是:如何诊断问题? 对于我所知道的,当我尝试重build数组时,我使用了错误的设备块,但是我找不到只显示具有一些物理附件的设备的命令。
有没有一些简单的方法让我运行mdadm,让它扫描我所有的物理驱动器,并说:“嘿,驱动器2,5,6,7是一个软件arrays,要我安装它?
我基本上只是把我的旧箱子里的驱动器放进我的新箱子里。 他们出现在BIOS中。 我需要采取哪些步骤才能使arrays启动,运行和装载?
提前致谢!
如果你没有备份数据,那么你应该谨慎行事。 这些都不是特别困难,但是如果它是一个单一的数据副本,那么确实值得慢慢地进行审议。 如果你做错了事情,你可以很容易地垃圾你的数据。
从理论上讲, mdadm --assemble --scan --auto-update-homehost命令可以做你想做的事情。 它会盲目地尝试自动组装和更新任何检测到的arrays。 如果你有一个arrays的备份,不介意生活有点危险,你可以试试这个。
如果您想“手动”操作,首先需要find所有存储数组的设备。 您可以查看dmesg的输出以查找设备。 寻找像hdg: 488397168 sectors (250059 MB) ...条目hdg: 488397168 sectors (250059 MB) ... 您应该能够识别连接到系统的所有设备。
使用fdisk -l命令显示磁盘上的分区。 以下是一些示例输出:
[root@srv02 ~]# fdisk -l ... Disk /dev/hdg: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdg1 1 30401 24961765 fd Linux raid autodetect ...
我裁剪输出显示一个单一的示例设备(一个250GB的磁盘上有一个Linux软件RAID分区)。 您应该看到列出了几个设备的分区表。
您可以使用mdadm --examine device命令检查分区上的超级块,如:
[root@srv02 ~]# mdadm --examine /dev/hdg1 /dev/hdg1: Magic : a92b4efc Version : 00.90.00 UUID : 3c8b281e:715ce6bb:39297707:3bc149b6 Creation Time : Mon Dec 17 17:28:35 2005 Raid Level : raid5 Used Dev Size : 243593472 (232.31 GiB 249.44 GB) Array Size : 1217967360 (1161.54 GiB 1247.20 GB) Raid Devices : 6 Total Devices : 6 Preferred Minor : 1 Update Time : Mon Mar 22 20:45:56 2010 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Checksum : 6d966f24 - correct Events : 0.10988 Layout : left-symmetric Chunk Size : 256K Number Major Minor RaidDevice State this 1 34 3 1 active sync /dev/hdg1 0 0 33 3 0 active sync /dev/hde1 1 1 34 3 1 active sync /dev/hdg1 2 2 56 3 2 active sync /dev/hdi1 3 3 57 3 3 active sync /dev/hdk1 4 4 88 3 4 active sync /dev/hdm1 5 5 89 3 5 active sync /dev/hdo1
您可以看到arrays中所有组件卷的设备都已写入超级块。 您的新安装可能不会将相同的设备分配给卷,以使arrays不被自动组装。
根据上述检查您希望成为RAID组的一部分的所有分区。 给定数组的所有组件卷将具有相同的UUID。 一旦find了所有部分,使用mdadm --assemble命令重新组装数组,然后将新设备写回超级块,如下所示(将/dev/mdXreplace为您希望数组为的MD设备组装为,和/ dev / partition0等,与数组的成员卷):
mdadm --assemble --update=homehost /dev/mdX /dev/partition0 /dev/partition1 ... /dev/partition6
这将重新组装arrays并用新的主机名和设备更新超级块。 当你这样做后,你可以通过cat /proc/mdstat来查看数组的状态。 最后,可以通过mdadm --detail --scan >> /etc/mdadm.conf将数组的详细信息写入mdadm --detail --scan >> /etc/mdadm.conf文件。