Open Stack’s capabilities to support High Availability are very limited. If a virtual machine crashes, there is no automatic recovery. Clustering software seems a to be a great workaround to allow redundancy and implement High Availability (HA).
Pacemaker is a scalable cluster resource manager developed by Clusterlabs. Its advantages are:
- Support of many different deployment scenarios
- Monitoring of resources
- Recovery from outtages
According to the OpenStack documentation website the OpenStack HA environment builds on Pacemaker and Corosync. Corosync is Pacemaker’s message layer which is responsible for the distribution of clustering messages. The Pacemaker software uses resource agents that manage different ressources and communicate via Corosync. Corosync is responsible for synchronizing DRBD block devices which are virtual devices layered on top of the machine node devices themselves (like hard-disks etc.). The DRBD block device layer allows clustering of different machine nodes, while Corosync organizes the synchronicity of data in these clusters. Pacemaker resource agents control the DRBD devices via Corosync and are therefore able to organize high availability of machine nodes in an OpenStack environment.
Integration of Pacemaker into OpenStack is a major step towards creating a HA cloud environment. There’s an ongoing evaluation how Pacemaker fits into the MobileCloud environment, but it is obvious that there should be a test procedure to evaluate availability of cloud resources in different integration scenarios. Follow up information on this subject will be posted in a further blog post.
Hi Benn, i am a student and wanted to use some of your work but find it difficult as i cannot use inline citation because i do not know your surname and did not want to use “(blog.zhaw.ch, 2013)”, as using a blog as citation does not look good and can make my work questionable to a reader. Would be great if you could update this blog with your full name so my inline citation would look like “(your surname, 2013)” instead of ‘blog’ then 2013. I know i would still have to include the website name in my references but it can be overlooked in the references and im betting the reader does not read thru all my references.
The first blog post of each author typically leads to the biography including the full name. If you see primary material presented in a blog post, there is in general nothing wrong with citing it under the condition that the reference states that it is not a peer-reviewed publication; similar to citing pre-prints, oral discussions or mere presentations. Suggested citation for this post: Konstantin Benz: Pacemaker: Clusters to allow HA in OpenStack, ICCLab, online: https://blog.zhaw.ch/icclab/pacemaker-clusters-to-allow-ha-in-openstack/, April 2013, unreviewed. Philosophically, you transfer the effort to peer-review and determine the quality of this material to your reader, which may sometimes not be a bad thing.