免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3029 | 回复: 15
打印 上一主题 下一主题

关于mdadm做raid的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-31 21:50 |只看该作者 |倒序浏览
现在我使用mdadm做好raid之后,重起机器这个raid就没有了,除非我手动使用mdadm -A ......再重新把raid建起来。

查了很多资料,有的人说使用mdadm.conf,我在这里面增加:
ARRAY /dev/md0 uuid=5e879d1b:5d949625:18f062e0:481959c5
后,启动的时候报错:
mdadm: bad uuid: uuid=5e879d1b:5d949625:18f062e0:481959c5

我的问题是:我怎样才能让建好的raid在机器重起的后还可继续使用?不会每次都让系统启动后运行一个mdadm -A....这样的脚本吧?

我的环境:vmware+gentoo

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
2 [报告]
发表于 2008-08-31 22:22 |只看该作者
Mdadm –D –s >>/etc/mdadm.conf生成raid的配置文件
试试

论坛徽章:
0
3 [报告]
发表于 2008-08-31 22:25 |只看该作者
原帖由 cuci 于 2008-8-31 22:22 发表
Mdadm –D –s >>/etc/mdadm.conf生成raid的配置文件
试试


这样不行。我试过。

我的方法,将mdadm -As命令写入到/etc/rc.sysinit文件中,位置在450行左右;并且如果系统已经挂载了raid阵列,重建一个initrd.img。

论坛徽章:
0
4 [报告]
发表于 2008-08-31 22:26 |只看该作者
经过这个事情之后,我算是明白为什么没人在生产中用软RAID了。

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
5 [报告]
发表于 2008-08-31 22:41 |只看该作者
原帖由 jerrywjl 于 2008-8-31 22:25 发表


这样不行。我试过。

我的方法,将mdadm -As命令写入到/etc/rc.sysinit文件中,位置在450行左右;并且如果系统已经挂载了raid阵列,重建一个initrd.img。



我的系统可以,as的

软raid之所以没应用到生产系统中,是因为raid是靠软件来控制,多少都会影响降低性能,所以根本不适合应用到大型系统

论坛徽章:
0
6 [报告]
发表于 2008-08-31 22:50 |只看该作者
原帖由 cuci 于 2008-8-31 22:41 发表



我的系统可以,as的

软raid之所以没应用到生产系统中,是因为raid是靠软件来控制,多少都会影响降低性能,所以根本不适合应用到大型系统


是吗?我忘说了。我今天做的是RAID10。要有时间你也可以试试。我的环境是4U6。

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
7 [报告]
发表于 2008-08-31 22:54 |只看该作者
我用的as5,回头我再试试,我当时也是测软raid性能偶尔注意到这个问题,没专门研究,改天再试

论坛徽章:
0
8 [报告]
发表于 2008-08-31 22:59 |只看该作者
原帖由 jerrywjl 于 2008-8-31 22:25 发表


这样不行。我试过。

我的方法,将mdadm -As命令写入到/etc/rc.sysinit文件中,位置在450行左右;并且如果系统已经挂载了raid阵列,重建一个initrd.img。


现在的问题是mdadm报mdadm.conf中指定的uuid错误,那么这样,即使放到rc.sysinit中不一样报错嘛?(还没有测试,gentoo中没有/etc/rc.sysinit文件,在/sbin/下有一个,估计这个一会改改看)

论坛徽章:
0
9 [报告]
发表于 2008-08-31 23:11 |只看该作者
似乎找到毛病所在了,我再测试一下,不用改rc.sysinit,好像是mdadm本身的错误。我用的mdadm v2.6.4

论坛徽章:
0
10 [报告]
发表于 2008-08-31 23:43 |只看该作者
问题解决:故障出现在mdadm.conf里面,我没有按照cuci 说的使用Mdadm –D –s >>/etc/mdadm.conf来生成mdadm,而是自己通过别的工具生成的。结果出现我写到mdadm.conf文件中的真实内容为:
  1. ARRAY /dev/md0 uuid=5e879d1b:5d949625:18f062e0:481959c5\r\n
复制代码

问题就出在最后这个\r\n上,在unix/linux中的换行使用\n(可能用windows习惯了,呵呵)
经看mdadm的源代码,发现分解此行数据的时候是按照空格来分隔的,这样,分解的时候理应分解成
  1. uuid=5e879d1b:5d949625:18f062e0:481959c5
复制代码
的这部分给分解成
  1. uuid=5e879d1b:5d949625:18f062e0:481959c5\r
复制代码
致使在UUID转换成int[4]时发生错误,出现bad uuid的错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP