Comparison between 2 HA solutions
Sloutin 1 | Slution 2 | |
---|---|---|
Compare Item | SUSE LINUX HA EXTENSION | KeepAlived |
Components | HeartBeat(openais)+corosync2+pacemaker+ldirectord | KeepAlived,very light-weight |
Usage | General Linux HA solution,support a lot of other resources | VRRP + LVS + HealthChecker |
License | All components are open sourcing,but the product is commercial[1] | GPL |
Installation | Provided in suse repository,name is “ha\_sles” | make and run |
Configuration management | Plain text/GUI(yast2 cluter,yast2 iplb) | plain text |
Runtime | A Group of processes | 1 parent process,2 child(can be enabled/disabled by configuration) |
Configuration files | Each component owns 1 configuration ,can be managed by gui tools | 1 file,all in 1,more readable,like DSL |
Monitoring | Embeded tools from SUSE linux HA extension | keepalived embeded mail function or together with nagios |
Support mode | Active/stand\_by active/active? | active/active[2] [3] active/stand\_by etc,very flexible |
Solution to split brain | Stonith device | by “priority” configuration |
Connection tracking sync | Shell script to switch between master and backup state? | by configuration “lvs\_sync\_daemon\_inteface eth0” |
Handy feature | Reuse of defined heatbeat resoure | 1.add del ip or route on change to MASTER,to BACKUP. 2.define static ip and routes. |
Advance feature | Not direct and intuitive enough to archive | 1.virtual service group support very large lvss. 2.fail over by lvs services group. |
Customization | Write OCF Resource Agent [4] | 1.real node health check script. 2.track script for cluster node. 3.dynamiclly adjust weight by customized script |
Performance | ldirectord is writeen in perl,fail over might be slower | Written in c,it’s architecture results in instant failover |
[1]http://www.suse.com/zh-cn/products/highavailability/how-to-buy/ [2]http://archive.linuxvirtualserver.org/html/lvs-users/2010-01/msg00052.html [3]http://www.ultramonkey.org/papers/active_active/active_active.shtml [4]http://www.linux-ha.org/doc/dev-guides/ra-dev-guide.html