- 论坛徽章:
- 0
|
想请教个问题。
上次做过一个简单的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 编辑 ] |
|