drbd + lustre + heartbeat 的failover问题请教
想请教个问题。
上次做过一个简单的lustre的测试。
现在要做这个, 准备用drbd + lustre + heartbeat, 因价格的投入问题,不共享式的存储,只能用drbd+heartbeat来实现mds的系统级容灾,做了raid1实现磁盘级的容灾. OSS的机器用的RAID5, 因成本暂不考虑容灾。
drbd, lustre, heartbean, 都是比较复杂的软件, 这个,会不会对后期的维护带来很大的复杂性?并且软件运行的状况, 也有待时间的考验。 有没有在生产环境中三个一起搭配的案例?
另外, 想请教一下,
1. 两台mds(比如mds0,mds1), 下面哪种方案比较合适呢:
A. mds0, mds1使用真实IP, mkfs的时候,使用--failnode参数:
create MDT file system:
- mds0# mkfs.lustre --fsname=cfs --mdt --mgs --failnode=mds1@tcp0 /dev/drbd0
复制代码
create OST file system:
- oss0# mkfs.lustre --fsname=cfs --ost --mgsnode=mds0@tcp0 --mgsnode=mds1@tcp0 /dev/sdb1
复制代码
B. mds0, mds1使用一个虚拟IP(VIP), 通过heatbeat在active的机器上浮动:
create MDT file system:
- mds0# mkfs.lustre --fsname=cfs --mdt --mgs --failnode=VIP@tcp0 /dev/drbd0
复制代码
create OST file system:
- oss0# mkfs.lustre --fsname=cfs --ost --mgsnode=VIP@tcp0 /dev/sdb1
复制代码
2.OST设置时, 使用timeout多少比较合适呢?我使用了如下两个参数:
--param sys.timeout=10 --param failover.mode=failout
3. 如果在(1)中使用的是A, 那么MDS做failover, heartbeat中必须使用STONITH吗?如果primary(mds0)坏了, secondary(mds1)接替了, 然后mds0又起来了, 这时候OST写数据的时联系mds0,发现他不可用(因为如果drbd运行正常,则drbd盘已经挂到mds1上,应该已经从mds0上卸掉了。但。。。但是。。。会不会因为某些原因, 比如火星人入侵,没有卸掉???),则去联系mds1。这时候, mds0变为了备用角色,mds1为primary了。
我理解的对么?
[ 本帖最后由 moxnet 于 2008-3-7 23:26 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用了vip的方式, 可是有一事不明:
为什么mgs上的lustre,不在浮动IP上监听呢?
netstat看到有在0.0.0.0上监听, 可是,比如mgs的eth0的ip为10.0.0.1, 在eth0上加了另一个浮动IP(VIP)10.0.0.3, 当ost配置mgsnode地址为10.0.0.3的时候,ost死活挂不上去,提示没有mgs,而配置为10.0.0.1的时候可以挂上去。
可确认10.0.0.3的地址确实已经绑到eth0上。
复制代码
默认是eth1,在安装的时候你也可以指定吧。我记得是这样的