Tra*_*leu 3 hardware centos software-raid
我有一个带有 sw RAID5 的 CentOS 设置来保存我的数据。好吧,服务器死了,所以我买了另一个盒子来迁移我的驱动器。唯一的问题是,我无法重建 RAID 阵列(甚至不确定它是否需要重建,可能只需要创建 /dev/md0 映射……但我什至不知道如何确定我需要什么!)
一些细节:
我对标准 linux 的东西有相当多的经验,但是硬件级别的东西让我绕圈子。我已经花了一些时间在 SF 上的谷歌搜索和其他地方,所以请对我的新手问题友好:)。
我的问题是:我如何诊断问题?据我所知,当我尝试重建阵列时,我使用了错误的设备块,但我找不到仅显示具有某些物理连接的设备的命令。
是否有一些简单的方法可以让我运行 mdadm,让它扫描我所有的物理驱动器,然后说“嘿,驱动器 2、5、6、7 是一个软件阵列,要我安装它吗?”
我基本上只是从旧盒子中取出驱动器并将其放入我的新盒子中。它们出现在 BIOS 中。我需要采取哪些步骤来启动、运行和安装阵列?
提前致谢!
如果您没有数据备份,那么您应该谨慎行事。这一切都不是特别困难,但如果它是您的数据的单一副本,那么缓慢地移动和深思熟虑肯定是值得的。如果您做错了事,您可以轻松地丢弃数据。
从理论上讲,该mdadm --assemble --scan --auto-update-homehost命令将执行您想要的操作。它会盲目地尝试自动组装和更新任何检测到的阵列。如果您有阵列的备份并且不介意过着危险的生活,则可以尝试此操作。
如果您想“手动”做事,您首先需要找到存储阵列的所有设备。您可以查看 的输出dmesg以查找设备。寻找像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
...
Run Code Online (Sandbox Code Playgroud)
我剪辑了输出以显示单个示例设备(一个 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
Run Code Online (Sandbox Code Playgroud)
您可以看到阵列的所有组件卷的设备都已写入超级块。您的新安装可能没有将相同的设备分配给卷,因此不会自动组装阵列。
按照上述检查您希望成为 RAID 集一部分的所有分区。给定阵列的所有组件卷将具有相同的 UUID。找到所有部分后,使用mdadm --assemble命令重新组装阵列,将新设备写回超级块,如下所示(替换/dev/mdX为您希望将阵列组装为的 MD 设备,以及 /dev/partition0等,与阵列的成员卷):
mdadm --assemble --update=homehost /dev/mdX /dev/partition0 /dev/partition1 ... /dev/partition6
Run Code Online (Sandbox Code Playgroud)
这将重新组合阵列并使用新的主机名和设备更新超级块。完成后,您可以cat /proc/mdstat查看阵列的状况。最后,您可以mdadm --detail --scan >> /etc/mdadm.conf将数组的详细信息写入 /etc/mdadm.conf 文件。
| 归档时间: |
|
| 查看次数: |
900 次 |
| 最近记录: |