
Grizzly 为 cinder 带来了多后端功能和大量新驱动程序。本文的主要目的是演示我们如何利用 Ceph 的分层能力。
一、Ceph
要配置 Ceph 以使用不同的存储设备,请参阅我之前的文章:Ceph 2 speed storage with CRUSH。
二、Cinder
假设您的 2 个池名为
- rbd-sata 指向 SATA 机架
- rbd-ssd 指向 SSD 机架
二.1 配置 ¶
Cinder 配置文件
# Multi backend options
# Define the names of the groups for multiple volume backends
enabled_backends=rbd-sata,rbd-ssd
# Define the groups as above
[rbd-sata]
volume_driver=cinder.volume.driver.RBDDriver
rbd_pool=cinder-sata
volume_backend_name=RBD_SATA
# if cephX is enable
#rbd_user=cinder
#rbd_secret_uuid=<None>
[rbd-ssd]
volume_driver=cinder.volume.driver.RBDDriver
rbd_pool=cinder-ssd
volume_backend_name=RBD_SSD
# if cephX is enable
#rbd_user=cinder
#rbd_secret_uuid=<None>
不幸的是,rbd 驱动程序尚未支持此变量(大多数驱动程序也不支持)。此功能已在此处提交:https://review.openstack.org/#/c/28208/。
然后创建指针
1
2
3
4
5
6
7
8
9
| $ cinder type-key ssd set volume_backend_name=RBD_SSD
$ cinder type-key sata set volume_backend_name=RBD_SATA
$ cinder extra-specs-list
+--------------------------------------+------+---------------------------------------+
| ID | Name | extra_specs |
+--------------------------------------+------+---------------------------------------+
| b1522968-e4fa-4372-8ac4-3925b7c79ee1 | ssd | {u'volume_backend_name': u'RBD_SSD'} |
| b50bf5a3-6044-4392-beeb-432302f6421c | sata | {u'volume_backend_name': u'RBD_SATA'} |
+--------------------------------------+------+---------------------------------------+
|
然后重启 cinder 服务
1
| $ sudo restart cinder-api ; sudo restart cinder-scheduler ; sudo restart cinder-volume
|
最终创建 2 种卷类型,每种后端一种
1
2
3
4
5
6
7
8
9
10
11
12
13
| $ cinder type-create ssd
+--------------------------------------+------+
| ID | Name |
+--------------------------------------+------+
| b1522968-e4fa-4372-8ac4-3925b7c79ee1 | ssd |
+--------------------------------------+------+
$ cinder type-create sata
+--------------------------------------+------+
| ID | Name |
+--------------------------------------+------+
| b50bf5a3-6044-4392-beeb-432302f6421c | sata |
+--------------------------------------+------+
|
二.2. 试用 ¶
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| $ cinder create --volume_type ssd --display_name vol-ssd 1
+---------------------+--------------------------------------+
| Property | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2013-04-22T14:54:53.917580 |
| display_description | None |
| display_name | vol-ssd |
| id | 4c777d96-66e4-4f85-815c-92d4503c5c8c |
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | ssd |
+---------------------+--------------------------------------+
$ cinder create --volume_type ssd --display_name vol-sata 1
+---------------------+--------------------------------------+
| Property | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2013-04-22T14:54:58.831327 |
| display_description | None |
| display_name | vol-sata |
| id | 8e347bd1-2044-40a2-ae87-ee9a23cddd71 |
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | ssd |
+---------------------+--------------------------------------+
|
有效吗?
1
2
3
4
5
| $ rbd -p cinder-ssd ls
volume-8e347bd1-2044-40a2-ae87-ee9a23cddd71
$ rbd -p cinder-sata ls
volume-4c777d96-66e4-4f85-815c-92d4503c5c8c
|
多后端功能随 Cinder 一起发布,我们正在逐步享受 Ceph 的全部力量!