linux – mdadm:增加RAID0阵列的怪异

linux – mdadm:增加RAID0阵列的怪异,第1张

概述我使用Rackspace的CloudBlockStorage作为他们的设备,在3个Rackspace CloudServers上使用mdadm创建了3个RAID0阵列.每个阵列都有自己的一组CBS卷. RS-CBS的驱动器上限为1TB,我需要更大的存储空间.其中一个服务器用于数据存储,第二个是该服务器的实时镜像,第三个是夜间快照.我使用以下命令在每个服务器上创建了数组: mdadm --creat 我使用Rackspace的CloudBlockStorage作为他们的设备,在3个Rackspace CloudServers上使用mdadm创建了3个RAID0阵列.每个阵列都有自己的一组CBS卷. RS-CBS的驱动器上限为1TB,我需要更大的存储空间.其中一个服务器用于数据存储,第二个是该服务器的实时镜像,第三个是夜间快照.我使用以下命令在每个服务器上创建了数组:
mdadm --create /dev/md0 --level=0 --raID-devices=3 /dev/xvdb1 /dev/xvdd1 /dev/xvde1

当需要增加阵列时,由于这是我第一次成长,我开始使用最不重要的服务器:快照服务器.我添加了一个新的音量,并且有点小小的提示,想出了这个命令:

mdadm --grow /dev/md0 --raID-devices=4 --add /dev/xvdf1

根据mdadm手册页,它说你无法增长RAID0所以mdadm将它转换为RAID4,增长它,然后转换回来. (它永远不会转换回来,但这是另一个问题).数组重塑,但大小永远不会改变.我的假设是新驱动器刚刚成为阵列的奇偶校验驱动器.因此,为了获得我需要的空间,我添加了另一个卷:

mdadm --grow /dev/md0 --raID-devices=5 --add /dev/xvdg1

这重塑并给了我额外的500GB我希望所以我做resize2fs / dev / md0并且很好去; 2TB的空间.

所以这就是奇怪发生的地方.我切换到在镜像服务器上增长数组.从前面的步骤知道我需要添加两个卷来获得我需要的额外空间,我使用这个命令:

mdadm --grow /dev/md0 --raID-devices=5 --add /dev/xvdf1 /dev/xvdg1

它重塑,事情看起来很好,但是当我执行resize2fs / dev / md0后跟df -hal时,我看到它确实增长并报告2.5TB的空间,而不是我期望的2.0TB.这就好像它没有创建奇偶校验驱动器,我假设它从第一次运行中完成并使用了阵列的所有可用空间.

一个看起来不同的是在镜像服务器上重塑后mdadm -D / dev / md0的输出.我在RAID设备上看到了这个:

Number   Major   Minor   RaIDDevice State   0     202       17        0      active sync   /dev/xvdb1   1     202       49        1      active sync   /dev/xvdd1   2     202       65        2      active sync   /dev/xvde1   5     202       97        3      active sync   /dev/xvdg1   4     202       81        4      active sync   /dev/xvdf1   5       0        0        5      removed

cat / proc / mdstat的输出显示它确实转换为RAID4:

PersonalitIEs : [raID0] [raID6] [raID5] [raID4]md0 : active raID4 xvdg1[5] xvdf1[4] xvdd1[1] xvdb1[0] xvde1[2]      2621432320 blocks super 1.2 level 4,512k chunk,algorithm 5 [6/5] [UUUUU_]unused devices: <none>

所以我的担忧是……我是否错误地增加了第一个阵列(快照服务器),它应该得到2.5TB,但我的错误只给它2.0TB?或者我是否错误地增加了第二个阵列(镜像服务器)并且没有我认为我会获得的奇偶校验驱动器?我能做些什么,或者我应该做些什么来一致地发展这些阵列?

解决方法 我也遇到了他的问题,经过一些测试后可以增加一个软件RAID 0阵列.

我找到了一个选项,如果你认为在grow命令中包含它是有意义的,那么选项是–backup-file.如果你认为它真实地增长RAID 0阵列,就像你在硬件中那样,你需要将数据复制到别处以销毁并重新创建阵列,如果不是,我想看到数学增长没有额外空间的RAID 0阵列(真的).

我发现的另一件事是我无法将一个驱动器添加到RAID 0阵列,它只能在我添加两个驱动器时才能工作,还没有尝试过更多.

因此,增加RAID 0阵列的命令将是(对于您的情况):

mdadm --grow /dev/md0 --raID-devices=5 \  --backup-file=/drive/With/Enough/Space/growth.bak --add /dev/xvdf1 /dev/xvdg1
总结

以上是内存溢出为你收集整理的linux – mdadm:增加RAID0阵列的怪异全部内容,希望文章能够帮你解决linux – mdadm:增加RAID0阵列的怪异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1037742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存