1=========================
2Fujitsu ETERNUS DX driver
3=========================
4
5Fujitsu ETERNUS DX driver provides FC and iSCSI support for
6ETERNUS DX S3 series.
7
8The driver performs volume operations by communicating with
9ETERNUS DX. It uses a CIM client in Python called PyWBEM
10to perform CIM operations over HTTP.
11
12You can specify RAID Group and Thin Provisioning Pool (TPP)
13in ETERNUS DX as a storage pool.
14
15System requirements
16~~~~~~~~~~~~~~~~~~~
17
18Supported storages:
19
20* ETERNUS DX60 S3
21* ETERNUS DX100 S3/DX200 S3
22* ETERNUS DX500 S3/DX600 S3
23* ETERNUS DX8700 S3/DX8900 S3
24* ETERNUS DX200F
25
26Requirements:
27
28* Firmware version V10L30 or later is required.
29* The multipath environment with ETERNUS Multipath Driver is unsupported.
30* An Advanced Copy Feature license is required
31  to create a snapshot and a clone.
32
33Supported operations
34~~~~~~~~~~~~~~~~~~~~
35
36* Create, delete, attach, and detach volumes.
37* Create, list, and delete volume snapshots.
38* Create a volume from a snapshot.
39* Copy an image to a volume.
40* Copy a volume to an image.
41* Clone a volume.
42* Extend a volume. (\*1)
43* Get volume statistics.
44
45(\*1): It is executable only when you use TPP as a storage pool.
46
47Preparation
48~~~~~~~~~~~
49
50Package installation
51--------------------
52
53Install the ``python-pywbem`` package for your distribution.
54
55ETERNUS DX setup
56----------------
57
58Perform the following steps using ETERNUS Web GUI or ETERNUS CLI.
59
60.. note::
61   * These following operations require an account that has the ``Admin`` role.
62   * For detailed operations, refer to ETERNUS Web GUI User's Guide or
63     ETERNUS CLI User's Guide for ETERNUS DX S3 series.
64
65#. Create an account for communication with cinder controller.
66
67#. Enable the SMI-S of ETERNUS DX.
68
69#. Register an Advanced Copy Feature license and configure copy table size.
70
71#. Create a storage pool for volumes.
72
73#. (Optional) If you want to create snapshots
74   on a different storage pool for volumes,
75   create a storage pool for snapshots.
76
77#. Create Snap Data Pool Volume (SDPV) to enable Snap Data Pool (SDP) for
78   ``create a snapshot``.
79
80#. Configure storage ports used for OpenStack.
81
82   - Set those storage ports to CA mode.
83   - Enable the host-affinity settings of those storage ports.
84
85     (ETERNUS CLI command for enabling host-affinity settings):
86
87     .. code-block:: console
88
89        CLI> set fc-parameters -host-affinity enable -port <CM#><CA#><Port#>
90        CLI> set iscsi-parameters -host-affinity enable -port <CM#><CA#><Port#>
91
92#. Ensure LAN connection between cinder controller and MNT port of ETERNUS DX
93   and SAN connection between Compute nodes and CA ports of ETERNUS DX.
94
95Configuration
96~~~~~~~~~~~~~
97
98#. Add the following entries to ``/etc/cinder/cinder.conf``:
99
100   FC entries:
101
102   .. code-block:: ini
103
104      volume_driver = cinder.volume.drivers.fujitsu.eternus_dx_fc.FJDXFCDriver
105      cinder_eternus_config_file = /etc/cinder/eternus_dx.xml
106
107   iSCSI entries:
108
109   .. code-block:: ini
110
111      volume_driver = cinder.volume.drivers.fujitsu.eternus_dx_iscsi.FJDXISCSIDriver
112      cinder_eternus_config_file = /etc/cinder/eternus_dx.xml
113
114   If there is no description about ``cinder_eternus_config_file``,
115   then the parameter is set to default value
116   ``/etc/cinder/cinder_fujitsu_eternus_dx.xml``.
117
118#. Create a driver configuration file.
119
120   Create a driver configuration file in the file path specified
121   as ``cinder_eternus_config_file`` in ``cinder.conf``,
122   and add parameters to the file as below:
123
124   FC configuration:
125
126   .. code-block:: xml
127
128       <?xml version='1.0' encoding='UTF-8'?>
129       <FUJITSU>
130       <EternusIP>0.0.0.0</EternusIP>
131       <EternusPort>5988</EternusPort>
132       <EternusUser>smisuser</EternusUser>
133       <EternusPassword>smispassword</EternusPassword>
134       <EternusPool>raid5_0001</EternusPool>
135       <EternusSnapPool>raid5_0001</EternusSnapPool>
136       </FUJITSU>
137
138   iSCSI configuration:
139
140   .. code-block:: xml
141
142       <?xml version='1.0' encoding='UTF-8'?>
143       <FUJITSU>
144       <EternusIP>0.0.0.0</EternusIP>
145       <EternusPort>5988</EternusPort>
146       <EternusUser>smisuser</EternusUser>
147       <EternusPassword>smispassword</EternusPassword>
148       <EternusPool>raid5_0001</EternusPool>
149       <EternusSnapPool>raid5_0001</EternusSnapPool>
150       <EternusISCSIIP>1.1.1.1</EternusISCSIIP>
151       <EternusISCSIIP>1.1.1.2</EternusISCSIIP>
152       <EternusISCSIIP>1.1.1.3</EternusISCSIIP>
153       <EternusISCSIIP>1.1.1.4</EternusISCSIIP>
154       </FUJITSU>
155
156   Where:
157
158   ``EternusIP``
159       IP address for the SMI-S connection of the ETRENUS DX.
160
161       Enter the IP address of MNT port of the ETERNUS DX.
162
163   ``EternusPort``
164       Port number for the SMI-S connection port of the ETERNUS DX.
165
166   ``EternusUser``
167       User name for the SMI-S connection of the ETERNUS DX.
168
169   ``EternusPassword``
170       Password for the SMI-S connection of the ETERNUS DX.
171
172   ``EternusPool``
173       Storage pool name for volumes.
174
175       Enter RAID Group name or TPP name in the ETERNUS DX.
176
177   ``EternusSnapPool``
178       Storage pool name for snapshots.
179
180       Enter RAID Group name in the ETERNUS DX.
181
182   ``EternusISCSIIP`` (Multiple setting allowed)
183       iSCSI connection IP address of the ETERNUS DX.
184
185   .. note::
186
187      * For ``EternusSnapPool``, you can specify only RAID Group name
188        and cannot specify TPP name.
189      * You can specify the same RAID Group name for ``EternusPool`` and ``EternusSnapPool``
190        if you create volumes and snapshots on a same storage pool.
191
192Configuration example
193~~~~~~~~~~~~~~~~~~~~~
194
195#. Edit ``cinder.conf``:
196
197   .. code-block:: ini
198
199      [DEFAULT]
200      enabled_backends = DXFC, DXISCSI
201
202      [DXFC]
203      volume_driver = cinder.volume.drivers.fujitsu.eternus_dx_fc.FJDXFCDriver
204      cinder_eternus_config_file = /etc/cinder/fc.xml
205      volume_backend_name = FC
206
207      [DXISCSI]
208      volume_driver = cinder.volume.drivers.fujitsu.eternus_dx_iscsi.FJDXISCSIDriver
209      cinder_eternus_config_file = /etc/cinder/iscsi.xml
210      volume_backend_name = ISCSI
211
212#. Create the driver configuration files ``fc.xml`` and ``iscsi.xml``.
213
214#. Create a volume type and set extra specs to the type:
215
216   .. code-block:: console
217
218      $ openstack volume type create DX_FC
219      $ openstack volume type set --property volume_backend_name=FC DX_FX
220      $ openstack volume type create DX_ISCSI
221      $ openstack volume type set --property volume_backend_name=ISCSI DX_ISCSI
222
223   By issuing these commands,
224   the volume type ``DX_FC`` is associated with the ``FC``,
225   and the type ``DX_ISCSI`` is associated with the ``ISCSI``.
226