SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
HA for OpenStack:
Connecting the dots
Raghavan “Rags” Srinivas
Rackspace

OpenStack Meetup,
Boston on Feb. 19th 2014
Rags
• 
• 
• 

Solutions Architect at Rackspace for OpenStack-based Rackspace Private Cloud
Speaker at JavaOne, RSA conferences, Sun Tech Days, JUGs and other
developer conferences
Trying to help make OpenStack more App Developer friendly
Agenda	

What is HA?
HA of OpenStack APIs
HA of RabbitMQ
MySQL HA
A Peek into HA Methods
Resources and Summary
OpenStack Design Tenets
•  Scalability and elasticity are our main goals
•  Any feature that limits our main goals must be optional
•  Everything should be asynchronous
–  a) If you can't do something asynchronously, see #2

•  All required components must be horizontally scalable
•  Always use shared nothing architecture (SN) or sharding
–  a) If you can't Share nothing/shard, see #2

•  Distribute everything
–  a) Especially logic. Move logic to where state naturally exists.

•  Accept eventual consistency and use it where it is appropriate.
•  Test everything
RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

4
What is HA?
• 
• 
• 

Minimization of system downtime
Minimization of data/transaction loss
In case of multiple (or interrelated)
failures, minimization of data loss is
preferred over minimization of system
downtime

HA as Nines

Downtime/Year

99% (two nines)

3.65 days

99.9%

8.76 hours

99.99%

52.56 minutes

99.999%

5.26 minutes

99.9999% (six nines) 31.5 seconds
Implementing HA
•  Elimination of Single Point of Failure (SPOFs)
•  Redundancy of network components such as switchers and routers
•  Redundancy of applications and automatic service migrations
•  Redundancy of storage components
•  Redundancy of facilities services such as power, AC, etc.
Components (High Level)
Client
VIP
NODE 1

NODE 2

Replication Services

Replication Services

Health Check

Health Check

Cluster Communication

Cluster Communication
Concepts
State

Description

• There is no dependency between requests
Stateless

• No need for data replication/synchronization.
Failed request may need to be restarted on a
different node.

Example

Apache web server,
Nova API, Nova
Scheduler, etc.

• An action typically comprises multiple requests
Stateful

• Data needs to be replicated and synchronized
between redundant services (to preserve state
and consistency)

MySQL, RabbitMQ,
etc.
More Concepts
Terminology

Description

Failover

Migration of a service from the “primary” to the
“secondary”

Failback

Migration of service back to the “primary”

Switchover

Migration is initiated manually
Much more concepts
Active/Passive

Active/Active

o  There is a single master

o  Multiple masters

o  Load balance stateless services using a VIP and a
load balancer such as HAProxy

o  Load balance stateless services using a VIP and a
load balancer such as HAProxy

o  For Stateful services a replacement resource can be
brought online. A separate application monitors these
services, bringing the backup online as necessary

o  Stateful Services are managed in such a way that
services are redundant, and that all instances have
an identical state

o  After a failover the system will encounter a speed
bump since the passive node has to notice the fault
in the active node and become active

o  Updates to one instance of database would
propagate to all other instances
o  After a failover the system will function in a
degraded state
HA for OpenStack
•  OpenStack APIs (nova, cinder, etc.)
•  RabbitMQ
•  MySQL
•  Cinder, Swift, and so on
•  Heat (still Work in Progress)
•  Application running on OpenStack (Application
dependent)
Agenda	

What is HA?
HA of OpenStack APIs
HA of RabbitMQ
MySQL HA
A Peek into HA Methods
Resources and Summary
HA on OpenStack
• 

Overall Philosophy (Don’t reinvent the wheel)

• 
• 
• 

Leverage time-tested Linux utilities such as Keepalived, HAProxy and Virtual IP
(using VRRP)
Leverage Hardware Load Balancers
Leverage replication services for RabbitMQ/MySQL such as RabbitMQ
Clustering, MySQL master-master replication, Corosync, Pacemaker, DRBD,
Galera and so on
Keepalived
• 
• 
• 

Based on Linux Virtual Server (IPVS) kernel module providing layer 4 Load
Balancing
Implements a set of checkers to maintain health and Load Balancing
HA is implemented using VRRP Protocol

1 vrrp_script rabbitmq {!
script “usr/sbin/service
2
interval 5
3
weight -2
4
rise 2
5
fall -2
6
}!
7

rabbitmq-server status" # Check the service status!
# check every 5 seconds!
# adjust priority by -2 if OK!
# required number of failures for KO switch!
# required number of successes for OK switch!
HAProxy
• Load Balancing and Proxying for HTTP and TCP
Applications

• Works over multiple connections
HA with Keepalived, VRRP &
HAProxy
Application
VRRP

Network Layer

Host1
HAProxy

Application Layer

Realserver1

Host2
Keepalived

Backup

Realserver2
HA on Rackspace Private
Cloud
INTERNET

Controller 1

VIP(Keepalived, VRRP)
HAProxy

Active-Passive Infrastructure services
(MySQL, Rabbit)
Active-Active Infrastructure services
(API services)

Heartbeat

Compute Node 1 Compute Node 2

VMs Instantiated

Controller 2

Redundant Active-Passive
Infrastructure services
Redundant Active-Active
Infrastructure services
Compute Node N
HA on Rackspace Private
Cloud (switchover)
INTERNET
VIP(HAProxy)
Controller 2

Controller 1
Active-Passive Infrastructure services
(MySQL, Rabbit)

Heartbeat

Compute Node 1 Compute Node 2

VMs Instantiated

Infrastructure services

Compute Node N
Agenda	

What is HA?
HA of OpenStack APIs
HA of RabbitMQ
MySQL HA
A Peek into HA Methods
Resources and Summary
RabbitMQ HA Options
•  Health Check without Clustering
•  Clustering without Health Check
•  Health Check and Clustering
RabbitMQ HA

Ethernet
VRID 13
192.168.236.199
Master (Active)
Controller 1
VRID 13
IP address:
192.168.236.11

Backup (Passive)

RabbitMQ

RabbitMQ
RabbitMQ Clustering	


Controller 2
VRID 13
IP address:
192.168.236.12
Agenda	

What is HA?
HA of OpenStack APIs
HA of RabbitMQ
MySQL HA
A Peek into HA Methods
Resources and Summary
MYSQL HA: MASTER/MASTER REPLICATION
MySQL – Master/Master
Replication

Ethernet
VRID 12
192.168.236.198
Master (Active)

Backup (Passive)

MySQL
Controller 1
VRID 12
IP address: 192.168.236.11

MySQL
Master/Master	


Controller 2
VRID 12
IP address:
192.168.236.12
MySQL – Master/Master
Replication simplified
MYSQL HA: COROSYNC, PACEMAKER AND DRBD
Pacemaker, Corosync and DRBD

Image from: http://dev.mysql.com/doc/refman/5.0/en/ha-drbd.html"

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

27
Pacemaker, Corosync,
DRBD
Pacemaker

Corosync

DRBD

High availability and load
balancing stack for the Linux
platform

Totem single-ring ordering and
membership protocol

Synchronizes data at the
block device

Interacts with applications
through Resource Agents (RA)

UDP and InfiniBand based
messaging, quorum, and
cluster membership to
Pacemaker

Uses a journaling system
(such as ext3 or ext4)
DRBD
Service

Service

FILE SYSTEM

FILE SYSTEM

BUFFER CACHE

BUFFER CACHE

DRBD

RAW DEVICE

RAW DEVICE

TCP/IP

TCP/IP

DISK SCHED

DRBD

DISK SCHED

DISK DRIVER

NIC DRIVER

NIC DRIVER

DISK DRIVER

DISK

NIC

NIC

DISK
MYSQL HA: GALERA
Galera
CLIENTS

•  Synchronous multi-master cluster
technology for MySQL/InnoDB
•  MySQL patched for wsrep (Write Set
REPlication)

Transparent

Connections

•  Active/active multi-master topology
•  Read and write to any cluster node

DBMS

DBMS

DBMS

•  True parallel replication, in row level

wsrep API

wsrep API

wsrep API

•  No slave lag or integrity issues

Galera Replication
Multi-master replication
•  Based on Optimistic Concurrency Control
•  In case of two transactions modifying the same row on different nodes, one of
the transactions will abort
•  Victim transaction will get Deadlock Error
•  Application needs to handle this error
Multi-master Replication

read & write

read & write

MySQL

read & write

Multi-master cluster looks
like one big database with
multiple entry points
Multi-master conflicts

write

write

MySQL

MySQL

GALERA REPLICATION

MySQL
Multi-master conflicts

write

write

MySQL

MySQL

GALERA REPLICATION

MySQL

Conflict detected
Multi-master conflicts

write

OK

MySQL

MySQL

GALERA REPLICATION

MySQL

Deadlock
error
OpenStack and Galera

Image from http://www.severalnines.com/blog/clustering-mysql-backendopenstack"
Galera on Rackspace Private
Cloud/OpenStack
A How To: OFFICIALLY UNSUPPORTED
1.  Install Rackspace Private Cloud on 2 controllers with HA mode (Haproxy, Keepalived
and VRRP is already installed)
2.  Install Galera (with ws-rep) on 3 separate nodes
3.  Mysqldump from controller nodes to Galera node
4.  Grant privileges to OpenStack (nova, glance, etc.) and haproxy users
5.  Update keepalived and haproxy and OpenStack configuration files on controller/compute
6.  Stop/Uninstall MySQL services on controller nodes and restart controller nodes
Agenda	

What is HA?
HA of OpenStack APIs
HA of RabbitMQ
MySQL HA
A Peek into HA Methods
Resources and Summary
A PEEK INTO HA METHODS
HA methods
Vendor

Clustering/Replication
Technique

Rackspace

Keepalived, HAProxy,
VRRP, native clustering

Red Hat

Pacemaker, Corosync,
DRBD

Cisco

Keepalived, HAProxy,
Galera for MySQL

HP

Microsoft Windows based
installation with Hyper-V

Characteristics

•  Automatic install on 2 controller nodes
via Chef recipes

•  Manual installation. Fewer components
to install

•  Manual install, at least 3 controller
nodes

•  MS SQL server and other Windowsbased methods
HA on the Public Cloud
Agenda	

What is HA?
HA of OpenStack APIs
HA of RabbitMQ
MySQL HA
A Peek into HA Methods
Resources and Summary
HA methods
Infrastructure

Clustering/Replication
Technique

Characteristics

None required (Stateless)

•  HA also serves as scale out using

RabbitMQ Clustering

•  RabbitMQ Clustering is setup for single/

Heat

TBD

•  Application Dependent (No standard

MySQL

Many

•  Discussed later slide

OpenStack APIs

RabbitMQ

HAProxy

multiple nodes

methods yet).
HA methods for MySQL
Clustering Method

Replication Technique

Pacemaker/Corosync/DRBD Mirroring on Block Devices

Keepalived/HAProxy/VRRP

Works on MySQL master-master
replication

Characteristics

•  Well tested, more complex to setup.
•  Split brain possibility
•  Simple to implement and understand.
•  Works for any storage system.
•  Master-master replication does not work
beyond 2 nodes.

Galera

Based on write-set Replication
(wsrep)

Others

MySQL Cluster, RHCS with DAS/
SAN Storage

•  No Slave lag
•  Needs at least 3 nodes
•  Deadlock erros on hotspot rows.
•  Relatively new
•  Some relatively new (GTID)
•  Some well test
•  More complex setup
Resources
• 

OpenStack HA guide

• 
• 
• 

http://docs.openstack.org/high-availability-guide/content/ch-intro.html
https://wiki.ubuntu.com/ServerTeam/OpenStackHA

Other Resources

• 

http://www.rackspace.com/blog/implementing-high-availability-ha-for-rackspace-private-cloud/

• 

http://www.rackspace.com/blog/high-availability-ha-with-galera-for-rackspace-private-cloud/https://www.hastexo.com/

• 

http://www.mysql.com/why-mysql/white-papers/mysql-high-availability-drbd-configuration-deployment-guide/

• 

http://docwiki.cisco.com/wiki/OpenStack_Havana_Release:_High-Availability_Manual_Deployment_Guide

• 

http://www.drbd.org/

• 

http://www.codership.com/

• 

http://www.severalnines.com/blog/clustering-mysql-backend-openstack

• 

https://wiki.openstack.org/wiki/BasicDesignTenets

• 

http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf
Book
Summary
• 

In general leverage existing methods of HA

• 

There are several time-tested and more recent methods for implementing MySQL HA.

• 

Rackspace Private Cloud provides Chef cookbooks and recipes for implementing HA via Keepalived,
HAProxy and VRRP.

• 

Galera is gaining more popularity. Since it’s Active/Active it does scale out and is HA.

• 

Few steps to get from Rackspace Private Cloud to MySQL with Galera (officially unsupported).

• 

Corosync/Pacemaker/DRBD is recommended by Oracle/MySQL.

• 

OpenStack HA guide goes through all these options in more detail.
Thank you!
Raghavan “Rags” Srinivas
Solutions Architect
Rackspace

Más contenido relacionado

La actualidad más candente

Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Weaveworks
 
Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022
Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022
Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022HostedbyConfluent
 
Issues of OpenStack multi-region mode
Issues of OpenStack multi-region modeIssues of OpenStack multi-region mode
Issues of OpenStack multi-region modeJoe Huang
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingJoe Huang
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaJiangjie Qin
 
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018Will Huang
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerShu Sugimoto
 
eBPF - Observability In Deep
eBPF - Observability In DeepeBPF - Observability In Deep
eBPF - Observability In DeepMydbops
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Kai Wähner
 
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...HostedbyConfluent
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Vietnam Open Infrastructure User Group
 
Using eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumUsing eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumScyllaDB
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기Ian Choi
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
 
Hive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveHive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveDataWorks Summit
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Vietnam Open Infrastructure User Group
 

La actualidad más candente (20)

Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
 
Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022
Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022
Introducing KRaft: Kafka Without Zookeeper With Colin McCabe | Current 2022
 
Issues of OpenStack multi-region mode
Issues of OpenStack multi-region modeIssues of OpenStack multi-region mode
Issues of OpenStack multi-region mode
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache Kafka
 
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
eBPF - Observability In Deep
eBPF - Observability In DeepeBPF - Observability In Deep
eBPF - Observability In Deep
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
 
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
 
Open shift 4-update
Open shift 4-updateOpen shift 4-update
Open shift 4-update
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
 
kafka
kafkakafka
kafka
 
Using eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in CiliumUsing eBPF for High-Performance Networking in Cilium
Using eBPF for High-Performance Networking in Cilium
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
Hive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveHive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep Dive
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
 

Similar a High Availability for OpenStack

Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kiloSteven Li
 
Openstack HA
Openstack HAOpenstack HA
Openstack HAYong Luo
 
Building Distributed Systems in Scala
Building Distributed Systems in ScalaBuilding Distributed Systems in Scala
Building Distributed Systems in ScalaAlex Payne
 
OpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part IOpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part IBehnam Loghmani
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)Flowdock
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)Kai Wähner
 
Scalable Persistent Storage for Erlang: Theory and Practice
Scalable Persistent Storage for Erlang: Theory and PracticeScalable Persistent Storage for Erlang: Theory and Practice
Scalable Persistent Storage for Erlang: Theory and PracticeAmir Ghaffari
 
Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsAfkham Azeez
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStackTesora
 
How To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesHow To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesSeveralnines
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High AvailabilityMariaDB plc
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
Openstackha 130925132534-phpapp02
Openstackha 130925132534-phpapp02Openstackha 130925132534-phpapp02
Openstackha 130925132534-phpapp02Deepak Mane
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefMatt Ray
 

Similar a High Availability for OpenStack (20)

Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
Openstack HA
Openstack HAOpenstack HA
Openstack HA
 
Building Distributed Systems in Scala
Building Distributed Systems in ScalaBuilding Distributed Systems in Scala
Building Distributed Systems in Scala
 
OpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part IOpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part I
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
 
Scalable Persistent Storage for Erlang: Theory and Practice
Scalable Persistent Storage for Erlang: Theory and PracticeScalable Persistent Storage for Erlang: Theory and Practice
Scalable Persistent Storage for Erlang: Theory and Practice
 
Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable Apps
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
 
How To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesHow To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - Slides
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
 
MySQL on Ceph
MySQL on CephMySQL on Ceph
MySQL on Ceph
 
My SQL on Ceph
My SQL on CephMy SQL on Ceph
My SQL on Ceph
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High Availability
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
Openstackha 130925132534-phpapp02
Openstackha 130925132534-phpapp02Openstackha 130925132534-phpapp02
Openstackha 130925132534-phpapp02
 
OpenStack HA
OpenStack HAOpenStack HA
OpenStack HA
 
MySQL Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
 

Más de Kamesh Pemmaraju

OpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgridOpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgridKamesh Pemmaraju
 
Mirantis OpenStack and Cumulus Linux Webinar
Mirantis OpenStack and Cumulus Linux WebinarMirantis OpenStack and Cumulus Linux Webinar
Mirantis OpenStack and Cumulus Linux WebinarKamesh Pemmaraju
 
Designing OpenStack Architectures
Designing OpenStack ArchitecturesDesigning OpenStack Architectures
Designing OpenStack ArchitecturesKamesh Pemmaraju
 
Open stack icehouse microsoftupdate
Open stack icehouse microsoftupdateOpen stack icehouse microsoftupdate
Open stack icehouse microsoftupdateKamesh Pemmaraju
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesKamesh Pemmaraju
 
OpenStack and Ceph case study at the University of Alabama
OpenStack and Ceph case study at the University of AlabamaOpenStack and Ceph case study at the University of Alabama
OpenStack and Ceph case study at the University of AlabamaKamesh Pemmaraju
 
Dell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deploymentDell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deploymentKamesh Pemmaraju
 
Whats new in neutron for open stack havana
Whats new in neutron for open stack havanaWhats new in neutron for open stack havana
Whats new in neutron for open stack havanaKamesh Pemmaraju
 
Postgres Plus Cloud Database on OpenStack
Postgres Plus Cloud Database on OpenStackPostgres Plus Cloud Database on OpenStack
Postgres Plus Cloud Database on OpenStackKamesh Pemmaraju
 
Massachusetts Open Cloud Initiative
Massachusetts Open Cloud InitiativeMassachusetts Open Cloud Initiative
Massachusetts Open Cloud InitiativeKamesh Pemmaraju
 
Dell SUSE Cloud Solution, Powered by OpenStack
Dell SUSE Cloud Solution, Powered by OpenStackDell SUSE Cloud Solution, Powered by OpenStack
Dell SUSE Cloud Solution, Powered by OpenStackKamesh Pemmaraju
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
Ceph and openstack at the boston meetup
Ceph and openstack at the boston meetupCeph and openstack at the boston meetup
Ceph and openstack at the boston meetupKamesh Pemmaraju
 
Solving Business Challenges with OpenStack
Solving Business Challenges with OpenStackSolving Business Challenges with OpenStack
Solving Business Challenges with OpenStackKamesh Pemmaraju
 
Software Defined Networking
Software Defined Networking Software Defined Networking
Software Defined Networking Kamesh Pemmaraju
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarKamesh Pemmaraju
 

Más de Kamesh Pemmaraju (20)

kamesh Videos
kamesh Videoskamesh Videos
kamesh Videos
 
OpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgridOpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgrid
 
Mirantis OpenStack and Cumulus Linux Webinar
Mirantis OpenStack and Cumulus Linux WebinarMirantis OpenStack and Cumulus Linux Webinar
Mirantis OpenStack and Cumulus Linux Webinar
 
Designing OpenStack Architectures
Designing OpenStack ArchitecturesDesigning OpenStack Architectures
Designing OpenStack Architectures
 
Open stack icehouse microsoftupdate
Open stack icehouse microsoftupdateOpen stack icehouse microsoftupdate
Open stack icehouse microsoftupdate
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference Architectures
 
OpenStack and Ceph case study at the University of Alabama
OpenStack and Ceph case study at the University of AlabamaOpenStack and Ceph case study at the University of Alabama
OpenStack and Ceph case study at the University of Alabama
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
Dell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deploymentDell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deployment
 
Whats new in neutron for open stack havana
Whats new in neutron for open stack havanaWhats new in neutron for open stack havana
Whats new in neutron for open stack havana
 
Postgres Plus Cloud Database on OpenStack
Postgres Plus Cloud Database on OpenStackPostgres Plus Cloud Database on OpenStack
Postgres Plus Cloud Database on OpenStack
 
Massachusetts Open Cloud Initiative
Massachusetts Open Cloud InitiativeMassachusetts Open Cloud Initiative
Massachusetts Open Cloud Initiative
 
Dell SUSE Cloud Solution, Powered by OpenStack
Dell SUSE Cloud Solution, Powered by OpenStackDell SUSE Cloud Solution, Powered by OpenStack
Dell SUSE Cloud Solution, Powered by OpenStack
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
Ceph and openstack at the boston meetup
Ceph and openstack at the boston meetupCeph and openstack at the boston meetup
Ceph and openstack at the boston meetup
 
Solving Business Challenges with OpenStack
Solving Business Challenges with OpenStackSolving Business Challenges with OpenStack
Solving Business Challenges with OpenStack
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
Software Defined Networking
Software Defined Networking Software Defined Networking
Software Defined Networking
 
Open stack qa and tempest
Open stack qa and tempestOpen stack qa and tempest
Open stack qa and tempest
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
 

Último

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

High Availability for OpenStack

  • 1. HA for OpenStack: Connecting the dots Raghavan “Rags” Srinivas Rackspace OpenStack Meetup, Boston on Feb. 19th 2014
  • 2. Rags •  •  •  Solutions Architect at Rackspace for OpenStack-based Rackspace Private Cloud Speaker at JavaOne, RSA conferences, Sun Tech Days, JUGs and other developer conferences Trying to help make OpenStack more App Developer friendly
  • 3. Agenda What is HA? HA of OpenStack APIs HA of RabbitMQ MySQL HA A Peek into HA Methods Resources and Summary
  • 4. OpenStack Design Tenets •  Scalability and elasticity are our main goals •  Any feature that limits our main goals must be optional •  Everything should be asynchronous –  a) If you can't do something asynchronously, see #2 •  All required components must be horizontally scalable •  Always use shared nothing architecture (SN) or sharding –  a) If you can't Share nothing/shard, see #2 •  Distribute everything –  a) Especially logic. Move logic to where state naturally exists. •  Accept eventual consistency and use it where it is appropriate. •  Test everything RACKSPACE® HOSTING | WWW.RACKSPACE.COM 4
  • 5. What is HA? •  •  •  Minimization of system downtime Minimization of data/transaction loss In case of multiple (or interrelated) failures, minimization of data loss is preferred over minimization of system downtime HA as Nines Downtime/Year 99% (two nines) 3.65 days 99.9% 8.76 hours 99.99% 52.56 minutes 99.999% 5.26 minutes 99.9999% (six nines) 31.5 seconds
  • 6. Implementing HA •  Elimination of Single Point of Failure (SPOFs) •  Redundancy of network components such as switchers and routers •  Redundancy of applications and automatic service migrations •  Redundancy of storage components •  Redundancy of facilities services such as power, AC, etc.
  • 7. Components (High Level) Client VIP NODE 1 NODE 2 Replication Services Replication Services Health Check Health Check Cluster Communication Cluster Communication
  • 8. Concepts State Description • There is no dependency between requests Stateless • No need for data replication/synchronization. Failed request may need to be restarted on a different node. Example Apache web server, Nova API, Nova Scheduler, etc. • An action typically comprises multiple requests Stateful • Data needs to be replicated and synchronized between redundant services (to preserve state and consistency) MySQL, RabbitMQ, etc.
  • 9. More Concepts Terminology Description Failover Migration of a service from the “primary” to the “secondary” Failback Migration of service back to the “primary” Switchover Migration is initiated manually
  • 10. Much more concepts Active/Passive Active/Active o  There is a single master o  Multiple masters o  Load balance stateless services using a VIP and a load balancer such as HAProxy o  Load balance stateless services using a VIP and a load balancer such as HAProxy o  For Stateful services a replacement resource can be brought online. A separate application monitors these services, bringing the backup online as necessary o  Stateful Services are managed in such a way that services are redundant, and that all instances have an identical state o  After a failover the system will encounter a speed bump since the passive node has to notice the fault in the active node and become active o  Updates to one instance of database would propagate to all other instances o  After a failover the system will function in a degraded state
  • 11. HA for OpenStack •  OpenStack APIs (nova, cinder, etc.) •  RabbitMQ •  MySQL •  Cinder, Swift, and so on •  Heat (still Work in Progress) •  Application running on OpenStack (Application dependent)
  • 12. Agenda What is HA? HA of OpenStack APIs HA of RabbitMQ MySQL HA A Peek into HA Methods Resources and Summary
  • 13. HA on OpenStack •  Overall Philosophy (Don’t reinvent the wheel) •  •  •  Leverage time-tested Linux utilities such as Keepalived, HAProxy and Virtual IP (using VRRP) Leverage Hardware Load Balancers Leverage replication services for RabbitMQ/MySQL such as RabbitMQ Clustering, MySQL master-master replication, Corosync, Pacemaker, DRBD, Galera and so on
  • 14. Keepalived •  •  •  Based on Linux Virtual Server (IPVS) kernel module providing layer 4 Load Balancing Implements a set of checkers to maintain health and Load Balancing HA is implemented using VRRP Protocol 1 vrrp_script rabbitmq {! script “usr/sbin/service 2 interval 5 3 weight -2 4 rise 2 5 fall -2 6 }! 7 rabbitmq-server status" # Check the service status! # check every 5 seconds! # adjust priority by -2 if OK! # required number of failures for KO switch! # required number of successes for OK switch!
  • 15. HAProxy • Load Balancing and Proxying for HTTP and TCP Applications • Works over multiple connections
  • 16. HA with Keepalived, VRRP & HAProxy Application VRRP Network Layer Host1 HAProxy Application Layer Realserver1 Host2 Keepalived Backup Realserver2
  • 17. HA on Rackspace Private Cloud INTERNET Controller 1 VIP(Keepalived, VRRP) HAProxy Active-Passive Infrastructure services (MySQL, Rabbit) Active-Active Infrastructure services (API services) Heartbeat Compute Node 1 Compute Node 2 VMs Instantiated Controller 2 Redundant Active-Passive Infrastructure services Redundant Active-Active Infrastructure services Compute Node N
  • 18. HA on Rackspace Private Cloud (switchover) INTERNET VIP(HAProxy) Controller 2 Controller 1 Active-Passive Infrastructure services (MySQL, Rabbit) Heartbeat Compute Node 1 Compute Node 2 VMs Instantiated Infrastructure services Compute Node N
  • 19. Agenda What is HA? HA of OpenStack APIs HA of RabbitMQ MySQL HA A Peek into HA Methods Resources and Summary
  • 20. RabbitMQ HA Options •  Health Check without Clustering •  Clustering without Health Check •  Health Check and Clustering
  • 21. RabbitMQ HA Ethernet VRID 13 192.168.236.199 Master (Active) Controller 1 VRID 13 IP address: 192.168.236.11 Backup (Passive) RabbitMQ RabbitMQ RabbitMQ Clustering Controller 2 VRID 13 IP address: 192.168.236.12
  • 22. Agenda What is HA? HA of OpenStack APIs HA of RabbitMQ MySQL HA A Peek into HA Methods Resources and Summary
  • 23. MYSQL HA: MASTER/MASTER REPLICATION
  • 24. MySQL – Master/Master Replication Ethernet VRID 12 192.168.236.198 Master (Active) Backup (Passive) MySQL Controller 1 VRID 12 IP address: 192.168.236.11 MySQL Master/Master Controller 2 VRID 12 IP address: 192.168.236.12
  • 26. MYSQL HA: COROSYNC, PACEMAKER AND DRBD
  • 27. Pacemaker, Corosync and DRBD Image from: http://dev.mysql.com/doc/refman/5.0/en/ha-drbd.html" RACKSPACE® HOSTING | WWW.RACKSPACE.COM 27
  • 28. Pacemaker, Corosync, DRBD Pacemaker Corosync DRBD High availability and load balancing stack for the Linux platform Totem single-ring ordering and membership protocol Synchronizes data at the block device Interacts with applications through Resource Agents (RA) UDP and InfiniBand based messaging, quorum, and cluster membership to Pacemaker Uses a journaling system (such as ext3 or ext4)
  • 29. DRBD Service Service FILE SYSTEM FILE SYSTEM BUFFER CACHE BUFFER CACHE DRBD RAW DEVICE RAW DEVICE TCP/IP TCP/IP DISK SCHED DRBD DISK SCHED DISK DRIVER NIC DRIVER NIC DRIVER DISK DRIVER DISK NIC NIC DISK
  • 31. Galera CLIENTS •  Synchronous multi-master cluster technology for MySQL/InnoDB •  MySQL patched for wsrep (Write Set REPlication) Transparent Connections •  Active/active multi-master topology •  Read and write to any cluster node DBMS DBMS DBMS •  True parallel replication, in row level wsrep API wsrep API wsrep API •  No slave lag or integrity issues Galera Replication
  • 32. Multi-master replication •  Based on Optimistic Concurrency Control •  In case of two transactions modifying the same row on different nodes, one of the transactions will abort •  Victim transaction will get Deadlock Error •  Application needs to handle this error
  • 33. Multi-master Replication read & write read & write MySQL read & write Multi-master cluster looks like one big database with multiple entry points
  • 37. OpenStack and Galera Image from http://www.severalnines.com/blog/clustering-mysql-backendopenstack"
  • 38. Galera on Rackspace Private Cloud/OpenStack A How To: OFFICIALLY UNSUPPORTED 1.  Install Rackspace Private Cloud on 2 controllers with HA mode (Haproxy, Keepalived and VRRP is already installed) 2.  Install Galera (with ws-rep) on 3 separate nodes 3.  Mysqldump from controller nodes to Galera node 4.  Grant privileges to OpenStack (nova, glance, etc.) and haproxy users 5.  Update keepalived and haproxy and OpenStack configuration files on controller/compute 6.  Stop/Uninstall MySQL services on controller nodes and restart controller nodes
  • 39. Agenda What is HA? HA of OpenStack APIs HA of RabbitMQ MySQL HA A Peek into HA Methods Resources and Summary
  • 40. A PEEK INTO HA METHODS
  • 41. HA methods Vendor Clustering/Replication Technique Rackspace Keepalived, HAProxy, VRRP, native clustering Red Hat Pacemaker, Corosync, DRBD Cisco Keepalived, HAProxy, Galera for MySQL HP Microsoft Windows based installation with Hyper-V Characteristics •  Automatic install on 2 controller nodes via Chef recipes •  Manual installation. Fewer components to install •  Manual install, at least 3 controller nodes •  MS SQL server and other Windowsbased methods
  • 42. HA on the Public Cloud
  • 43. Agenda What is HA? HA of OpenStack APIs HA of RabbitMQ MySQL HA A Peek into HA Methods Resources and Summary
  • 44. HA methods Infrastructure Clustering/Replication Technique Characteristics None required (Stateless) •  HA also serves as scale out using RabbitMQ Clustering •  RabbitMQ Clustering is setup for single/ Heat TBD •  Application Dependent (No standard MySQL Many •  Discussed later slide OpenStack APIs RabbitMQ HAProxy multiple nodes methods yet).
  • 45. HA methods for MySQL Clustering Method Replication Technique Pacemaker/Corosync/DRBD Mirroring on Block Devices Keepalived/HAProxy/VRRP Works on MySQL master-master replication Characteristics •  Well tested, more complex to setup. •  Split brain possibility •  Simple to implement and understand. •  Works for any storage system. •  Master-master replication does not work beyond 2 nodes. Galera Based on write-set Replication (wsrep) Others MySQL Cluster, RHCS with DAS/ SAN Storage •  No Slave lag •  Needs at least 3 nodes •  Deadlock erros on hotspot rows. •  Relatively new •  Some relatively new (GTID) •  Some well test •  More complex setup
  • 46. Resources •  OpenStack HA guide •  •  •  http://docs.openstack.org/high-availability-guide/content/ch-intro.html https://wiki.ubuntu.com/ServerTeam/OpenStackHA Other Resources •  http://www.rackspace.com/blog/implementing-high-availability-ha-for-rackspace-private-cloud/ •  http://www.rackspace.com/blog/high-availability-ha-with-galera-for-rackspace-private-cloud/https://www.hastexo.com/ •  http://www.mysql.com/why-mysql/white-papers/mysql-high-availability-drbd-configuration-deployment-guide/ •  http://docwiki.cisco.com/wiki/OpenStack_Havana_Release:_High-Availability_Manual_Deployment_Guide •  http://www.drbd.org/ •  http://www.codership.com/ •  http://www.severalnines.com/blog/clustering-mysql-backend-openstack •  https://wiki.openstack.org/wiki/BasicDesignTenets •  http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf
  • 47. Book
  • 48. Summary •  In general leverage existing methods of HA •  There are several time-tested and more recent methods for implementing MySQL HA. •  Rackspace Private Cloud provides Chef cookbooks and recipes for implementing HA via Keepalived, HAProxy and VRRP. •  Galera is gaining more popularity. Since it’s Active/Active it does scale out and is HA. •  Few steps to get from Rackspace Private Cloud to MySQL with Galera (officially unsupported). •  Corosync/Pacemaker/DRBD is recommended by Oracle/MySQL. •  OpenStack HA guide goes through all these options in more detail.
  • 49.
  • 50. Thank you! Raghavan “Rags” Srinivas Solutions Architect Rackspace