CanaryTek / clab-ceph

CloudLab: Deploy a Ceph cluster using SaltStack and DeepSea

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CloudLab: Deploy a Ceph Cluster using SaltStack and DeepSea

In this CloudLab we deploy a Ceph cluster using openSUSE and DeepSea, a SaltStack formula to deploy Ceph clusters

At the end of Lab 1 we will have a fully functional Ceph cluster, managed by OpenAttic and with all services: Ganesha-NFS, iSCSI gateway, RadosGW, etc

If you are looking for something based on CentOS, check this project

The Lab

This lab consists of 9 VM based on openSUSE Leap 42.3 with static IP

Name IP Resources Disc Services Description
ceph-deploy 192.168.122.11 4GB, cores 1x40G OpenATTIC, Grafana, salt-master Deploy and monitoring host
ceph-test 192.168.122.12 1GB, 1 core 1x40G None Just a test host to use as a client for iSCSI, NFS, etc
ceph-mon{1,2,3} 192.168.122.2{1,2,3}) 1GB, 1 core 1x40G MON, MGR, MDS, iSCSI Gateway, NFS-Ganesha, RadosGW Monitors and service gateways
ceph-osd{1,2,3,4} 192.168.122.3{1,2,3,4}) 1GB, 1 core 1x40G + 2x30G OSD Ceph OSD storage hosts

NOTE: As you can see, you will need a pretty powerfull computer to run all VM needed by this lab

Common workflow

  1. Prepare the lab (download needed images)
sudo rake prepare_lab
  1. Edit the lab.yml file to adapt to your needs (al least add you SSH public key to be able to connect to the lab's VM)

  2. If using btrfs, create a "vm" subvolume so you can create snapshot at each Lab stage

sudo btrfs subvolume create vm
  1. Initialize the virtual machines for the lab
sudo rake init_vms

Common tasks

  1. Start/Stop all VM belonging to the lab
sudo rake start_vms
sudo rake stop_vms
  1. Create snapshot at an important milestone (i.e. after installation)
sudo btrfs snap -r vm .snapshots/01_after_installation
  1. Revert to the previous snapshot
sudo btrfs subvol delete vm
sudo btrfs snap .snapshots/01_after_installation vm

Labs

TODO

  • [Lab X: OSD failure]
  • [Lab X: MON failure]
  • [Lab X: Add new OSD host]
  • [Lab X: Delete a OSD host]
  • [Lab X: Replace a MON]

About

CloudLab: Deploy a Ceph cluster using SaltStack and DeepSea


Languages

Language:Ruby 100.0%