Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
An High Available Database
for OpenStack Cloud Production
by Pacemaker, Corosync & DRBD
@j3ffyang, Jeffrey Yang, OpenStack...
Technical Objective
●
Database high availability (active - passive)
●
Data persistence (drbd)
●
MySQLd monitored (corosync...
High Level Architecture
DRBD
MySQL
Corosync
Pacemaker
DRBD
MySQL
sync
Compute
Other OpenStack components
Sample Configurations
[root@host10 corosync]# cat corosync.conf
...
totem {
version: 2
token: 10000 # 10 seconds
token_ret...
Demo
●
Captured from a production environment at
one of IBM customers
●
https://www.youtube.com/watch?v=UEln0TUU
aH8
To- do
●
Enhance cookbook for automatic deployment
(DevOps)
●
Move to Galera Cluster for multi- nodes (all
active)
Upcoming SlideShare
Loading in …5
×

An High Available Database for OpenStack Cloud Production by Pacemaker, Corosync & DRBD

703 views

Published on

The video is captured from an OpenStack production environment from an IBM customer.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

An High Available Database for OpenStack Cloud Production by Pacemaker, Corosync & DRBD

  1. 1. An High Available Database for OpenStack Cloud Production by Pacemaker, Corosync & DRBD @j3ffyang, Jeffrey Yang, OpenStack Dev, IBM OpenStack Summit, Atlanta, 2014
  2. 2. Technical Objective ● Database high availability (active - passive) ● Data persistence (drbd) ● MySQLd monitored (corosync) ● IP address floating when failure occurs (pacemaker)
  3. 3. High Level Architecture DRBD MySQL Corosync Pacemaker DRBD MySQL sync Compute Other OpenStack components
  4. 4. Sample Configurations [root@host10 corosync]# cat corosync.conf ... totem { version: 2 token: 10000 # 10 seconds token_retransmits_before_loss_const: 10 secauth: on threads: 0 interface { ringnumber: 0 bindnetaddr:10.10.203.0 mcastaddr: 226.94.1.1 mcastport: 5405 ttl: 1 } } logging { fileline: off to_stderr: no to_logfile: yes to_syslog: yes logfile: /var/log/cluster/corosync.log debug: off timestamp: on logger_subsys { subsys: AMF debug: off } } ... service { ver: 0 name: pacemaker use_mgmtd: yes } [root@host10 corosync]# crm configure edit node host10 attributes standby="off" node host20 attributes standby="off" primitive drbd_mysql ocf:linbit:drbd params drbd_resource="mysql" op monitor interval="29s" role="Master" op monitor interval="31s" role="Slave" primitive fs_mysql ocf:heartbeat:Filesystem params device="/dev/drbd1" directory="/opt/drbd/" fstype="ext4" primitive ip_mysql ocf:heartbeat:IPaddr2 params ip="10.10.203.19" nic="eth3" primitive mysqld lsb:mysqld group mysql fs_mysql ip_mysql mysqld ms ms_drbd_mysql drbd_mysql meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" colocation mysql_on_drbd inf: mysql ms_drbd_mysql:Master order mysql_after_drbd inf: ms_drbd_mysql:promote mysql:start property $id="cib-bootstrap-options" dc-version="1.1.7-6.el6-148fccfd5985c5590cc601123c6c16e966b85d14" cluster-infrastructure="openais" expected-quorum-votes="2" stonith-enabled="false"
  5. 5. Demo ● Captured from a production environment at one of IBM customers ● https://www.youtube.com/watch?v=UEln0TUU aH8
  6. 6. To- do ● Enhance cookbook for automatic deployment (DevOps) ● Move to Galera Cluster for multi- nodes (all active)

×