将Linux软件RAID 1发展为RAID 10的最佳方法

前端之家收集整理的这篇文章主要介绍了将Linux软件RAID 1发展为RAID 10的最佳方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
mdadm似乎不支持从1级到10级增长数组.

我在RAID 1中有两个磁盘.我想添加两个新磁盘并将阵列转换为四磁盘RAID 10阵列.@H_502_3@

我目前的策略:@H_502_3@

>做好备份.
>创建一个降级的4磁盘RAID 10阵列,其中包含两个丢失的磁盘.
> rsync RAID 1阵列与RAID 10阵列.
>失败并从RAID 1阵列中删除一个磁盘.
>将可用磁盘添加到RAID 10阵列并等待重新同步完成.
>销毁RAID 1阵列并将最后一个磁盘添加到RAID 10阵列.@H_502_3@

问题是步骤5缺乏冗余.@H_502_3@

有没有更好的办法?@H_502_3@

解决方法

使用 linux softraid,您可以制作只有两个磁盘的RAID 10阵列.

以下使用的设备名称:@H_502_3@

> md0是类型/级别RAID1的旧数组.
> md1是类型/级别RAID10的新阵列.
> sda1和sdb2是新的空分区(没有数据).
> sda2和sdc1是旧分区(包含关键数据).@H_502_3@

替换名称以适合您的用例.使用例如lsblk查看您当前的布局.@H_502_3@

0)备份,备份,备份哦和备份@H_502_3@

1)创建新阵列(4个设备:2个现有,2个缺失):@H_502_3@

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

请注意,在此示例中,sda1缺少对应的sdb1,而另一个缺少对应的sdb2.此时md1上的数据不安全(在添加缺失成员之前,它实际上是RAID0).@H_502_3@

要查看已创建数组的布局和其他详细信息,请使用@H_502_3@

mdadm -D /dev/md1

注意!您应该保存数组的布局:@H_502_3@

# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u

2)格式化和安装. / dev / md1应该可以立即使用,但需要格式化然后安装.@H_502_3@

3)复制文件.使用例如rsync将数据从旧RAID 1复制到新RAID 10.(这只是一个示例命令,请阅读rsync的手册页)@H_502_3@

rsync -arHx / /where/ever/you/mounted/the/RAID10

4)使旧RAID1(md0)的第一部分失效,并将其添加到新RAID10(md1)@H_502_3@

mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2

注意!这将清除sda2中的数据. md0应该仍然可用,但前提是其他raid成员完全可以运行.@H_502_3@

另请注意,这将在md1上开始同步/恢复过程.要检查状态,请使用以下命令之一:@H_502_3@

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

等到恢复完成.@H_502_3@

5)在新阵列上安装GRUB(假设你正在从它启动).一些Linux救援/启动CD效果最好.@H_502_3@

6)在新阵列上启动.如果它正常工作破坏旧阵列并将剩余磁盘添加到新阵列.@H_502_3@

没有回头的点@H_502_3@

此时,您将销毁旧md0数组的最后一个成员上的数据.绝对确保一切正常.@H_502_3@

mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1

再次 – 等到md1上的恢复完成.@H_502_3@

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

7)更新mdadm配置@H_502_3@

记得更新/etc/mdadm/mdadm.conf(删除md0).@H_502_3@

并将配置保存到initramfs(重启后可用)@H_502_3@

update-initramfs -u
原文链接:https://www.f2er.com/linux/402772.html

猜你在找的Linux相关文章