Red Hat OpenStack up and running in minutes with Nimble Cinder Driver? The “Why”, “What” and “How”….

There are lots of buzz around OpenStack these days – I’m sure you want to give it a spin and see what the hype is all about.  Here’s a quick way to try it out using your existing resources (seriously, most of us don’t have the freaking budget to buy new servers for experimental/eval projects; if you do, more power to you!).  NOTE: NOTHING below is officially supported by VMware, Red Hat, Nimble Storage.  Why am I doing it?  Because I can J  Wouldn’t you want to leverage what you have in the infrastructure and check out what the hype is all about?  If you answered yes, then read on. (*Special Thanks to Jay Wang and Brady Zuo in our R&D team for making this happen!)

OpenStack 101

For those of you that don’t know what OpenStack is, here’s a quick 101 introduction, with key buzzwords to use so you sound like a pro:

  • Founded by RackSpace + NASA several years back
  • Got massive traction after the formation of OpenStack Foundation
  • It is cool because its fate is not controlled by a single company/vendor, projects are driven/led by end users, and the community
  • It is a cloud Platform that has extensive API framework (rich API sets that allows for easy automation + built-in extensibility for the portal)
  • API compatibility with AWS EC2 and S3
  • Consists of the following projects:
    • Nova (compute)
    • Cinder (block storage: you probably know this one; volume access based on SCSI standard)
    • Swift (object storage: scalable storage for unstructured data: think pictures, videos, iso images)
    • Neutron (networking; used to be called Quantum; you do have a choice with various vendor’s SDN implementation)
    • Glance (image repository: where your ISO, VM images reside)
    • Horizon (Dashboard/self service portal: this is where admin comes to create projects, review project resource utilization; this is where end consumers login to deploy instances/VMs)
    • Keystone (identify/authentication)
    • Ceilometer (monitoring/operational  mgmt)

Here are some very useful links from various folks in the community:

https://ask.openstack.org/en/questions/ (great community support; I asked a few questions here and there and folks are very responsive)

http://www.openstack.org/summit/portland-2013/session-videos/ (my favorites are: Day 2-OpenStack Grizzly Architecture 101, Top 10 Things We’ve learned about OpenStack by my friend Cloud Czar from NetApp :), OpenStack in Production: the Good, the Bad & the Ugly; Day3-OpenStack, SDN, and the Future of Infrastructure-as-a-Service)

http://cloudarchitectmusings.com/page/2/ (Blog by Kenneth Hui from RackSpace – very informative/technical blog posts)

Now, let’s jump straight into my setup:

Step 0:

Download CentOS 6.4 DVD if you haven’t done so already:

http://isoredirect.centos.org/centos/6/isos/x86_64/

Step 1: Controller VM Install

Install CentOS (DUH) as a VM, I chose “Base Server” so I am not sure if a minimal one would have all the dependencies needed for OpenStack

“Gotchas”

-if you bypass networking setup during installation, your eth0 interface would be disabled by default, to get it back, simply do this:

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

Change “ONBOOT=no” to “ONBOOT=yes”

#service network restart

-be sure you connect this to a network with internet access (unless you are going to build your own YUM repository)

 

Step 2: Install Red Hat OpenStack

Install RDO packages for OpenStack – I simply follow the instructions from Red Hat’s RDO page:

http://openstack.redhat.com/Quickstart

*I actually wanted to try out Neutron  so I use “packstack –allinone –os-quantum-install=y” instead*

After this command finishes (takes about 10 minutes or so), you will see a screen like this:

“Gotcha”

-the default admin password is cryptic, and in a non-obvious location; you could find the actual password in the following file:

“keystonerc_admin”

After you find the password, copy it, and then open up OpenStack Horizon in your browser:

http://<your_serverhost/ip>/dashboard

-don’t forget to change the admin password to one that you would actually remember

Step 3: Install Nimble Cinder Driver (this step is optional if you don’t want to use shared storage for Cinder; you could start creating project and stand up instances with the VMDK that’s attached to the CentOS VM)

*Note* if you are a customer of Nimble and want to try out the Cinder driver as a tech preview, give us a shout out; or send me an email wen@nimblestorage.com

After you obtain the binary from us:

a)      #cp nimble.py /usr/lib/python2.6/site-packages/cinder/volume/drivers/

b)      Add the following lines to /etc/cinder/cinder.conf

nimble_username=admin

nimble_password=pass

nimble_mgmt_ip=your_array_mgmt_ip

volume_driver=cinder.volume.drivers.nimble.NimbleISCSIDriver

volume_name_template = volume-%s

c)restart all related cinder services:

cd /etc/init.d/

for i in $( ls openstack-cinder-* )

do

service $i restart

done

You are now ready to rock n’ roll!  You can perform the following operations with Nimble:

  • create volume
  • snap volume
  • clone volume
  • delete volume

Each volume could be tied to an individual instance in OpenStack.  So you could enjoy the benefits of per-VM level performance monitoring, snapshot, cloning with zero copy clone.  One advantage you have with shared storage for Cinder is you won’t have to scale compute to get storage capacity/performance.  I will post more stuff once I get to play with this setup some more.  Stay tuned!

4 thoughts on “Red Hat OpenStack up and running in minutes with Nimble Cinder Driver? The “Why”, “What” and “How”….

  1. Excellent post, have never used the Cinder driver yet but as we are very happy Nimble customers I look forward to testing this in house.

Leave a Reply

Your email address will not be published. Required fields are marked *