我有一台全新的Gentoo Linux安装的机器和另一台机器的软件RAID 5arrays(4个IDE磁盘连接到板外PCI控制器)。 我已经成功地将控制器移到了新机器上。 内核检测到驱动器; 我已经使用mdadm – 检查并validation单个RAID分区是否被检测到,干净,甚至是“正确”的顺序(hde1 ==驱动器0,hdg1 ==驱动器1等)。
我无法访问的是旧机器的原始configuration文件。 我应该如何继续重新激活这个数组而不会丢失数据?
你真的有点需要原始的mdadm.conf文件。 但是,因为你没有它,你将不得不重新创build它。 首先,在做任何事之前, 通过手册页阅读mdadm 。 为什么要把你的数据丢到一个你没有掌握的情况或命令呢?
这就是说, 这个build议是在你自己的风险。 用错误的命令很容易丢失所有的数据。 在你运行任何东西之前, 仔细检查命令的后果 。 我不能承担任何数据丢失或与您采取任何行动有关的其他问题 – 所以仔细检查一切 。
你可以试试这个:
mdadm --assemble --scan --verbose /dev/md{number} /dev/{disk1} /dev/{disk2} /dev/{disk3} /dev/{disk4}
这应该给你一些信息,开始与ID一起工作。 它也将创build一个新的arrays设备/ dev / md {number},从那里你应该能够find任何坐骑。 不要使用--auto选项,手册页的措辞意味着在某些情况下,这可能会导致驱动器上arrays设置的覆盖。 这可能不是这种情况,页面可能需要重新写清楚,但为什么呢?
如果数组正确组装并且所有内容都是“正常的”, 那么一定要将mdadm.conf写入并存储在/etc ,以便在启动时使用。 在文件中包含数组中的新ID以帮助它。
mdadm -Ac partitions -m 0 /dev/md0
扫描/ proc / partitions中列出的所有分区和设备,并将所有这些设备中的/ dev / md0组合成一个RAID超级块,次数为0。
如果conf成功,你可以添加–detail –scan >> /etc/mdadm/mdadm.conf,以便在启动时捕获它
只是想添加我的完整答案,至lessDebian。
sudo apt-get install mdadm
sudo mdadm --assemble --scan
在这一点上,我喜欢检查BLKID并手动安装RAID进行确认。
blkid mount /dev/md0 /mnt
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u
nano /etc/mdadm/mdadm.conf ARRAY /dev/md/0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
改成:
ARRAY /dev/md0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
确保输出:
mdadm --detail --scan
= mdadm.conf
/dev/md0 /mnt/mdadm ext4 defaults,nobootwait,nofail 0 2
https://unix.stackexchange.com/questions/23879/using-mdadm-examine-to-write-mdadm-conf/52935#52935 https://askubuntu.com/questions/729370/can-i-transfer-my -mdadm-software-raid-to-a-new-system-in-of-hardware-failur 如何将Linux软件RAID移动到新机器上?