Building an OpenStack + Ceph Lab: Beginner Friendly :)
August 20, 2025 š©š½āš¬ Letisia Pangata'a
EasyHave 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
-
Clone the repository:
git clone https://github.com/yourusername/openstack-ceph-lab.git cd openstack-ceph-lab
-
Review prerequisites: Make sure you have Ubuntu 22.04+, virtualization enabled, and enough resources (at least 16GB RAM, 4 CPUs, 100GB disk).
-
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.