Setting Up Openstack with HA and Ceph as Storage

This document covers how to setup an Openstack running on HA and using a Ceph as storage.

We will be using CentOS 7 as operating system of our servers and should be running the following Services and Information:

  1. Infrastructure and Server Details
  2. IP List and Blocks
  3. Controllers Installation
    1. Controller1 / Controller2 / Controller3
      1. IP Address Config
      2. Mongodb
      3. Pacemaker
      4. HAProxy
      5. Database/Galera
      6. RabbitMQ
      7. Keystone
      8. Glance
      9. Nova
      10. Neutron
      11. Dashboard
      12. Cinder
  4. Compute Installation
    1. Compute1 / Compute2 / Compute3
      1. IP Address Config
      2. Nova-Compute
      3. Linux Bridge
  5. Cinder and Ceph Installation
    1. Ceph1 / Ceph2 / Ceph3
      1. Ceph
      2. Cinder-Volume
      3. Cinder-Backup

Basic Configurations are the following:

#CONTROLLERS
10.10.10.70 controller1
10.10.10.71 controller2
10.10.10.72 controller3
 
# COMPUTES
10.10.10.80 compute1
10.10.10.81 compute2 
10.10.10.82 compute3 
 
#CEPHS
172.16.16.20 ceph1 
172.16.16.21 ceph2 
172.16.16.22 ceph3 
 
#DATABASES
192.168.10.101 db-server01
192.168.10.102 db-server02
192.168.10.103 db-server03
 
#VIPs
10.10.10.4 database-vip 
10.10.10.5 dashboard-vip controller
10.10.10.6 rabbitmq-vip 
10.10.10.7 keystone-vip 
10.10.10.8 memcached-vip 
10.10.10.9 neutron-vip 
10.10.10.10 glance-vip 
10.10.10.11 nova-vip 
10.10.10.12 cinder-vip

NTP

ALL: Install the packages to all of the nodes

# yum -y install chrony

ALL: Edit the /etc/chrony.conf file and add, change, or remove these keys as necessary for your environment:

server sg.pool.ntp.org iburst

ALL: Start the NTP service and configure it to start when the system boots:

# systemctl enable chronyd.service
# systemctl start chronyd.service

Openstack Repository

ALL: Enable the Openstack Repository

# yum -y install centos-release-openstack-ocata

ALL: Upgrade packages

# yum -y upgrade

ALL: Install the OpenStack client:

# yum -y install python-openstackclient

Database (Galera Cluster) for High Availability

ALL CONTROLLER NODES: Configure REPO and Install the packages by running the following:

# sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  
# cat >> /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/rhel7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
  
# yum -y remove mariadb-common mariadb-config mariadb-libs
# yum -y install MariaDB-Galera-server MariaDB-client galera rsync nmap lsof perl-DBI nc socat jemalloc python2-PyMySQL
# systemctl enable mysql
# systemctl start mysql
# mysql_secure_installation
# systemctl restart mysql