EMC SMI-S iSCSI Driver The EMCSMISISCSIDriver is based on the existing ISCSIDriver, with the ability to create/delete and attach/detach volumes and create/delete snapshots, and so on. The EMCSMISISCSIDriver runs volume operations by communicating with the backend EMC storage. It uses a CIM client in python called PyWBEM to make CIM operations over HTTP. The EMC CIM Object Manager (ECOM) is packaged with the EMC SMI-S Provider. It is a CIM server that allows CIM clients to make CIM operations over HTTP, using SMI-S in the backend for EMC storage operations. The EMC SMI-S Provider supports the SNIA Storage Management Initiative (SMI), an ANSI standard for storage management. It supports VMAX and VNX storage systems.
System Requirements EMC SMI-S Provider V4.5.1 and higher is required. You can download SMI-S from EMC's Powerlink web site. See the EMC SMI-S Provider release notes for installation instructions. EMC storage VMAX Family and VNX Series are supported.
Supported Operations The following operations are supported on both VMAX and VNX arrays: Create volume Delete volume Attach volume Detach volume Create snapshot Delete snapshot Create cloned volume Copy image to volume Copy volume to image The following operations are supported on VNX only: Create volume from snapshot Only thin provisioning is supported.
Task flow To set up the EMC SMI-S iSCSI driver Install the python-pywbem package for your distribution. See . Download SMI-S from PowerLink and install it. Add your VNX/VMAX arrays to SMI-S. For information, see and the SMI-S release notes. Register with VNX. See . Create a masking view on VMAX. See .
Install the python-pywbem package Install the python-pywbem package for your distribution, as follows: On Ubuntu: $ sudo apt-get install python-pywbem On openSUSE: $ zypper install python-pywbem On Fedora: $ yum install pywbem
Set up SMI-S You can install SMI-S on a non-OpenStack host. Supported platforms include different flavors of Windows, Red Hat, and SUSE Linux. It can be either a physical server or a VM hosted by an ESX server. See the EMC SMI-S Provider release notes for supported platforms and installation instructions. Storage arrays must be discovered on the SMI-S server before using the Cinder Driver. Follow instructions in the SMI-S release notes to discover the arrays. SMI-S is usually installed at /opt/emc/ECIM/ECOM/bin on Linux and C:\Program Files\EMC\ECIM\ECOM\bin on Windows. After you install and configure SMI-S, go to that directory and type TestSmiProvider.exe. Use addsys in TestSmiProvider.exe to add an array. Use dv and examine the output after the array is added. Make sure that the arrays are recognized by the SMI-S server before using the EMC Cinder Driver.
Register with VNX To export a VNX volume to a Compute node, you must register the node with VNX. On the Compute node 1.1.1.1, do the following (assume 10.10.61.35 is the iscsi target): $ sudo /etc/init.d/open-iscsi start $ sudo iscsiadm -m discovery -t st -p 10.10.61.35 $ cd /etc/iscsi $ sudo more initiatorname.iscsi $ iscsiadm -m node Log in to VNX from the Compute node using the target corresponding to the SPA port: $ sudo iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm01234567890.a0 -p 10.10.61.35 -l Assume iqn.1993-08.org.debian:01:1a2b3c4d5f6g is the initiator name of the Compute node. Login to Unisphere, go to VNX00000->Hosts->Initiators, Refresh and wait until initiator iqn.1993-08.org.debian:01:1a2b3c4d5f6g with SP Port A-8v0 appears. Click the "Register" button, select "CLARiiON/VNX" and enter the host name myhost1 and IP address myhost1. Click Register. Now host 1.1.1.1 appears under Hosts->Host List as well. Log out of VNX on the Compute node: $ sudo iscsiadm -m node -u Log in to VNX from the Compute node using the target corresponding to the SPB port: $ sudo iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm01234567890.b8 -p 10.10.10.11 -l In Unisphere register the initiator with the SPB port. Log out: $ sudo iscsiadm -m node -u
Create a Masking View on VMAX For VMAX, you must set up the Unisphere for VMAX server. On the Unisphere for VMAX server, create initiator group, storage group, port group, and put them in a masking view. Initiator group contains the initiator names of the openstack hosts. Storage group should have at least six gatekeepers.
Config file <filename>cinder.conf</filename> Make the following changes in /etc/cinder/cinder.conf. For VMAX, add the following entries, where 10.10.61.45 is the IP address of the VMAX iscsi target: iscsi_target_prefix = iqn.1992-04.com.emc iscsi_ip_address = 10.10.61.45 volume_driver = cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver cinder_emc_config_file = /etc/cinder/cinder_emc_config.xml For VNX, add the following entries, where 10.10.61.35 is the IP address of the VNX iscsi target: iscsi_target_prefix = iqn.2001-07.com.vnx iscsi_ip_address = 10.10.61.35 volume_driver = cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver cinder_emc_config_file = /etc/cinder/cinder_emc_config.xml Restart the cinder-volume service.
Config file <filename>cinder_emc_config.xml</filename> Create the file /etc/cinder/cinder_emc_config.xml. You do not need to restart the service for this change. For VMAX, add the following lines to the XML file: <?xml version='1.0' encoding='UTF-8'?> <EMC> <StorageType>xxxx</StorageType> <MaskingView>xxxx</MaskingView> <EcomServerIp>x.x.x.x</EcomServerIp> <EcomServerPort>xxxx</EcomServerPort> <EcomUserName>xxxxxxxx</EcomUserName> <EcomPassword>xxxxxxxx</EcomPassword> </EMC< For VNX, add the following lines to the XML file: <?xml version='1.0' encoding='UTF-8'?> <EMC> <StorageType>xxxx</StorageType> <EcomServerIp>x.x.x.x</EcomServerIp> <EcomServerPort>xxxx</EcomServerPort> <EcomUserName>xxxxxxxx</EcomUserName> <EcomPassword>xxxxxxxx</EcomPassword> </EMC< To attach VMAX volumes to an OpenStack VM, you must create a Masking View by using Unisphere for VMAX. The Masking View must have an Initiator Group that contains the initiator of the OpenStack compute node that hosts the VM. StorageType is the thin pool where user wants to create the volume from. Only thin LUNs are supported by the plugin. Thin pools can be created using Unisphere for VMAX and VNX. EcomServerIp and EcomServerPort are the IP address and port number of the ECOM server which is packaged with SMI-S. EcomUserName and EcomPassword are credentials for the ECOM server.