参考文档:

  1. Install-guide:https://docs.openstack.org/install-guide/

  2. OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html

  3. 理解Pacemaker:http://www.cnblogs.com/sammyliu/p/5025362.html

  4. Ceph: http://docs.ceph.com/docs/master/start/intro/

十九.Glance集成Ceph

1. 配置glance-api.conf

# 在运行glance-api服务的节点修改glance-api.conf文件,含3个控制节点,以controller01节点为例
# 以下只列出涉及glance集成ceph的section
[root@controller01 ~]# vim /etc/glance/glance-api.conf
# 打开copy-on-write功能
[DEFAULT]
show_image_direct_url = True

# 变更默认使用的本地文件存储为ceph rbd存储;
# 注意红色字体部分前后一致
[glance_store]
#stores = file,http
#default_store = file
#filesystem_store_datadir = /var/lib/glance/images/
stores = rbd
default_store = rbd
rbd_store_chunk_size = 8
rbd_store_pool = images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf

# 变更配置文件,重启服务
[root@controller01 ~]# systemctl restart openstack-glance-api.service
[root@controller01 ~]# systemctl restart openstack-glance-registry.service

2. 上传镜像

# 镜像上传后,默认地址为ceph集群(ID)的images pool下
[root@controller01 ~]# openstack image create "cirros-qcow2" \
 --file ~/cirros-0.3.5-x86_64-disk.img \
 --disk-format qcow2 --container-format bare \
 --public

e93ecc6a7c5ff8c5d0c2ffd22013cb2f_924276-20180731190357965-600399148.png

# 检查
[root@controller01 ~]# rbd ls images

d9bb9d2b9aabb12c3b33b13f5c8c9f7d_924276-20180731190358332-1185025693.png

3. 定义pool类型

# images启用后,ceph集群状态变为:HEALTH_WARN
[root@controller01 ~]# ceph -s

f62e2526ce20af132294fe119f107984_924276-20180731190358604-323702989.png

# 使用”ceph health detail”,能给出解决办法;
# 未定义pool池类型,可定义为'cephfs', 'rbd', 'rgw'等
[root@controller01 ~]# ceph health detail

270a51d4f1032627edc6330e49da7cbe_924276-20180731190358906-507724330.png

# 同时解决volumes与vms两个pool的问题
[root@controller01 ~]# ceph osd pool application enable images rbd
[root@controller01 ~]# ceph osd pool application enable volumes rbd
[root@controller01 ~]# ceph osd pool application enable vms rbd

# 查看
[root@controller01 ~]# ceph health detail
[root@controller01 ~]# ceph osd pool application get images
[root@controller01 ~]# ceph osd pool application get volumes
[root@controller01 ~]# ceph osd pool application get vms

2b9b1df067e56f14a4363146ead92bb3_924276-20180731190359164-310831241.png

二十.Cinder集成Ceph

1. 配置cinder.conf

# cinder利用插件式结构,支持同时使用多种后端存储;
# 在cinder-volume所在节点设置cinder.conf中设置相应的ceph rbd驱动即可;
# 含3个计算(存储)节点,以compute01节点为例;
# 以下只列出涉及cinder集成ceph的section
[root@compute01 ~]# vim /etc/cinder/cinder.conf
# 后端使用ceph存储
[DEFAULT]
enabled_backends = ceph

# 新增[ceph] section;
# 注意红色字体部分前后一致
[ceph]
# ceph rbd驱动
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
# 如果配置多后端,则“glance_api_version”必须配置在[DEFAULT] section
glance_api_version = 2
rbd_user = cinder
rbd_secret_uuid = 10744136-583f-4a9c-ae30-9bfb3515526b
volume_backend_name = ceph

# 变更配置文件,重启服务
[root@controller01 ~]# systemctl restart openstack-glance-api.service
[root@controller01 ~]# systemctl restart openstack-glance-registry.service

2. 验证

# 查看cinder服务状态,cinder-volume集成ceph后,状态”up”;
# 或:cinder service-list
[root@controller01 ~]# openstack volume service list

1ea06b53e117f21b04f4d62074462b3f_924276-20180731190359495-706714412.png

3. 生成volume

1)设置卷类型

# 在控制节点为cinder的ceph后端存储创建对应的type,在配置多存储后端时可区分类型;
# 可通过“cinder type-list”查看
[root@controller01 ~]# cinder type-create ceph

84db6d14e2866dc1c2f7ab18d8385405_924276-20180731190359866-1022244226.png

# 为ceph type设置扩展规格,键值” volume_backend_name”,value值”ceph”
[root@controller01 ~]# cinder type-key ceph set volume_backend_name=ceph
[root@controller01 ~]# cinder extra-specs-list

7f7257eccedfbdb89d6ec6ae05ee7011_924276-20180731190400176-1918269911.png

2)生成volume


# 生成volume;
# 最后的数字”1”代表容量为1G
[root@controller01 ~]# cinder create --volume-type ceph --name ceph-volume1 1

29b58c13d8f8465c0ace13a9b39f7109_924276-20180731190400552-313671981.png

# 检查生成的volume;
# 或:cinder list
[root@controller01 ~]# openstack volume list

33e4de9e04ec2e1198fd28efd7aa6b17_924276-20180731190400931-754157180.png

# 检查ceph集群的volumes pool
[root@controller01 ~]# rbd ls volumes

7b17ebaa011b19b24252b95a25ba443e_924276-20180731190401305-472333749.png

本文档全程测试,没有任何问题。



QQ技术群,有需要的朋友可以加下:

云计算交流群(291637654