Introduction to OpenStack with Dell Compellent

Introduction to OpenStack with Dell
Compellent Storage Center
Daniel Tan, Product Specialist
Dell Compellent Technical Solutions
April 2014
Dell Technical White Paper
Revisions
Date
Revision
Description
Author
Apr 2014
1.0
Initial release
Daniel Tan
THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND
TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS IS, WITHOUT EXPRESS OR IMPLIED WARRANTIES OF
ANY KIND.
© 2014 Dell Inc. All rights reserved. Reproduction of this material in any manner whatsoever without the express
written permission of Dell Inc. is strictly forbidden. For more information, contact Dell.
PRODUCT WARRANTIES APPLICABLE TO THE DELL PRODUCTS DESCRIBED IN THIS DOCUMENT MAY BE FOUND
AT: http://www.dell.com/learn/us/en/19/terms-of-sale-commercial-and-public-sector Performance of network
reference architectures discussed in this document may vary with differing deployment conditions, network loads, and
the like. Third party products may be included in reference architectures for the convenience of the reader. Inclusion
of such third party products does not necessarily constitute Dell’s recommendation of those products. Please consult
your Dell representative for additional information.
Trademarks used in this text:
Dell™, the Dell logo, Dell Boomi™, Dell Precision™ ,OptiPlex™, Latitude™, PowerEdge™, PowerVault™,
PowerConnect™, OpenManage™, EqualLogic™, Compellent™, KACE™, FlexAddress™, Force10™ and Vostro™ are
trademarks of Dell Inc. Other Dell trademarks may be used in this document. Cisco Nexus®, Cisco MDS®, Cisco NX0S®, and other Cisco Catalyst® are registered trademarks of Cisco System Inc. EMC VNX®, and EMC Unisphere® are
registered trademarks of EMC Corporation. Intel®, Pentium®, Xeon®, Core® and Celeron® are registered trademarks
of Intel Corporation in the U.S. and other countries. AMD® is a registered trademark and AMD Opteron™, AMD
Phenom™ and AMD Sempron™ are trademarks of Advanced Micro Devices, Inc. Microsoft®, Windows®, Windows
Server®, Internet Explorer®, MS-DOS®, Windows Vista® and Active Directory® are either trademarks or registered
trademarks of Microsoft Corporation in the United States and/or other countries. Red Hat® and Red Hat® Enterprise
Linux® are registered trademarks of Red Hat, Inc. in the United States and/or other countries. Novell® and SUSE® are
registered trademarks of Novell Inc. in the United States and other countries. Oracle® is a registered trademark of
Oracle Corporation and/or its affiliates. Citrix®, Xen®, XenServer® and XenMotion® are either registered trademarks
or trademarks of Citrix Systems, Inc. in the United States and/or other countries. VMware®, Virtual SMP®, vMotion®,
vCenter® and vSphere® are registered trademarks or trademarks of VMware, Inc. in the United States or other
countries. IBM® is a registered trademark of International Business Machines Corporation. Broadcom® and
NetXtreme® are registered trademarks of Broadcom Corporation. Qlogic is a registered trademark of QLogic
Corporation. Other trademarks and trade names may be used in this document to refer to either the entities claiming
the marks and/or names or their products and are the property of their respective owners. Dell disclaims proprietary
interest in the marks and names of others.
2
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
Table of contents
Revisions ............................................................................................................................................................................................. 2
Executive summary .......................................................................................................................................................................... 4
1
2
Overview...................................................................................................................................................................................... 5
1.1
What is OpenStack? ........................................................................................................................................................ 5
1.2
Why use OpenStack? ...................................................................................................................................................... 6
OpenStack with Dell Compellent Storage ............................................................................................................................ 7
2.1
OpenStack setup and configuration ............................................................................................................................ 7
2.2
What is Cinder?................................................................................................................................................................ 8
2.3
Connecting Dell Compellent Storage to Cinder ....................................................................................................... 8
2.4
Scanning for new volumes ............................................................................................................................................ 8
2.5
Managing volumes via Cinder....................................................................................................................................... 9
2.5.1 Preparing volumes .......................................................................................................................................................... 9
2.5.2 Presenting volumes to instances or VMs .................................................................................................................. 10
3
3
SAN in the cloud ...................................................................................................................................................................... 12
A
Additional resources................................................................................................................................................................ 13
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
Executive summary
The scope of this paper presents an introduction of OpenStack with the Dell Compellent Storage Center
using the Storage Center Operating System (SCOS), beginning with version 6. Because there are often
various methods in which to accomplish the tasks discussed, this paper is intended as a starting point of
reference for end users and system administrators.
This guide focuses almost exclusively on methods using the Command Line Interface (CLI) because it is
often the most universally applicable across UNIX and Linux.
4
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
1
Overview
The Dell Compellent Storage Center provides SCSI-3 compliant disk volumes that remove the complexity
of allocating, administering, using and protecting mission critical data. A properly configured Dell
Compellent Storage Center removes the need for cumbersome physical disk configuration exercises and
management along with complex RAID configuration mathematics. The Dell Compellent Storage Center
additionally provides RAID 10 speed and reliability at the storage array layer across all disk volumes.
The use of Dell Compellent Storage Center with OpenStack further elevates the functionality and
scalability of the Dell Compellent Storage Center by leveraging its strengths and capitalizing on the
OpenStack framework. This combination places Dell Compellent in the next evolution of software-defined
storage.
1.1
What is OpenStack?
OpenStack is an open-source project that was jointly developed by RackSpace and NASA in July 2010. It is
a collection of software projects, that when used in unison, creates and provides a framework for quickly
provisioning, delivering, and managing virtual machines in the cloud, essentially Infrastructure as a Service
(IaaS).
The OpenStack Foundation which was founded in September 2012 promotes the development,
distribution, and adoption of the OpenStack project and is located at
http://www.openstack.org/foundation.
OpenStack consists of the seven core code modules:







Nova
Neutron
Cinder
Glance
Swift
Keystone
Horizon
Compute service
Network service
Block Store
Image Store
Object Store
Identity
Dashboard
In addition to the core modules, OpenStack also contains the following code modules that will become
part of the IceHouse stable release.






5
Ceilometer
Heat
Trove
Ironic
Marconi
Savannah
Metering
Orchestration
Database
Bare Metal deployment
Queue service
Data processing
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
OpenStack relies on a native QEMU KVM for hypervisor function. However, alternative hypervisors (such as
VMWare ESX and Microsoft Hyper-V) can also be plugged into the OpenStack framework using the
appropriate vendor-provided drivers that comply with the OpenStack API standards.
An OpenStack logical diagram of how the various modules interact and function is depicted in Figure 1.
Figure 1
1.2
OpenStack logical diagram
Why use OpenStack?
OpenStack allows an organization to leverage existing commodity hardware to build a private cloud
infrastructure. It is available at no cost under the terms of the Apache license model and managed via
open APIs, open formats, and freely accessible source code. The use of OpenStack alleviates and removes
concerns of any proprietary vendor lock-in for cloud customers.
Additionally, OpenStack further allows an organization to consolidate and manage heterogeneous
infrastructure via a homogenous framework, platform, and interface while elevating infrastructure into
becoming cloud-based, redundant, widely scalable and self-service.
Dell is partnered with Red Hat to co-engineer, deliver and support enterprise-grade OpenStack private
cloud solutions. Details about this partnership are at http://www.redhat.com/about/news/pressarchive/2013/12/dell-and-red-hat-to-co-engineer-enterprise-grade-openstack-private-cloud-solutions.
6
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
2
OpenStack with Dell Compellent Storage
This section outlines the setup, configuration and connectivity of Dell Compellent Storage into an
OpenStack framework; presenting volumes to OpenStack and making these volumes available to
OpenStack instances/VMs.
2.1
OpenStack setup and configuration
The OpenStack framework used in this environment spans two Dell R810 servers; one server operates as
the controller node and the other as the compute node. OpenStack (Havana release) is used and installed
per the guide located at http://docs.openstack.org/havana/install-guide/install/apt/content/index.html.
With the focus of validating Dell Compellent storage with OpenStack, network and other redundancies
have been omitted in the sake of simplicity and setup; a diagram of the test environment is depicted in
Figure 2.
Figure 2
7
OpenStack with Dell Compellent Storage Center
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
2.2
What is Cinder?
Cinder is one of the seven core modules of OpenStack. It provides block storage to the compute node of
the OpenStack framework. Cinder block storage represents the ability to provision and provide data and
volume storage facilities to the instances/VMs that run on the compute node.
Cinder comprises of multiple components that run on both the controller and compute nodes of this
framework. These components are outlined below and further discussed at
http://docs.openstack.org/havana/install-guide/install/apt/content/block-storage-service.html.



2.3
cinder-api
Installed to the controller node, it accepts API requests and routes them to cinder-volume for
action.
cinder-scheduler
Installed to the controller node, it routes any cinder-api requests to the most optimal node for
servicing.
cinder-volume & lvm2
Installed to the compute node, it responds to requests from cinder-api to read or write to the
block storage database and maintain state awareness. This component interacts with cinderscheduler via RabbitMQ (or other message queue methods) and operates on the storage itself
(using the appropriate drivers).
Connecting Dell Compellent Storage to Cinder
Dell Compellent storage is best leveraged when connected using the Cinder module into the OpenStack
framework. Physical connectivity is established with Fiber Channel or iSCSI of the Dell Compellent Storage
Center to the compute node of this framework. After physical connectivity and zoning is complete,
volumes on the Storage Center can be mapped to the server object corresponding to the Compute node
accordingly.
2.4
Scanning for new volumes
Scanning for new volumes (both FC and iSCSI) on the compute node is performed with the following
script. This script, and various other Linux methods, are further discussed in the corresponding Dell
Compellent Red Hat Linux Enterprise (RHEL) 6x Best Practices paper.
# for i in `ls /sys/class/scsi_host/`; do echo "- - -" >>
/sys/class/scsi_host/$i/scan; done
After volumes have been discovered and identified, these volumes or devices are required to be part of an
LVM volume group named, cinder-volumes.
# pvcreate /dev/sdd
# vgcreate cinder-volumes /dev/sdd
8
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
If the cinder-volumes volume group already exists, new volumes are added to extend the volume group
with the following command.
# pvcreate /dev/sdX
# vgextend cinder-volumes /dev/sdX
2.5
Managing volumes via Cinder
After volumes have been discovered, identified and brought into LVM management (as part of the cindervolumes group), further actions required of these volumes are performed with cinder commands on the
controller node or the OpenStack dashboard (Horizon).
Cinder volumes in the most basic use case use, but are not limited to, the three tasks listed below.



Carving a volume of desired size, naming it
Presenting the Cinder volume to an existing instance/vm
Identifying the Cinder volume on the instance/vm and bringing it into use
Another task Cinder accomplishes is binding new volumes to existing Nova images to create bootable
volumes for new instances or VMs. Reference the OpenStack End User Guide, listed in Appendix A, for
details.
2.5.1
Preparing volumes
On the controller node, Cinder commands are issued to the cinder-api and cinder-scheduler to manage
Cinder volumes.
1.
Carve a volume of the desired size and name it. In this case, an 8 GB Cinder volume is created and
named, my_new_volume.
# cinder create 8 --display-name my_new_volume
2. Display the status of this Cinder volume with the command:
# cinder list
The following is an example of the status output.
+--------------------------------------+--------+---------------+------+-------|
ID
| Status | Display Name | Size | Volume
+--------------------------------------+--------+---------------+------+-------| 9054362c-8d34-4bcc-b27d-ad056f3a302c |
| my_new_volume | 8
|
+--------------------------------------+--------+---------------+------+------------+----------+--------------------------------------+
Type | Bootable |
Attached to
|
-----+----------+--------------------------------------+
None | false
|
|
-----+----------+--------------------------------------+
9
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
2.5.2
Presenting volumes to instances or VMs
After a Cinder volume has been created, it can be mapped to the desired instance or VM. This is
accomplished with the nova commands on the controller node.
1.
Nova instances are displayed with the command:
# nova list
+--------------------------------------+--------+--------+------------+--------| ID
| Name
| Status | Task State | Power
+--------------------------------------+--------+--------+------------+--------| 1d414e16-5dab-4882-9130-1830cc38198e | cirrOS | ACTIVE | None
| Running
+--------------------------------------+--------+--------+------------+------------+---------------------+
State | Networks
|
----+---------------------+
| vmnet=192.168.0.178 |
----+---------------------+
2. Map the Cinder volume ID to the Nova instance ID as follows.
# nova volume-attach 1d414e16-5dab-4882-9130-1830cc38198e 9054362c-8d344bcc-b27d-ad056f3a302c auto
The auto command line parameter instructs Cinder to create a new device file for this volume on
the instance or VM to the best of its determination.
3. Run the command below to display the new volume and instance association.
# cinder list
+--------------------------------------+--------+---------------+------+-------|
ID
| Status | Display Name | Size | Volume
+--------------------------------------+--------+---------------+------+-------| 9054362c-8d34-4bcc-b27d-ad056f3a302c | in-use | my_new_volume | 8
|
+--------------------------------------+--------+---------------+------+------------+----------+--------------------------------------+
Type | Bootable |
Attached to
|
-----+----------+--------------------------------------+
None | false
| 1d414e16-5dab-4882-9130-1830cc38198e |
-----+----------+--------------------------------------+
4. Log in to the instance or VM and scan for new volumes with the following code.
# for i in `ls /sys/class/scsi_host/`; do echo "- - -" >>
/sys/class/scsi_host/$i/scan; done
10
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
5.
New volumes are displayed as /dev/vdX devices via the output of either fdisk -l or lsscsi
commands as shown below.
# fdisk -l
[snip]
Disk /dev/vdb: 8589 MB, 8589934592 bytes
16 heads, 63 sectors/track, 16644 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/vdb doesn't contain a valid partition table
The /dev/vdX device can be partitioned, and then a filesystem can be created and mounted accordingly
for later use.
11
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
3
SAN in the cloud
This section outlines some of the considerations within the evolution of software-defined storage, where
the hosting and delivery of redundant, widely scalable storage is becoming progressively decoupled from
the underlying hardware platform. That being said, traditional hardware-based SAN is not going away but
rather will become the foundation where cloud-based SAN and infrastructure is built. Traditional
hardware-based SAN infrastructure will continue to operate in environments where geographically
localized, low latency, high bandwidth, mission critical applications or databases are required.
The use of OpenStack with Dell Compellent Storage Center is best leveraged by attaching Dell
Compellent storage to the OpenStack framework via the Cinder module and absorbed into Logical
Volume Manager (LVM), for use with instances or VMs deployed on geographically dispersed OpenStack
compute nodes.
This architecture when further coupled with Dell Compellent Live Volume replication features would allow
seamless deployment, management and migration of instances or VMs using OpenStack within a cloudbased framework. A diagram of this scenario is depicted in Figure 3.
Figure 3
12
OpenStack using Dell Compellent Live Volume replication features
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center
A
Additional resources

Storage Center System Manager 6.4 Administrator’s Guide
http://kc.compellent.com/Pages/Download.aspx?DocID=2211

SC8000 Controller Deployment Guide
http://kc.compellent.com/Pages/Download.aspx?DocID=2125

Storage Center 6.4 Command Utility Administrator’s Guide
http://kc.compellent.com/Pages/Download.aspx?DocID=2001

OpenStack Foundation
http://www.openstack.org/

OpenStack Manuals
http://docs.openstack.org/

OpenStack Admin User Guide
http://docs.openstack.org/user-guide-admin/content/

OpenStack End User Guide
http://docs.openstack.org/user-guide/content/
13
CML1051 | Introduction to OpenStack with Dell Compellent Storage Center