Difference between revisions of "HAGuideImprovements/TOC"
StackScribe (talk | contribs) |
(Moved original to the bottom so we can focus on revisions.) |
||
Line 1: | Line 1: | ||
− | + | (Moved original to the bottom of the page for reference.) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== '''Proposed Revision''' == | == '''Proposed Revision''' == | ||
Line 119: | Line 69: | ||
:# Ceph? | :# Ceph? | ||
:# Murano? | :# Murano? | ||
+ | |||
+ | |||
+ | == '''Original for reference''' == | ||
+ | |||
+ | [[NOTE: This is the original for us to depart from. ]] | ||
+ | |||
+ | I. Introduction to OpenStack High Availability | ||
+ | :# Stateless vs. Stateful services | ||
+ | :# Active/Passive | ||
+ | :# Active/Active | ||
+ | II. HA Using Active/Passive | ||
+ | |||
+ | 1. The Pacemaker Cluster Stack | ||
+ | :# Installing Packages | ||
+ | :# Setting up Corosync | ||
+ | :# Starting Corosync | ||
+ | :# Starting Pacemaker | ||
+ | :# Setting basic cluster properties | ||
+ | 2. Cloud Controller Cluster Stack | ||
+ | :# Highly available MySQL | ||
+ | :# Highly available RabbitMQ | ||
+ | 3. API Node Cluster Stack | ||
+ | :# Configure the VIP | ||
+ | :# Highly available OpenStack Identity | ||
+ | :# Highly available OpenStack Image API | ||
+ | :# Highly available Cinder API | ||
+ | :# Highly available OpenStack Networking Server | ||
+ | :# Highly available Ceilometer Central Agent | ||
+ | :# Configure Pacemaker Group | ||
+ | 4. Network Controller Cluster Stack | ||
+ | :# Highly available Neutron L3 Agent | ||
+ | :# Highly available Neutron DHCP Agent | ||
+ | :# Highly available Neutron Metadata Agent | ||
+ | :# Manage network resources | ||
+ | III. HA Using Active/Active | ||
+ | |||
+ | 5. Database | ||
+ | :# MySQL with Galera | ||
+ | :# Galera Monitoring Scripts | ||
+ | :# Other ways to provide a Highly Available database | ||
+ | 6. RabbitMQ | ||
+ | :# Install RabbitMQ | ||
+ | :# Configure RabbitMQ | ||
+ | :# Configure OpenStack Services to use RabbitMQ | ||
+ | 7. HAproxy Nodes | ||
+ | 8. OpenStack Controller Nodes | ||
+ | :# Running OpenStack API & schedulers | ||
+ | :# Memcached | ||
+ | 9. OpenStack Network Nodes | ||
+ | :# Running Neutron DHCP Agent | ||
+ | :# Running Neutron L3 Agent | ||
+ | :# Running Neutron Metadata Agent |
Revision as of 15:59, 18 February 2015
(Moved original to the bottom of the page for reference.)
Contents
- 1 Proposed Revision
- 2 Strategy and assumptions:
- 3 Structure/Outline
- 3.1 HA Intro and Concepts
- 3.2 Hardware setup
- 3.3 Prerequisites
- 3.4 Configure network interface on each node
- 3.5 Install and Configure MySQL
- 3.6 RabbitMQ Message broker
- 3.7 NTP
- 3.8 Keystone Identity services
- 3.9 Cinder Block Storage Service
- 3.10 Swift Object Storage
- 3.11 Heat Orchestration
- 3.12 Ceilometer Telemetry and MongoDB
- 3.13 Database Service (Trove)
- 3.14 Other
- 4 Original for reference
Proposed Revision
Strategy and assumptions:
- Audience is people who have some experience installing OpenStack, not first time users
- Focus on installation of OpenStack core services
- Structure the guide sequentially -- the steps to take in a reasonable order
- Avoid redundancy with the Install Guide; for steps that are identical for HA and non-HA installations, link to appropriate sections in the Install Guide
- One guide for all Linux distros/platforms
- Emphasize a reasonable, standard deployment based on open source components. We can provide some notes about alternatives as appropriate (for example, using a commercial load-balancer might be a better alternative than relying on HAProxy) and perhaps a link to the OpenStack Marketplace.
Structure/Outline
HA Intro and Concepts
- Redundancy and failover
- Stateless/stateful, active/passive, active/active
- Quorums; many services should use an odd number of nodes equal to or greater than 3
- Single-controller HA mode
Hardware setup
- Minimal Architecture Example -- Network Layout, styled as in http://docs.openstack.org/juno/install-guide/install/apt/content/ch_basic_environment.html#basics-prerequisites for easy comparison
Prerequisites
- Link to Install Guide: Install O/S on each node
- Install pacemaker (or is this deprecated?), crmsh, corosync, cluster-glue, fence-agents (Fedora only), resource-agents
- Set up and start Corosync and Pacemaker
- Set basic cluster properties
- API services
- Schedulers
- Memcached service
Configure network interface on each node
- Link to Networking Guide
- (Neutron agents should be described for active/active; deprecate single agent's instances case)
- For Kilo and beyond, focus on L3HA and DVR
Install and Configure MySQL
- Two nodes plus GARBD.
- MySQL with Galera
- Deprecate MySQL DRBD configuration because of split-brain issues
RabbitMQ Message broker
- Oslo messaging for active/active
- No need for active/passive AMQP; consider mirrored two-node cluster instead
- Deprecate DRBD for RabbitMQ
NTP
- Link to Install Guide
Keystone Identity services
Cinder Block Storage Service
Swift Object Storage
Heat Orchestration
- Link to Install Guide for basics
- How to set up so that VMs on a failed compute node are quickly migrated to other compute nodes
Ceilometer Telemetry and MongoDB
Database Service (Trove)
Other
- Configure Pacemaker service group to ensure that the VIP is linked to the API services resource
- Install and configure HAProxy
- Mention value of redundant hardware load balancers for stateless services such as REST APIs
- Ceph?
- Murano?
Original for reference
NOTE: This is the original for us to depart from.
I. Introduction to OpenStack High Availability
- Stateless vs. Stateful services
- Active/Passive
- Active/Active
II. HA Using Active/Passive
1. The Pacemaker Cluster Stack
- Installing Packages
- Setting up Corosync
- Starting Corosync
- Starting Pacemaker
- Setting basic cluster properties
2. Cloud Controller Cluster Stack
- Highly available MySQL
- Highly available RabbitMQ
3. API Node Cluster Stack
- Configure the VIP
- Highly available OpenStack Identity
- Highly available OpenStack Image API
- Highly available Cinder API
- Highly available OpenStack Networking Server
- Highly available Ceilometer Central Agent
- Configure Pacemaker Group
4. Network Controller Cluster Stack
- Highly available Neutron L3 Agent
- Highly available Neutron DHCP Agent
- Highly available Neutron Metadata Agent
- Manage network resources
III. HA Using Active/Active
5. Database
- MySQL with Galera
- Galera Monitoring Scripts
- Other ways to provide a Highly Available database
6. RabbitMQ
- Install RabbitMQ
- Configure RabbitMQ
- Configure OpenStack Services to use RabbitMQ
7. HAproxy Nodes 8. OpenStack Controller Nodes
- Running OpenStack API & schedulers
- Memcached
9. OpenStack Network Nodes
- Running Neutron DHCP Agent
- Running Neutron L3 Agent
- Running Neutron Metadata Agent