How to do it...
In this recipe, we will use the ceph-node1, ceph-node2, and ceph-node3 VMs for the first cluster, and in this cluster, we will use the us-east-1 VM for the RGW node. In the second cluster, we will use the ceph-node4, ceph-node5, and ceph-node5 VMs for cluster nodes and the us-west-1 VM for the RGW node.
You should use Chapter 1, Ceph – Introduction and Beyond, for installing both clusters and Chapter 4, Working with Ceph Object Storage, for installing RGW nodes in both clusters:
- Bring up all eight VMs with the help of the vagrant up command:
$ vagrant up ceph-node1 ceph-node2 ceph-node3 ceph-node4 ceph-node5
ceph-node6 us-east-1 us-west-1
- Once all VMs come up, log in and update to CentOS release 7.4 and then reboot to CentOS 7.4:
# vagrant ssh <vm-name>
#sudo su -
# yum update -y
# reboot
You should configure firewall settings and NTP settings, as given in Chapter 1, Ceph – Introduction and Beyond, in all the nodes used in the multi-site configuration.
Create the primary cluster and primary RGW node us-east-1:
- Install the ceph-ansible and ansible package, as given in Chapter 1, Ceph – Introduction and Beyond, and then update /etc/ansible/hosts for cluster 1 VMs:

- You should copy the ceph-node1 ssh key to all cluster 1 nodes, including RGW node us-east-1.
- Update all.yml and osds.yml and other Ansible configuration files, as given in Chapter 1, Ceph – Introduction and Beyond. For the us-east-1 RGW node, you should enable the following options in all.yml:
radosgw_civetweb_port: 8080
radosgw_civetweb_bind_ip: 192.168.1.107
- After this configuration, you should run the ansible-playbook to install cluster 1 with the us-east-1 RGW node:
ansible-playbook site.yml
- Once the ansible-playbook finishes installing the cluster, you will have the following cluster running; please notice the monitor names:

Create the secondary cluster and primary RGW node us-west-1:
- Install the ceph-ansible and ansible package, as given in Chapter 1, Ceph – Introduction and Beyond, and then update /etc/ansible/hosts for the cluster 2 VMs:

You should copy the ceph-node4 ssh key to all cluster 2 nodes, including the RGW node us-west-1.
- Update all.yml and osds.yml and other Ansible configuration files, as given in Chapter 1, Ceph – Introduction and Beyond. For the us-west-1 RGW node, you should enable the following options in all.yml:
radosgw_civetweb_port: 8080
radosgw_civetweb_bind_ip: 192.168.1.108
- After this configuration, you should run the ansible-playbook to install cluster 1 with the us-west-1 RGW node:
ansible-playbook site.yml
- Once the ansible-playbook finishes installing the cluster, you will have the following cluster running; please notice the monitor names:
