IBM Spectrum Virtualize and IBM Storwize storage systems on the OpenStack platform
This chapter introduces OpenStack and its components. It describes details about how to configure a Cinder driver to integrate an IBM Spectrum Virtualize or IBM Storwize storage system as block storage for OpenStack deployments.
This chapter describes the following topics:
9.1 Introduction to OpenStack components
OpenStack is a no cost and open source software platform for cloud computing. Started by Rackspace Hosting and NASA in 2010, it is now a global collaboration of more than 500 companies. The initiative is managed by the OpenStack Foundation, a non-profit corporate entity that was established in September 2012 to promote OpenStack software and its community. IBM contributes to OpenStack as one of the platinum members.
Different cloud solutions for various different service needs are adopted by different kind of organizations, ranging from small startups to established organizations. As a cloud service platform, OpenStack helps reduce major challenges that are faced by clients with their existing dedicated IT infrastructure and also helps every organization to become more agile and flexible. For more information about other OpenStack storage and cloud deployment options from IBM, see IBM Private, Public, and Hybrid Cloud Storage Solutions, REDP-4873.
The mission of the OpenStack initiative is to create a ubiquitous open source cloud computing platform that is simple to implement and massively scalable. OpenStack enables users to place requests for required resources through a self-service portal and use those resources in real time as needed.
OpenStack has a modular architecture with various code names for its components that provide different services. The following core components or services are the minimum components that are required to run an OpenStack system:
Nova Provides the compute / virtual machine (VM) management services to provision and manage VMs for OpenStack.
Keystone Provides authentication, Token, Catalog, and Policy services for OpenStack.
Glance Provides services to store VM images and maintain a catalog of available images.
Neutron Provides network services for device interfaces in OpenStack.
Cinder Provides block storage services for use with OpenStack compute instances.
Swift Provide object storage services that allow users to store much data efficiently and safely.
For more information about OpenStack components, see the OpenStack documentation.
Cinder manages the creation, attachment, and detachment of the block devices to servers. A server can access block storage through different protocols, such as Fibre Channel (FC), Fibre Channel over Ethernet (FCoE), or ISCSI from storage systems that are controlled by Cinder. IBM provides Cinder drivers for IBM Spectrum Virtualize and IBM Storwize systems for FC and iSCSI. For the list of Cinder features that are supported by these drivers, see the Cinder support matrix.
Section 9.2, “Integrating the Cinder driver with IBM Spectrum Virtualize and IBM Storwize storage systems” on page 171 explains how to integrate an IBM Storwize storage system with OpenStack Cinder.
9.2 Integrating the Cinder driver with IBM Spectrum Virtualize and IBM Storwize storage systems
Cinder enables access to persistent block storage for compute instances. The Cinder driver manages the creation, attachment, and detachment of volumes to the compute resources. It is responsible for the control path only. The I/O to the devices runs directly from the compute resources and is mounted over a controlled protocol (for example, iSCSI). Users can request storage resources by using an API. The communication from Cinder to the storage and the Nova compute nodes are part of management or control I/O. Figure 9-1 indicates the data flow from Cinder to Nova and storage controllers.
Figure 9-1 Cinder communication with Nova, compute, and storage controllers
 
Note: This publication focuses on the Newton release of Open Stack. For other versions, see the OpenStack documentation.
Integration of storage systems requires an OpenStack Block Storage driver on the OpenStack Cinder nodes. For IBM Spectrum Virtualize and IBM Storwize systems, that is the IBM Storwize family and SAN Volume Controller Driver for OpenStack. The driver is an IBM proprietary solution that supports OpenStack block storage on top of the OpenStack and Cinder open source technologies.
The Cinder driver configuration file provides details about storage controllers that are available for the compute instances. The Cinder configuration file is by default created in /etc/cinder/cinder.conf. The minimum required parameters for IBM Storwize storage system to Cinder integration are listed in Example 9-1.
Example 9-1 Cinder configuration with minimum configuration
volume_driver = cinder.volume.drivers.ibm.storwize_svc.storwize_svc_iscsi.StorwizeSVCISCSIDriver san_ip = 9.113.57.226
san_login = superuser
san_password = passw0rd
storwize_svc_volpool_name = mdiskgrp0
storwize_svc_iscsi_chap_enabled=True
volume_backend_name = svc1
Table 9-1 lists the minimum required parameters and some important optional parameters.
Table 9-1 Cinder configuration file parameters and descriptions
Configuration parameters or flags
Description
volume_driver
Tells the volume driver which IBM Storwize family and SAN Volume Controller driver to use.
san_ip
IBM Spectrum Virtualize or IBM Storwize system management address (or host name).
san_login
Management login user name.
san_password
Management login password.
san_private_key
Management login SSH private key1.
storwize_svc_volpool_name
Name of the pool where to create volumes.
volume_backend_name
Name that is used by Cinder to identify this storage system among multiple storage back-ends.2 Optional, no default.
storwize_svc_vol_iogrp
ID of the IO group for new volumes. Optional, default value is 0.
storwize_svc_connection_protocol
Connection protocol to use. Optional, currently supports iSCSI or FC, default value is iSCSI.
storwize_svc_iscsi_chap_enabled
Enable CHAP authentication for iSCSI connections. Optional, default value is True.

1 Authentication requires either a password or an SSH private key. One must be specified. If both are specified, the driver uses only the SSH private key.
2 Multiple back-end storage systems can serve the same OpenStack Compute configuration. At volume creation, the Cinder scheduler uses filters to decide in which back end the volume is created. For more information, see the OpenStack documentation.
By default, the driver creates non-compressed, thin-provisioned volumes with a grain size of 256 KB and auto-expansion enabled. This behavior can be modified by optional parameters in the Cinder configuration file. For these and other extra parameters that can be used, see IBM Storwize Family and SAN Volume Controller Driver Options in Cinder.
This website explains also how to integrate IBM Spectrum Virtualize or IBM Storwize remote mirroring (called back-end storage replication in Cinder terminology).
After editing the following Cinder configuration file, you must restart the Cinder service:
/root/scripts/restartCinder.sh
9.2.1 Volume creation and host attachment with OpenStack
After the minimum configurations are done along with required network connections, it is possible to create and manage volumes from Cinder and Nova nodes. Example 9-2 shows how to create the volume from the Cinder node and list the volume to view the status of the volume that is created. The syntax for command for the cinder create command is:
cinder create --name <volume_name> <size_in_Gb>
Example 9-2 Cinder create and list example
$ cinder create --name volume1 1
+---------------------------------------+----------------------------------------+
| Property | Value |
+---------------------------------------+----------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2015-10-30T08:45:39.000000 |
| description | None |
| encrypted | False |
| id | 714fa399-eb23-4fd0-bc31-8267cc058cc5 |
| metadata | {} |
| migration_status | None |
| multiattach | False |
| name | volume1 |
| os-vol-host-attr:host | dig_openstack@SVCdriver#svcdriver |
| os-vol-mig-status-attr:migstat | None |
| os-vol-mig-status-attr:name_id | None |
| os-vol-tenant-attr:tenant_id | 1f288d01f0a64d0fb4140e65e6409ee6 |
| os-volume-replication:driver_data | None |
| os-volume-replication:extended_status | None |
| replication_status | disabled |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| updated_at | 2015-10-30T08:45:39.000000 |
| user_id | 6220597255ff46229d80ceb64fac8985 |
| volume_type | svcdriver |
+---------------------------------------+----------------------------------------+
$ cinder list
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
| 714fa399-eb23-4fd0-bc31-8267cc058cc5 | available | Volume1 | 1 | svcdriver | false | |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
9.2.2 Volume attachment from Nova
After the volumes are created from the Cinder driver, volumes attachment must be done from the Nova component. Example 9-3 shows how to attach the volume to the host with the parameters that are mentioned in the Cinder configuration file. The syntax of the Nova volume attach command is:
nova volume-attach <INSTANCE_ID> <VOLUME_ID> [<DEVICE>]
The optional parameter <DEVICE> is either a device file for the target system (for example, /dev/vdb) or the default value auto. For more information, see Attach a Volume to an Instance.
Example 9-3 Volume attachment from Nova
nova volume-attach e10a856d-a66f-486c-95a6-3e5f9688b7f0 714fa399-eb23-4fd0-bc31-8267cc058cc5
+----------+--------------------------------------+
| Property | Value |
+----------+--------------------------------------+
| device | /dev/vdb |
| id | 714fa399-eb23-4fd0-bc31-8267cc058cc5 |
| serverId | e10a856d-a66f-486c-95a6-3e5f9688b7f0 |
| volumeId | 714fa399-eb23-4fd0-bc31-8267cc058cc5 |
+----------+--------------------------------------+
For all the OpenStack configurations that are done from OpenStack control nodes, you can use the audit logs from the IBM Storwize storage system to identify the command that was triggered from OpenStack, as shown in Example 9-4.
Example 9-4 Audit logs from an IBM Storwize storage system indicating commands that are triggered from OpenStack
399 151027093451 openstack 9.122.121.65 0 114 svctask mkvdisk -name volume-c74daee9-1045-42fb-b88d-6fada39e82f1 -iogrp 0 -mdiskgrp mdiskgrp0 -size 1 -unit gb -autoexpand -grainsize 256 -rsize 2% -warning 0% -easytier on
400 151027093832 openstack 9.122.121.65 0 115 svctask mkvdisk -name volume-936e737d-f23b-482b-b8f6-0c9cb4f9e847 -iogrp 0 -mdiskgrp mdiskgrp0 -size 1 -unit gb -autoexpand -grainsize 256 -rsize 2% -warning 0% -easytier on
401 151027094527 openstack 9.122.121.65 0 116 svctask mkvdisk -name volume-289696ce-f44e-4ac5-8483-bd9f7d9c2532 -iogrp 0 -mdiskgrp mdiskgrp0 -size 1 -unit gb -autoexpand -grainsize 256 -rsize 2% -warning 0% -easytier on
402 151027094840 openstack 9.122.121.65 0 6 svctask mkhost -name dig_openstack-74177470 -force -iscsiname iqn.1994-05.com.redhat:8d096bbc0c7
403 151027094840 openstack 9.122.121.65 0 svctask chhost -chapsecret AtgnZEQYY7n5Ha3d 6
404 151027094841 openstack 9.122.121.65 0 svctask mkvdiskhostmap -host dig_openstack-74177470 -scsi 0 116
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.116.102