blob: 7d6c011675ceb5ad70107ebe312a02a04539ef5f [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
Simon Pasquier9089de42017-02-03 16:13:22 +010057 osapi_max_limit: 500
Filip Pytlounda2a0792015-10-06 16:28:31 +020058
59 cinder:
60 volume:
61 enabled: true
62 version: juno
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010063 default_volume_type: 7k2SaS
Filip Pytlounda2a0792015-10-06 16:28:31 +020064 database:
65 engine: mysql
66 host: 127.0.0.1
67 port: 3306
68 name: cinder
69 user: cinder
70 password: pwd
71 identity:
72 engine: keystone
73 host: 127.0.0.1
74 port: 35357
75 tenant: service
76 user: cinder
77 password: pwd
78 message_queue:
79 engine: rabbitmq
80 host: 127.0.0.1
81 port: 5672
82 user: openstack
83 password: pwd
84 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010085 backend:
86 7k2_SAS:
87 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +010088 type_name: 7k2 SAS disk
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010089 host: 192.168.0.1
90 port: 22
91 user: username
92 password: pass
93 connection: FC/iSCSI
94 multihost: true
95 multipath: true
96 pool: SAS7K2
Petr Michaleca1c7ff12016-11-29 16:32:50 +010097 audit:
98 enabled: false
Jiri Konecny2dce35f2016-04-19 16:29:52 +020099
100Client-side RabbitMQ HA setup for controller
101
102.. code-block:: yaml
103
104 cinder:
105 controller:
106 ....
107 message_queue:
108 engine: rabbitmq
109 members:
110 - host: 10.0.16.1
111 - host: 10.0.16.2
112 - host: 10.0.16.3
113 user: openstack
114 password: pwd
115 virtual_host: '/openstack'
116 ....
117
118Client-side RabbitMQ HA setup for volume component
119
120.. code-block:: yaml
121
122 cinder:
123 volume:
124 ....
125 message_queue:
126 engine: rabbitmq
127 members:
128 - host: 10.0.16.1
129 - host: 10.0.16.2
130 - host: 10.0.16.3
131 user: openstack
132 password: pwd
133 virtual_host: '/openstack'
134 ....
Filip Pytlounda2a0792015-10-06 16:28:31 +0200135
136Cinder setup with zeroing deleted volumes
137
Alexander Noskov62496fb2017-02-27 16:42:54 +0100138.. code-block:: yaml
139
Filip Pytlounda2a0792015-10-06 16:28:31 +0200140 cinder:
141 controller:
142 enabled: true
143 wipe_method: zero
144 ...
145
146Cinder setup with shreding deleted volumes
147
148.. code-block:: yaml
149
150 cinder:
151 controller:
152 enabled: true
153 wipe_method: shred
154 ...
155
156
157Default Cinder setup with iSCSI target
158
159.. code-block:: yaml
160
161 cinder:
162 controller:
163 enabled: true
Jakub Pavlik3d437df2016-04-11 22:07:50 +0200164 version: mitaka
165 default_volume_type: lvmdriver-1
Filip Pytlounda2a0792015-10-06 16:28:31 +0200166 database:
167 engine: mysql
168 host: 127.0.0.1
169 port: 3306
170 name: cinder
171 user: cinder
172 password: pwd
173 identity:
174 engine: keystone
175 host: 127.0.0.1
176 port: 35357
177 tenant: service
178 user: cinder
179 password: pwd
180 message_queue:
181 engine: rabbitmq
182 host: 127.0.0.1
183 port: 5672
184 user: openstack
185 password: pwd
186 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +0100187 backend:
Jakub Pavlik3d437df2016-04-11 22:07:50 +0200188 lvmdriver-1:
189 engine: lvm
190 type_name: lvmdriver-1
191 volume_group: cinder-volume
Filip Pytlounda2a0792015-10-06 16:28:31 +0200192
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100193Cinder setup for IBM Storwize
Filip Pytlounda2a0792015-10-06 16:28:31 +0200194
195.. code-block:: yaml
196
197 cinder:
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100198 volume:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200199 enabled: true
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100200 backend:
201 7k2_SAS:
202 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100203 type_name: 7k2 SAS disk
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100204 host: 192.168.0.1
205 port: 22
206 user: username
207 password: pass
208 connection: FC/iSCSI
209 multihost: true
210 multipath: true
211 pool: SAS7K2
212 10k_SAS:
213 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100214 type_name: 10k SAS disk
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100215 host: 192.168.0.1
216 port: 22
217 user: username
218 password: pass
219 connection: FC/iSCSI
220 multihost: true
221 multipath: true
222 pool: SAS10K
223 15k_SAS:
224 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100225 type_name: 15k SAS
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100226 host: 192.168.0.1
227 port: 22
228 user: username
229 password: pass
230 connection: FC/iSCSI
231 multihost: true
232 multipath: true
233 pool: SAS15K
Filip Pytlounda2a0792015-10-06 16:28:31 +0200234
235Cinder setup with Hitachi VPS
236
237.. code-block:: yaml
238
239 cinder:
240 controller:
241 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100242 backend:
243 hus100_backend:
marcodaa52fa2016-01-25 23:49:50 +0100244 type_name: HUS100
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100245 backend: hus100_backend
246 engine: hitachi_vsp
247 connection: FC
Filip Pytlounda2a0792015-10-06 16:28:31 +0200248
Ondrej Smola16d66bd2017-01-15 13:56:03 +0100249Cinder setup with Hitachi VPS with defined ldev range
250
251.. code-block:: yaml
252
253 cinder:
254 controller:
255 enabled: true
256 backend:
257 hus100_backend:
258 type_name: HUS100
259 backend: hus100_backend
260 engine: hitachi_vsp
261 connection: FC
262 ldev_range: 0-1000
263
Filip Pytlounda2a0792015-10-06 16:28:31 +0200264Cinder setup with CEPH
265
266.. code-block:: yaml
267
268 cinder:
269 controller:
270 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100271 backend:
272 ceph_backend:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100273 type_name: standard-iops
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100274 backend: ceph_backend
275 pool: volumes
276 engine: ceph
277 user: cinder
278 secret_uuid: da74ccb7-aa59-1721-a172-0006b1aa4e3e
279 client_cinder_key: AQDOavlU6BsSJhAAnpFR906mvdgdfRqLHwu0Uw==
Filip Pytlounda2a0792015-10-06 16:28:31 +0200280
281http://ceph.com/docs/master/rbd/rbd-openstack/
282
283
284Cinder setup with HP3par
285
286.. code-block:: yaml
287
288 cinder:
289 controller:
290 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100291 backend:
292 hp3par_backend:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100293 type_name: hp3par
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100294 backend: hp3par_backend
295 user: hp3paruser
296 password: something
297 url: http://10.10.10.10/api/v1
298 cpg: OpenStackCPG
299 host: 10.10.10.10
300 login: hp3paradmin
301 sanpassword: something
302 debug: True
303 snapcpg: OpenStackSNAPCPG
Filip Pytlounda2a0792015-10-06 16:28:31 +0200304
305Cinder setup with Fujitsu Eternus
306
307.. code-block:: yaml
308
309 cinder:
310 volume:
311 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100312 backend:
313 10kThinPro:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100314 type_name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100315 engine: fujitsu
316 pool: 10kThinPro
317 host: 192.168.0.1
318 port: 5988
319 user: username
320 password: pass
321 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100322 name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100323 10k_SAS:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100324 type_name: 10k_SAS
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100325 pool: SAS10K
326 engine: fujitsu
327 host: 192.168.0.1
328 port: 5988
329 user: username
330 password: pass
331 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100332 name: 10k_SAS
Filip Pytlounda2a0792015-10-06 16:28:31 +0200333
Jakub Pavlik9703c602015-10-15 18:52:47 +0200334Cinder setup with IBM GPFS filesystem
335
336.. code-block:: yaml
337
338 cinder:
339 volume:
340 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100341 backend:
342 GPFS-GOLD:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100343 type_name: GPFS-GOLD
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100344 engine: gpfs
345 mount_point: '/mnt/gpfs-openstack/cinder/gold'
marcodaa52fa2016-01-25 23:49:50 +0100346 GPFS-SILVER:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100347 type_name: GPFS-SILVER
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100348 engine: gpfs
349 mount_point: '/mnt/gpfs-openstack/cinder/silver'
Jakub Pavlik9f5988a2016-01-11 13:44:57 +0100350
351Cinder setup with HP LeftHand
352
353.. code-block:: yaml
354
355 cinder:
356 volume:
357 enabled: true
358 backend:
359 HP-LeftHand:
360 type_name: normal-storage
361 engine: hp_lefthand
362 api_url: 'https://10.10.10.10:8081/lhos'
363 username: user
364 password: password
365 clustername: cluster1
366 iscsi_chap_enabled: false
367
Jakub Pavlika63764f2016-01-11 14:41:06 +0100368Extra parameters for HP LeftHand
Jakub Pavlika63764f2016-01-11 14:41:06 +0100369
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100370.. code-block:: yaml
371
372 cinder type-key normal-storage set hplh:data_pl=r-10-2 hplh:provisioning=full
373
marcodaa52fa2016-01-25 23:49:50 +0100374Cinder setup with Solidfire
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100375
376.. code-block:: yaml
377
378 cinder:
379 volume:
380 enabled: true
381 backend:
382 solidfire:
383 type_name: normal-storage
384 engine: solidfire
385 san_ip: 10.10.10.10
386 san_login: user
387 san_password: password
388 clustername: cluster1
389 sf_emulate_512: false
Filip Pytlounda2a0792015-10-06 16:28:31 +0200390
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100391
392
393Enable auditing filter, ie: CADF
394
395.. code-block:: yaml
396
397 cinder:
398 controller:
399 audit:
400 enabled: true
401 ....
402 filter_factory: 'keystonemiddleware.audit:filter_factory'
403 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
404 ....
405 volume:
406 audit:
407 enabled: true
408 ....
409 filter_factory: 'keystonemiddleware.audit:filter_factory'
410 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
411
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100412
413Cinder setup with custom availability zones:
414
415.. code-block:: yaml
416
417 cinder:
418 controller:
419 default_availability_zone: my-default-zone
420 storage_availability_zone: my-custom-zone-name
421 cinder:
422 volume:
423 default_availability_zone: my-default-zone
424 storage_availability_zone: my-custom-zone-name
425
Alexander Noskov62496fb2017-02-27 16:42:54 +0100426public_endpoint and osapi_volume_base_url parameters:
427"public_endpoint" is used for configuring versions endpoint,
428"osapi_volume_base_URL" is used to present Cinder URL to users.
429They are useful when running Cinder under load balancer in SSL.
430
431.. code-block:: yaml
432
433 cinder:
434 controller:
435 public_endpoint_address: https://${_param:cluster_domain}:8776
436
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100437The 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)
438The storage availability zone is the actual zone where the node belongs to. Make sure to specify this per node.
439Check the documentation of OpenStack for more information
440
Jakub Pavlikb513f132016-05-20 11:11:19 +0200441Documentation and Bugs
442============================
443
444To learn how to deploy OpenStack Salt, consult the documentation available
445online at:
446
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100447https://wiki.openstack.org/wiki/OpenStackSalt
Jakub Pavlikb513f132016-05-20 11:11:19 +0200448
449In the unfortunate event that bugs are discovered, they should be reported to
450the appropriate bug tracker. If you obtained the software from a 3rd party
451operating system vendor, it is often wise to use their own bug tracker for
452reporting problems. In all other cases use the master OpenStack bug tracker,
453available at:
454
455 http://bugs.launchpad.net/openstack-salt
456
457Developers wishing to work on the OpenStack Salt project should always base
458their work on the latest formulas code, available from the master GIT
459repository at:
460
461 https://git.openstack.org/cgit/openstack/salt-formula-cinder
462
463Developers should also join the discussion on the IRC list, at:
464
465 https://wiki.openstack.org/wiki/Meetings/openstack-salt
Filip Pytlounb0f5c1f2017-02-02 13:02:03 +0100466
467Documentation and Bugs
468======================
469
470To learn how to install and update salt-formulas, consult the documentation
471available online at:
472
473 http://salt-formulas.readthedocs.io/
474
475In the unfortunate event that bugs are discovered, they should be reported to
476the appropriate issue tracker. Use Github issue tracker for specific salt
477formula:
478
479 https://github.com/salt-formulas/salt-formula-cinder/issues
480
481For feature requests, bug reports or blueprints affecting entire ecosystem,
482use Launchpad salt-formulas project:
483
484 https://launchpad.net/salt-formulas
485
486You can also join salt-formulas-users team and subscribe to mailing list:
487
488 https://launchpad.net/~salt-formulas-users
489
490Developers wishing to work on the salt-formulas projects should always base
491their work on master branch and submit pull request against specific formula.
492
493 https://github.com/salt-formulas/salt-formula-cinder
494
495Any questions or feedback is always welcome so feel free to join our IRC
496channel:
497
498 #salt-formulas @ irc.freenode.net