Git Product home page Git Product logo

openstack-ha-deployment's Introduction

Openstack-HA-Deployment

This Project was based on the two books《Openstack Cluster HA:Deployment and Operation》and 《Openstack Cluster HA:Architecture and Principles》 published by Mechanical Industry Press,before reading this project codes,we suggest to read the books firstly,so you can understand the theory of Height Availability Openstack cluster.

Environment
1.Linux system:centos71 or centos72
2.Openstack release:kilo(RDO)

Introduction of Project
This Project implement Openstack HA deployment based on Pacemaker and HAProxy.To implement Openstack HA production environment,we overcover all components that relative with openstack,including low-level infrastructure components,such as rabbitMQ,HAProxy,mariadb,mongodb,memcached and so on,of course also including top-level Openstack core components,such as nova,neutron,cinder,glance,keystone,ceilometer,horizon and heat.Further more,we implement instance HA based on Pacemaker OCF monitor scripts,it can evacuate your instances on the failure hosts to normal running Nova compute nodes automatically,this function just like vmware FT,so you can do not care your virtual host(instances)any more.

How to do implement
If anyone want to know about the details of this project and How to do implement Openstack HA,please reference the 11st chapter and 12st chapter of the above mentioned book.The chapters describe and tell you how do implement Openstack HA cluster step by step,of course,all scripts used by the book included in this project.Here,we just introduce the main point of Openstack HA deployment.Generally,Openstack cluster software stack consist of infrastructure softwares that are usually open source and top-level components that belong to openstack service projects.As Openstack community statement,the height availability of openstack should be the responsibility of infrastructure software,no openstack itself.Therefore, many vendors height availability solutions adopt the third-party software,such as pacemaker,keepalived and haproxy,and there are two main combinations,it is that pacemaker with haproxy and keepalived with haproxy,however,the HA solution with pacemaker and haproxy is seemly more suitable for production environment,so this project take it as Openstack HA solution.

In this Openstack HA deployment project,Pacemaker was selected as cluster resource management(CRM),HAProxy was selected as load balance,and every openstack service provided by a virtual IP(VIP),in addition,every VIP was treated as Pacemaker resource,and distributed all controller nodes evenly,in this project,there are three controller nodes.

To implement HA for all services,the systemd will not manage height availability services any more,but pacamaker manage those services automatically.The services needed implement height availability include HAproxy ,MariaDB ,mongoDB ,rabbitMQ ,Memcache ,Redis ,Nova,Glance,Cinder,Neutron,Keystone,Heat,Ceilometer.when you finish Openstack HA deploy according to this project,if every step is normal,you will get result as example-result.rst file.

openstack-ha-deployment's People

Contributors

ynwssjx avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.