[求助] 关于集群系统的开发
最近在准备电信级 blade 设备的开发,需要考虑集群, n:m 的冗余+负载均衡集群方案。
由于上层软件当时设计的时候没有考虑集群,使得现在可以用全新的思路来选择集群中间软件。 哪位介绍一下OCF和Saforum的集群标准的详细信息?
对于现成的集群方案,正在调研heartbeat和openais, 不知道对于上层软件来说,如何使用这些中间层软件达到集群的效果?
上层软件代码的改变应该会很大,heartbeat比较大,openais大小比较合适。
对系统的要求:
可靠性在5个9以上,最好能到6个9
tcp failover switch
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
你太客气了,我对CGL和openais是个门外汉.
HP DSPP有HP自己的做的 Debian TE(Teleco Edition) . IA64上的CGL.
MontaVista 有完整的openais 实现和开发工具,不过费用比较高
http://marc.theaimsgroup.com/?l=openais&r=1&w=2 MARC 的searchable openais maillists 存档
good luck
多谢你的信息,CGL的规范我已经研究了很长时间。
对你关于可靠性和可用性的解释非常欣赏。 我一般只说availability. 所以确实分不清楚。
对于SaForum的标准我阅读了一些时间, SaForum确实提供的是物理层,中间层, 应用层的api规范。
您的意思是OCF定义框架,SaForum 仅仅提供api, OCF标准的文档我没有找到,所有有一些疑问。
其实openais不仅实现了saforum的userspace api,他也实现了 AMF CLM CKPT EVT , userspace api, group message interface
我以前对heartbeat确实不了解,刚才看了heartbeat的框架,大概明白和openais的区别了。
多谢版主的回复。
[ 本帖最后由 xiaozhaoz 于 2006-3-29 17:05 编辑 ]
btw:
你提到的heartbeat和openais我怎么总觉得好像有点不太合适.
个人意见,仅供参考.
Hello,
1. Availability , Reliability
可靠性指的是一套系统或元器件或软件组件健康运行的能力
可用性是指一套系统持续对外提供服务的能力.
有一套可靠性较高的元器件组成的硬件组件/软件未必有合格的可用性.
同样,用一些可靠性并不高的硬件组件/软件也能够作出一套可用性比较高的.
追求可靠性的顶峰就是容错机,追求可用性的顶峰就是容灾.
我并非是要故意来讨论概念,只不过这2个方向实在是差别很大,进一步讨论的基础前提是我们在讨论同一个东西.
2. HA cluster , HA , CGL
HA Cluster 是通过多个节点集群的方式来解决可用性的要求
HA 系统是通过硬件,软件设计,在应用层面解决可用性的要求
CGL 的规范包含了 HA 和 HA cluster的重要部分.
3. OCF , SA Forums
OCF定义的是高可用集群的设计定义, 包括 node, group, resource, lock, external interface),熟悉HA集群的对这个不会陌生.
SA Forums 的specification 定义的是高可用系统的API 层的规范.包括硬件接口(HPI),应用软件接口(AIS),系统管理的接口(SMI).
拿CGL规范来看,就可以分清楚两者的区别了.
CGL大概有120多个定义,主要分几个部分.
基础标准: 比如POSIX,SNMP, SCTP等
平台: 定义了阵列,热插拔/添加,故障转移, 还有涉及管理的IPMI(很多现在的服务器都开始提供IPMI了), SA Forum定义的 HPI规范, SMI规范就被CGL在这里引用了很多. 包括对温度,风扇等控制
另外在这里还定义了故障隔离,网络终端的操作,引导周期中的检测.
可用性: 这里定义的实际上是我在上面 2里面提到的 HA系统. 比如从硬件的内存容错,ECC,动态调整,系统的event log, 还有linux操作系统的kernel monitoring, NFS failover, 等等
为了清晰化标准,CGL WG把 高可用集群单独列出去了.
可服务性: 主要是精细定义SNMP和CIMOM (用SLES的朋友看得到这个packge)
可扩展性: 定义了CGL支持大量并发异步事件的扩展能力。Linux kernel的软件real time定义也在这里被扩展定义.主要是电信环境的要求所驱动的. 这部分的附加内容也添加到了cluster的章节
性能: cpu, VM, scheduling, I/O , soft real time等系统组成的性能定义要求在这里规范
工具集: 定义为CGL环境需要采用的debugger
Cluster: 定义CGL的高可用集群规范,应用了OCF和SA forums关于集群和节点的部分规范.
安全: CGL环境的安全,比如IKE, PKI, LSM之类的.
OCF定义了可用性集群规范, SA Forum 定义的是硬件软件架构设计的接口规范,这种规范是用来满足服务可用性要求的.
上面信息仅供参考.
[ 本帖最后由 nntp 于 2006-3-29 15:21 编辑 ]
对不起,我一般把Availability 翻译成可靠性,可能按您说得翻译成可用性比较合适。 不过电信设备中,没看到说reliability的。所以就把Availability 翻译成可靠性。
我也知道 Availability 不能只靠Cluster来实现。Cluster是我们提高服务可靠性的一个方法。
我不是第一次作能达到5个9以上的系统了,但我确实是第一次作M:N的cluster.
我的问题里面描述了,我希望找一个现有的cluster方案,配合一定的硬件,并在上面作软件开发,包括修改cluster的实现等。我只是想知道,OCF和SaForum的标准有哪些差别, 他们的应用情况如何。
初来此地,请包涵。
多谢您的回复。
[ 本帖最后由 xiaozhaoz 于 2006-3-29 13:43 编辑 ]
6个9, 嘿嘿.
同学先把可用性和可靠性搞清楚,然后把可用性定义搞清楚,这些非常关键的基本常识都不清楚就谈开发?
6个9意味着什么? 要是找2个现成的集群然间修改一下就跑到6个9,还要 non-stop和vms干吗?
:")