Jump to: navigation, search

How to deploy cinder with EMC plug-in

Cinder emc ver2.jpeg

Intro:

Cinder is responsible for the management of block storage in OpenStack, and handles volume management related tasks. Cinder supports different volume drivers, those drivers allows creation, modification and removal of volumes directly on related storage Vendor (type), in our case, EMC driver.

  • Note: that configuration is not that strait-forward, so please make sure to follow all steps required.

Setup:

  • Cinder machine installed with RHEL6.4
    • Note: we are using basic AIO topology
  • Dedicated physical machine installed with RHEL6.4 (64bit)
    • Note: this machine will be used to host the SMI-S server
  • EMC storage (we are using EMC VNX5300)
    • Address of both SPA and SPB controllers
    • User and password for both controllers
    • Dedicated storage pool (in our example: call it - "OpenStack")

Example Details:

  • Cinder machine IP address : 1.1.1.1
  • SMI-S Provider machine IP address : 1.1.1.10
  • SPA IP address : 1.1.1.102
  • SPB IP address : 1.1.1.103
  • ISCSI target IP address: 1.1.1.104

Configuration:

Storage (EMC) machine:

Using Unisphere, create a new storage pool with name "OpenStack" (make sure pool is a thin-pool).

SMI-S Server:

Install the following packages:

   # yum install -y libgcc_s.so.1 glibc.i686 *pywbem* compat-libstdc++-33.x86_64  libstdc++-devel-*

Download SMI-S (solution provider) from EMC site and install it (kit name: se7510-Linux-i386-SMI.tar) Unpack and install SMI-S server:

   # tar -xvf se7510-Linux-i386-SMI.tar
   # ./se7510_install.sh -install -host

Deploy SMI-S server and configure storage Array

  # cd /opt/emc/ECIM/ECOM/bin/
  #  ./TestSmiProvider 
     (localhost:5988) ? addsys
     Add System {y|n} [n]: y
     ArrayType (1=Clar, 2=Symm) [1]: 
     One or more IP address or Hostname or Array ID
     Elements for Addresses
     IP address or hostname or array id 0 (blank to quit): 1.1.1.102
     IP address or hostname or array id 1 (blank to quit): 1.1.1.103
     IP address or hostname or array id 2 (blank to quit): 
     Address types corresponding to addresses specified above.
     (1=URL, 2=IP/Nodename, 3=Array ID) 
     Address Type (0) [default=2]: 
     Address Type (1) [default=2]: 
     User [null]: sysadmin 
     Password [null]: sysadmin
     ++++ EMCAddSystem ++++

Cinder machine:

Pre Requirements

 # yum install -y libgcc_s.so.1 glibc.i686 *pywbem* compat-libstdc++-33.x86_64  libstdc++-devel-*

Configuration Changes

  # Edit /etc/cinder/cinder.conf and append the following configuration:
       iscsi_target_prefix = iqn.1992-04.com.emc
       iscsi_ip_address = 1.1.1.104
       volume_driver = cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver
       cinder_emc_config_file = /etc/cinder/cinder_emc_config.xml
  # touch  /etc/cinder/cinder_emc_config.xml
  # Edit  /etc/cinder/cinder_emc_config.xml and append the following configuration:
      <?xml version='1.0' encoding='UTF-8'?>
      <EMC>
      <StorageType>OpenStack</StorageType>
      <EcomServerIp>1.1.1.10</EcomServerIp>
      <EcomServerPort>5985</EcomServerPort>
      <EcomUserName>admin</EcomUserName>
      <EcomPassword>#1Password</EcomPassword>
      </EMC>

Restart cinder volume service:

    # /etc/init.d/openstack-cinder-volume restart

Testing:

   # . ~/keystonerc_admin
   #   cinder create --display-name test 10
   #   cinder list
   +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
   |                  ID            |   Status  | Display Name | Size | Volume Type | Bootable | Attached to |
   +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
   | bbc2cc41-5a05-4524-a31f-e6ed76ddab0b | available |    test     |  10   |     None    |  false      |   
   +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

For more information, please refer to the SMI-S Provider Release Notes