Jump to: navigation, search

Difference between revisions of "How to deploy cinder with EMC plug-in"

 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== <sup>'''The following guide describe how to steps to configure and deploy cinder with EMC plug-in.'''</sup> ==
+
[[File:Cinder_emc_ver2.jpeg|framed|center]]
 
 
[[File:Cinder emc.jpeg|thumbnail|center]]
 
  
 
=== '''Intro:''' ===
 
=== '''Intro:''' ===
  
Cinder is responsible for management of block storage in openstack, and handles volume management related tasks.  
+
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 and modification of volumes directly on related storage Vendor (type).
+
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.
 
in our case, EMC driver.
  
'''note''' that configuration is not that strait-forward, so please make sure to follow all steps required.  
+
*'''Note:''' that configuration is not that strait-forward, so please make sure to follow all steps required.
  
 
=== '''Setup:''' ===
 
=== '''Setup:''' ===
  
Cinder machine installed with RHEL6.4
+
*Cinder machine installed with RHEL6.4
  * note: we are using basic AIO topology  
+
** 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
  
Dedicated physical machine installed with RHEL6.4 (64bit)
+
* EMC storage (we are using EMC VNX5300)
  * note: this machine will be used to host the SMI-S agent
+
** Address of both SPA and SPB controllers
 +
** User and password for both controllers
 +
** Dedicated storage pool (in our example: call it - "OpenStack")
  
- EMC storage (we are using EMC VNX5300)
+
====Example Details:====
  * address of both SPA and SPB controllers
+
* Cinder machine IP address : '''1.1.1.1'''
  * user and password for both controllers
+
* SMI-S Provider machine IP address : '''1.1.1.10'''
  * dedicated storage pool (in our example: call it - "OpenStack")
+
* SPA IP address : '''1.1.1.102'''
 +
* SPB IP address : '''1.1.1.103'''
 +
* ISCSI target IP address: '''1.1.1.104'''
  
 
=== '''Configuration:''' ===
 
=== '''Configuration:''' ===
  
 
===== Storage (EMC) machine: =====
 
===== Storage (EMC) machine: =====
create a new storage pool with name "OpenStack"
+
Using Unisphere, create a new storage pool with name "OpenStack" (make sure pool is a thin-pool).
  
===== SMI-S machine: =====
+
===== SMI-S Server: =====
install the following packages
+
Install the following packages:
     * yum install -y libgcc_s.so.1 glibc.i686 *pywbem* compat-libstdc++-33.x86_64  
+
     # 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)
+
Download SMI-S (solution provider) from EMC site and install it ('''kit name:''' se7510-Linux-i386-SMI.tar)
unpack and install SMI-S agent:
+
Unpack and install SMI-S server:
     * tar -xvf se7510-Linux-i386-SMI.tar
+
     # '''tar -xvf se7510-Linux-i386-SMI.tar'''
     * ./se7510_install.sh -install -host
+
     # '''./se7510_install.sh -install -host'''
deploy SMI-S agent and configure storage Array
+
Deploy SMI-S server and configure storage Array
   * cd /opt/emc/ECIM/ECOM/bin/
+
   # '''cd /opt/emc/ECIM/ECOM/bin/'''
   * ./TestSmiProvider  
+
   # '''./TestSmiProvider'''
       (localhost:5988) ? addsys
+
       (localhost:5988) ? '''addsys'''
 
       Add System {y|n} [n]: y
 
       Add System {y|n} [n]: y
 
       ArrayType (1=Clar, 2=Symm) [1]:  
 
       ArrayType (1=Clar, 2=Symm) [1]:  
 
       One or more IP address or Hostname or Array ID
 
       One or more IP address or Hostname or Array ID
 
       Elements for Addresses
 
       Elements for Addresses
       IP address or hostname or array id 0 (blank to quit): 10.35.160.102
+
       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): 10.35.160.103
+
       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):  
 
       IP address or hostname or array id 2 (blank to quit):  
 
       Address types corresponding to addresses specified above.
 
       Address types corresponding to addresses specified above.
Line 51: Line 56:
 
       Address Type (0) [default=2]:  
 
       Address Type (0) [default=2]:  
 
       Address Type (1) [default=2]:  
 
       Address Type (1) [default=2]:  
       User [null]: sysadmin  
+
       User [null]: '''sysadmin'''
       Password [null]: sysadmin
+
       Password [null]: '''sysadmin'''
 
       ++++ EMCAddSystem ++++
 
       ++++ EMCAddSystem ++++
  
===== Cinder machine: =====
+
=== Cinder machine: ===
perform the following configuration changes:
+
====Pre Requirements====
 
+
  # yum install -y libgcc_s.so.1 glibc.i686 *pywbem* compat-libstdc++-33.x86_64  libstdc++-devel-*
  * edit /etc/cinder/cinder.conf and append the following configuration:
+
====Configuration Changes====
        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
 
  
   * edit /etc/cinder/cinder_emc_config.xml and append the following configuration:
+
   # 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'?>
 
       <?xml version='1.0' encoding='UTF-8'?>
 
       <EMC>
 
       <EMC>
       <StorageType>OpenStack</StorageType>
+
       <StorageType>'''OpenStack'''</StorageType>
       <EcomServerIp>1.1.1.10</EcomServerIp>
+
       <EcomServerIp>'''1.1.1.10'''</EcomServerIp>
       <EcomServerPort>5985</EcomServerPort>
+
       <EcomServerPort>'''5985'''</EcomServerPort>
       <EcomUserName>admin</EcomUserName>
+
       <EcomUserName>'''admin'''</EcomUserName>
       <EcomPassword>#1Password</EcomPassword>
+
       <EcomPassword>'''#1Password'''</EcomPassword>
       </EMC
+
       </EMC>
  
restart cinder volume service:
+
Restart cinder volume service:
     * /etc/init.d/openstack-cinder-volume restart
+
     # '''/etc/init.d/openstack-cinder-volume restart'''
  
 
=== '''Testing:''' ===
 
=== '''Testing:''' ===
  
let's make sure its indeed working:
+
     # . ~/keystonerc_admin
     * . ~/keystonerc_admin
+
     #   cinder create --display-name test 10
     *   cinder create --display-name test 10
+
     #   cinder list
     *   cinder list
 
 
     +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
 
     +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
 
     |                  ID            |  Status  | Display Name | Size | Volume Type | Bootable | Attached to |
 
     |                  ID            |  Status  | Display Name | Size | Volume Type | Bootable | Attached to |
 
     +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
 
     +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
     | bbc2cc41-5a05-4524-a31f-e6ed76ddab0b | available |    test    |  1   |    None    |  false      |   
+
     | bbc2cc41-5a05-4524-a31f-e6ed76ddab0b | available |    test    |  10   |    None    |  false      |   
 
     +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
 
     +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
 +
 +
For more information, please refer to the SMI-S Provider Release Notes

Latest revision as of 09:02, 17 October 2013

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