blob: 41cd91c38c9e24148121ac02d182e282f7520c83 [file] [log] [blame]
Filip Pytlounda2a0792015-10-06 16:28:31 +02001==============================
2Openstack Cinder Block Storage
3==============================
4
Jakub Pavlikb513f132016-05-20 11:11:19 +02005Cinder provides an infrastructure for managing volumes in OpenStack. It was
6originally a Nova component called nova-volume, but has become an independent
7project since the Folsom release.
Filip Pytlounda2a0792015-10-06 16:28:31 +02008
9Sample pillars
10==============
11
Jakub Pavlikb513f132016-05-20 11:11:19 +020012New structure divides cinder-api,cinder-scheduler to role controller and
13cinder-volume to role volume.
Filip Pytlounda2a0792015-10-06 16:28:31 +020014
15.. code-block:: yaml
16
17 cinder:
18 controller:
19 enabled: true
20 version: juno
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010021 default_volume_type: 7k2SaS
Filip Pytlounda2a0792015-10-06 16:28:31 +020022 database:
23 engine: mysql
24 host: 127.0.0.1
25 port: 3306
26 name: cinder
27 user: cinder
28 password: pwd
29 identity:
30 engine: keystone
31 host: 127.0.0.1
32 port: 35357
33 tenant: service
34 user: cinder
35 password: pwd
36 message_queue:
37 engine: rabbitmq
38 host: 127.0.0.1
39 port: 5672
40 user: openstack
41 password: pwd
42 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010043 backend:
44 7k2_SAS:
45 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +010046 type_name: slow-disks
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010047 host: 192.168.0.1
48 port: 22
49 user: username
50 password: pass
51 connection: FC/iSCSI
52 multihost: true
53 multipath: true
54 pool: SAS7K2
Petr Michaleca1c7ff12016-11-29 16:32:50 +010055 audit:
56 enabled: false
Filip Pytlounda2a0792015-10-06 16:28:31 +020057
58 cinder:
59 volume:
60 enabled: true
61 version: juno
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010062 default_volume_type: 7k2SaS
Filip Pytlounda2a0792015-10-06 16:28:31 +020063 database:
64 engine: mysql
65 host: 127.0.0.1
66 port: 3306
67 name: cinder
68 user: cinder
69 password: pwd
70 identity:
71 engine: keystone
72 host: 127.0.0.1
73 port: 35357
74 tenant: service
75 user: cinder
76 password: pwd
77 message_queue:
78 engine: rabbitmq
79 host: 127.0.0.1
80 port: 5672
81 user: openstack
82 password: pwd
83 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010084 backend:
85 7k2_SAS:
86 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +010087 type_name: 7k2 SAS disk
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010088 host: 192.168.0.1
89 port: 22
90 user: username
91 password: pass
92 connection: FC/iSCSI
93 multihost: true
94 multipath: true
95 pool: SAS7K2
Petr Michaleca1c7ff12016-11-29 16:32:50 +010096 audit:
97 enabled: false
Jiri Konecny2dce35f2016-04-19 16:29:52 +020098
99Client-side RabbitMQ HA setup for controller
100
101.. code-block:: yaml
102
103 cinder:
104 controller:
105 ....
106 message_queue:
107 engine: rabbitmq
108 members:
109 - host: 10.0.16.1
110 - host: 10.0.16.2
111 - host: 10.0.16.3
112 user: openstack
113 password: pwd
114 virtual_host: '/openstack'
115 ....
116
117Client-side RabbitMQ HA setup for volume component
118
119.. code-block:: yaml
120
121 cinder:
122 volume:
123 ....
124 message_queue:
125 engine: rabbitmq
126 members:
127 - host: 10.0.16.1
128 - host: 10.0.16.2
129 - host: 10.0.16.3
130 user: openstack
131 password: pwd
132 virtual_host: '/openstack'
133 ....
Filip Pytlounda2a0792015-10-06 16:28:31 +0200134
135Cinder setup with zeroing deleted volumes
136
137 cinder:
138 controller:
139 enabled: true
140 wipe_method: zero
141 ...
142
143Cinder setup with shreding deleted volumes
144
145.. code-block:: yaml
146
147 cinder:
148 controller:
149 enabled: true
150 wipe_method: shred
151 ...
152
153
154Default Cinder setup with iSCSI target
155
156.. code-block:: yaml
157
158 cinder:
159 controller:
160 enabled: true
Jakub Pavlik3d437df2016-04-11 22:07:50 +0200161 version: mitaka
162 default_volume_type: lvmdriver-1
Filip Pytlounda2a0792015-10-06 16:28:31 +0200163 database:
164 engine: mysql
165 host: 127.0.0.1
166 port: 3306
167 name: cinder
168 user: cinder
169 password: pwd
170 identity:
171 engine: keystone
172 host: 127.0.0.1
173 port: 35357
174 tenant: service
175 user: cinder
176 password: pwd
177 message_queue:
178 engine: rabbitmq
179 host: 127.0.0.1
180 port: 5672
181 user: openstack
182 password: pwd
183 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +0100184 backend:
Jakub Pavlik3d437df2016-04-11 22:07:50 +0200185 lvmdriver-1:
186 engine: lvm
187 type_name: lvmdriver-1
188 volume_group: cinder-volume
Filip Pytlounda2a0792015-10-06 16:28:31 +0200189
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100190Cinder setup for IBM Storwize
Filip Pytlounda2a0792015-10-06 16:28:31 +0200191
192.. code-block:: yaml
193
194 cinder:
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100195 volume:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200196 enabled: true
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100197 backend:
198 7k2_SAS:
199 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100200 type_name: 7k2 SAS disk
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100201 host: 192.168.0.1
202 port: 22
203 user: username
204 password: pass
205 connection: FC/iSCSI
206 multihost: true
207 multipath: true
208 pool: SAS7K2
209 10k_SAS:
210 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100211 type_name: 10k SAS disk
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100212 host: 192.168.0.1
213 port: 22
214 user: username
215 password: pass
216 connection: FC/iSCSI
217 multihost: true
218 multipath: true
219 pool: SAS10K
220 15k_SAS:
221 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100222 type_name: 15k SAS
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100223 host: 192.168.0.1
224 port: 22
225 user: username
226 password: pass
227 connection: FC/iSCSI
228 multihost: true
229 multipath: true
230 pool: SAS15K
Filip Pytlounda2a0792015-10-06 16:28:31 +0200231
232Cinder setup with Hitachi VPS
233
234.. code-block:: yaml
235
236 cinder:
237 controller:
238 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100239 backend:
240 hus100_backend:
marcodaa52fa2016-01-25 23:49:50 +0100241 type_name: HUS100
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100242 backend: hus100_backend
243 engine: hitachi_vsp
244 connection: FC
Filip Pytlounda2a0792015-10-06 16:28:31 +0200245
Ondrej Smola16d66bd2017-01-15 13:56:03 +0100246Cinder setup with Hitachi VPS with defined ldev range
247
248.. code-block:: yaml
249
250 cinder:
251 controller:
252 enabled: true
253 backend:
254 hus100_backend:
255 type_name: HUS100
256 backend: hus100_backend
257 engine: hitachi_vsp
258 connection: FC
259 ldev_range: 0-1000
260
Filip Pytlounda2a0792015-10-06 16:28:31 +0200261Cinder setup with CEPH
262
263.. code-block:: yaml
264
265 cinder:
266 controller:
267 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100268 backend:
269 ceph_backend:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100270 type_name: standard-iops
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100271 backend: ceph_backend
272 pool: volumes
273 engine: ceph
274 user: cinder
275 secret_uuid: da74ccb7-aa59-1721-a172-0006b1aa4e3e
276 client_cinder_key: AQDOavlU6BsSJhAAnpFR906mvdgdfRqLHwu0Uw==
Filip Pytlounda2a0792015-10-06 16:28:31 +0200277
278http://ceph.com/docs/master/rbd/rbd-openstack/
279
280
281Cinder setup with HP3par
282
283.. code-block:: yaml
284
285 cinder:
286 controller:
287 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100288 backend:
289 hp3par_backend:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100290 type_name: hp3par
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100291 backend: hp3par_backend
292 user: hp3paruser
293 password: something
294 url: http://10.10.10.10/api/v1
295 cpg: OpenStackCPG
296 host: 10.10.10.10
297 login: hp3paradmin
298 sanpassword: something
299 debug: True
300 snapcpg: OpenStackSNAPCPG
Filip Pytlounda2a0792015-10-06 16:28:31 +0200301
302Cinder setup with Fujitsu Eternus
303
304.. code-block:: yaml
305
306 cinder:
307 volume:
308 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100309 backend:
310 10kThinPro:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100311 type_name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100312 engine: fujitsu
313 pool: 10kThinPro
314 host: 192.168.0.1
315 port: 5988
316 user: username
317 password: pass
318 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100319 name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100320 10k_SAS:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100321 type_name: 10k_SAS
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100322 pool: SAS10K
323 engine: fujitsu
324 host: 192.168.0.1
325 port: 5988
326 user: username
327 password: pass
328 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100329 name: 10k_SAS
Filip Pytlounda2a0792015-10-06 16:28:31 +0200330
Jakub Pavlik9703c602015-10-15 18:52:47 +0200331Cinder setup with IBM GPFS filesystem
332
333.. code-block:: yaml
334
335 cinder:
336 volume:
337 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100338 backend:
339 GPFS-GOLD:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100340 type_name: GPFS-GOLD
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100341 engine: gpfs
342 mount_point: '/mnt/gpfs-openstack/cinder/gold'
marcodaa52fa2016-01-25 23:49:50 +0100343 GPFS-SILVER:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100344 type_name: GPFS-SILVER
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100345 engine: gpfs
346 mount_point: '/mnt/gpfs-openstack/cinder/silver'
Jakub Pavlik9f5988a2016-01-11 13:44:57 +0100347
348Cinder setup with HP LeftHand
349
350.. code-block:: yaml
351
352 cinder:
353 volume:
354 enabled: true
355 backend:
356 HP-LeftHand:
357 type_name: normal-storage
358 engine: hp_lefthand
359 api_url: 'https://10.10.10.10:8081/lhos'
360 username: user
361 password: password
362 clustername: cluster1
363 iscsi_chap_enabled: false
364
Jakub Pavlika63764f2016-01-11 14:41:06 +0100365Extra parameters for HP LeftHand
Jakub Pavlika63764f2016-01-11 14:41:06 +0100366
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100367.. code-block:: yaml
368
369 cinder type-key normal-storage set hplh:data_pl=r-10-2 hplh:provisioning=full
370
marcodaa52fa2016-01-25 23:49:50 +0100371Cinder setup with Solidfire
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100372
373.. code-block:: yaml
374
375 cinder:
376 volume:
377 enabled: true
378 backend:
379 solidfire:
380 type_name: normal-storage
381 engine: solidfire
382 san_ip: 10.10.10.10
383 san_login: user
384 san_password: password
385 clustername: cluster1
386 sf_emulate_512: false
Filip Pytlounda2a0792015-10-06 16:28:31 +0200387
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100388
389
390Enable auditing filter, ie: CADF
391
392.. code-block:: yaml
393
394 cinder:
395 controller:
396 audit:
397 enabled: true
398 ....
399 filter_factory: 'keystonemiddleware.audit:filter_factory'
400 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
401 ....
402 volume:
403 audit:
404 enabled: true
405 ....
406 filter_factory: 'keystonemiddleware.audit:filter_factory'
407 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
408
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100409
410Cinder setup with custom availability zones:
411
412.. code-block:: yaml
413
414 cinder:
415 controller:
416 default_availability_zone: my-default-zone
417 storage_availability_zone: my-custom-zone-name
418 cinder:
419 volume:
420 default_availability_zone: my-default-zone
421 storage_availability_zone: my-custom-zone-name
422
423The default availability zone is used when a volume has been created, without specifying a zone in the create request. (this zone must exist in your configuration obviously)
424The storage availability zone is the actual zone where the node belongs to. Make sure to specify this per node.
425Check the documentation of OpenStack for more information
426
Jakub Pavlikb513f132016-05-20 11:11:19 +0200427Documentation and Bugs
428============================
429
430To learn how to deploy OpenStack Salt, consult the documentation available
431online at:
432
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100433https://wiki.openstack.org/wiki/OpenStackSalt
Jakub Pavlikb513f132016-05-20 11:11:19 +0200434
435In the unfortunate event that bugs are discovered, they should be reported to
436the appropriate bug tracker. If you obtained the software from a 3rd party
437operating system vendor, it is often wise to use their own bug tracker for
438reporting problems. In all other cases use the master OpenStack bug tracker,
439available at:
440
441 http://bugs.launchpad.net/openstack-salt
442
443Developers wishing to work on the OpenStack Salt project should always base
444their work on the latest formulas code, available from the master GIT
445repository at:
446
447 https://git.openstack.org/cgit/openstack/salt-formula-cinder
448
449Developers should also join the discussion on the IRC list, at:
450
451 https://wiki.openstack.org/wiki/Meetings/openstack-salt
Filip Pytlounb0f5c1f2017-02-02 13:02:03 +0100452
453Documentation and Bugs
454======================
455
456To learn how to install and update salt-formulas, consult the documentation
457available online at:
458
459 http://salt-formulas.readthedocs.io/
460
461In the unfortunate event that bugs are discovered, they should be reported to
462the appropriate issue tracker. Use Github issue tracker for specific salt
463formula:
464
465 https://github.com/salt-formulas/salt-formula-cinder/issues
466
467For feature requests, bug reports or blueprints affecting entire ecosystem,
468use Launchpad salt-formulas project:
469
470 https://launchpad.net/salt-formulas
471
472You can also join salt-formulas-users team and subscribe to mailing list:
473
474 https://launchpad.net/~salt-formulas-users
475
476Developers wishing to work on the salt-formulas projects should always base
477their work on master branch and submit pull request against specific formula.
478
479 https://github.com/salt-formulas/salt-formula-cinder
480
481Any questions or feedback is always welcome so feel free to join our IRC
482channel:
483
484 #salt-formulas @ irc.freenode.net