Get RBD Ceph running

After cloning the DevStack repository and read the developer’s guide. I realized that nothing should be installed manually, or unless for beginners developers as myself. I know what you think “the guide tell me to clone my project repository manually” (here), but this isn’t the good way to do it. Use

How works?

  • Installs Ceph (client and server) packages
  • Creates a Ceph cluster for use with openstack services
  • Configures Ceph as the storage backend for Cinder, Cinder Backup, Nova, Manila (not by default), and Glance services
  • (Optionally) Sets up & configures Rados gateway (aka rgw or radosgw) as a Swift endpoint with Keystone integration
  • Supports Ceph cluster running local or remote to openstack services

Continue reading “Get RBD Ceph running”

Ceph RADOS Block Device (RBD)


Ceph is a massively scalable, open source, distributed storage system. Ceph is in the Linux kernel and is integrated with the OpenStack cloud operating system.

Three parts of OpenStack integrate with Ceph’s block devices:

  • Images: OpenStack Glance manages images for VMs. Images are immutable. OpenStack treats images as binary blobs and downloads them accordingly.
  • Volumes: Volumes are block devices. OpenStack uses volumes to boot VMs, or to attach volumes to running VMs. OpenStack manages volumes using Cinder services.
  • Guest Disks: Guest disks are guest operating system disks. By default, when you boot a virtual machine, its disk appears as a file on the filesystem of the hypervisor (usually under/var/lib/nova/instances/<uuid>/). Prior to OpenStack Havana, the only way to boot a VM in Ceph was to use the boot-from-volume functionality of Cinder. However, now it is possible to boot every virtual machine inside Ceph directly without using Cinder, which is advantageous because it allows you to perform maintenance operations easily with the live-migration process. Additionally, if your hypervisor dies it is also convenient to trigger nova evacuate and run the virtual machine elsewhere almost seamlessly.

Continue reading “Ceph RADOS Block Device (RBD)”

Block Storage service in OpenStack

Since 3 weeks, I’m working on Cinder RBD (Ceph) to manage and unmanage snapshot.

I can’t start writing about my project without giving to this blog some previous data about Block Storage, RADOS, RBD, and Ceph (which is my best friend now)..

As I wrote  before, Cinder is a Block Storage service for OpenStack, but what does this mean?

The Block Storage service provides persistent block storage resources that Compute instances can consume. In addition, you can write images to a Block Storage device for Compute to use as a bootable persistent instance.  It service does not provide a shared storage solution like NFS. With the Block Storage service, you can attach a device to only one instance.

Cinder’s designed to present storage resources to end users that can be consumed by the OpenStack Compute Project (Nova). This is done through the use of either a reference implementation (LVM) or plugin drivers for other storage.

Cinder virtualizes pools of block storage devices and provides end users with a self service API to request and consume those resources without requiring any knowledge of where their storage is actually deployed or on what type of device.

Basic resources offered by the Block Storage service

  • Volumes : allocated block storage resources that can be attached to instances as secondary storage or they can be used as the root store to boot instances. Volumes are persistent R/W block storage devices most commonly attached to the compute node through iSCSI.
  • Snapshots : a read-only point in time copy of a volume. The snapshot can be created from a volume that is currently in use or in an available state. The snapshot can then be used to create a new volume through create from snapshot.
  • Backups : an archived copy of a volume.

So, Cinder provides:

  • cinder-api : a WSGI app that authenticates and routes requests throughout the Block Storage service.
  • cinder-scheduler : schedules and routes requests to the appropriate volume service.
  • cinder-volume : manages Block Storage devices, specifically the back-end devices themselves.
  • cinder-backup :  provides a means to back up a Block Storage volume to OpenStack Object Storage (swift).

*If you want to read more please check out the official  OpenStack documentation.


The first week is over!

I’ve finished my first week as an Outreachy intern yesterday. Cinder is getting most interesting every time. Installing Devstack for Cinder and Ceph is a bit tricky. It took me long time to have my env working,but it’s done by now (I have to blog about it).

I’m learning about all Cinder and Ceph stuff (I have to blog about it, too). I’m creating volumes, pools and snapshots. I have some questions about rbd and RADOS, but i’m working on it. Tomorrow I have a call with my mentor, Jon, so lucky me.

To refrest some python ideas i downloaded ‘learn python’ app from my android. It’s a funny way to review concepts when i’m on the bus or in my place.

I’m a happy LinuxChix Argentina member since this year.This month we participated in FliSoL Buenos Aires! It was my first public contribution with LinuxChix and I have to work in my public speech hahah, but It was great!

Micabot gave a Introduction to Bash workshop! Saddely, I couldn’t attend I had an exam at workshop’s time.


You can join us or/and talk to us at IRC on Freenode in #LinuxChixAr channel. We talk about geek stuff. We also meet twice a week and drink beers.

Finally, I hope to post soon.

Bye Bye

Check out our twitter : LinuxChixAr twitter


Installing Devstack on a Vagrant virtual machine

I was a bit lost when I started looking for documentation about devstack. Vicky told me about terriyu’s blog which helped me.

Before starting with the Developer’s Guide, I installed ubuntu 14.04 (trusty64). If you don’t want ubuntu you can use Fedora 22 (or Fedora 23) and CentOS/RHEL 7 and find documentation here.
In order to correctly install all the dependencies, you should assume a specific minimal version of the supported distributions to make it as easy as possible. DevStack will perform best with 4GB or more of RAM.

Why use a virtual machine? It’s the recommended way to install Devstack if is your first time. You don’t want lots of dependencies installed on your everyday environment. If something breaks, it’s easier to start over from scratch if you’re working in a VM.

Why use vagrant? Vagrant provides easy to configure, reproducible, and portable work environments. If something goes wrong you just can reuse the vagrantfile to configure a new vm.

Why VirtualBox? it is free, available on every major platform, and built-in to Vagrant.

Continue reading “Installing Devstack on a Vagrant virtual machine”

Outreachy accepted me!

I’m really happy to announce that i’m an Outreachy’s intern for this May-Aug round!

Outreachy is an internship program for underrepresented people in Free and Open Source Software (FOSS) community.
This program is a welcoming link that connects talented and passionate newcomers with people working in free and open source software and guides them through their first contribution. Through Outreachy, participants learn how exciting and valuable work on software freedom can be, while helping us to build a more inclusive community.

I’m sure all the visitors in this blog know OpenStack, but I decided to add some info to introduce my blog easily.

What is OpenStack?

OpenStack is a community of a lot of companies and individual contributors with a Foundation providing governance and oversight. We all collaborate together to build cloud software that's free from vendor lock-in.

Continue reading “Outreachy accepted me!”