Building an OpenStack + Ceph Lab: Beginner Friendly :)

August 20, 2025 šŸ‘©šŸ½ā€šŸ”¬ Letisia Pangata'a

Easy

Have you ever wondered how cloud platforms like OpenStack work behind the scenes? In this project, I set out to build a small lab that brings together OpenStack (for cloud computing) and Ceph (for storage) using Ubuntu. This blog post will walk you through the development and structure of the codebase.


Why This Lab?

The goal was to prove I could set up and operate a real-world OpenStack environment, just like the pros at Canonical do. I wanted to:

  • Learn Linux admin, networking, and storage basics
  • Understand how OpenStack and Ceph work together
  • Practise using tools like Terraform and Ansible for automation
  • Document everything for easy repeatability

Project Structure

The codebase is organised to make each part of the lab clear and manageable:

openstack-ceph-lab/
ā”œā”€ā”€ ansible/            # Ansible playbooks for automation
ā”œā”€ā”€ terraform/          # Terraform scripts for infrastructure provisioning
ā”œā”€ā”€ ceph/               # Ceph-specific configuration and deployment files
ā”œā”€ā”€ openstack/          # OpenStack deployment scripts and configs
ā”œā”€ā”€ docs/               # Documentation and guides
└── README.md           # Project overview and setup instructions
  • ansible/: Contains playbooks to automate the installation and configuration of both OpenStack and Ceph components.
  • terraform/: Holds scripts to provision virtual machines and networking on your chosen platform (eg., local KVM, cloud provider).
  • ceph/: Includes Ceph cluster configuration, deployment scripts, and example storage pools.
  • openstack/: Contains OpenStack deployment files, service configs, and sample projects.
  • docs/: Step-by-step guides, troubleshooting tips, and architecture diagrams.
  • README.md: The main entry point with setup instructions and project goals.

Getting Started

  1. Clone the repository:

    git clone https://github.com/yourusername/openstack-ceph-lab.git
    cd openstack-ceph-lab
    
  2. Review prerequisites: Make sure you have Ubuntu 22.04+, virtualization enabled, and enough resources (at least 16GB RAM, 4 CPUs, 100GB disk).

  3. Follow the documentation: Start with docs/quickstart.md for a guided setup.


Key Learnings

  • Automation is essential: Tools like Ansible and Terraform save time and reduce errors.
  • Documentation matters: Keeping clear notes helps you (and others) rebuild or troubleshoot the lab.
  • Hands-on beats theory: Building the lab deepened my understanding of cloud and storage concepts.

Next Steps

  • Expand the lab with more OpenStack services (e.g., Heat, Magnum)
  • Integrate monitoring and logging (Prometheus, Grafana)
  • Experiment with high availability and scaling

Building your own OpenStack + Ceph lab is a rewarding way to learn cloud infrastructure. With the right structure and automation, even beginners can get hands-on experience and grow their skills.

← Go Back