一、整合 glance ceph

1.1 查看servverb关于openstack的用户

[root@serverb ~]# vi ./keystonerc_admin

unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD=9f0b699989a04a05
export OS_AUTH_URL=http://172.25.250.11:5000/v2.0
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_TENANT_NAME=admin
export OS_REGION_NAME=RegionOne

[root@serverb ~(keystone_admin)]# openstack service list

1.2 安装ceph包

[root@serverb ~(keystone_admin)]# yum -y install ceph-common

[root@serverb ~(keystone_admin)]# chown ceph:ceph /etc/ceph/

1.3 创建RBD镜像

root@serverc ~]#  ceph osd pool create images 128 128

pool 'images' created

[root@serverc ~]# ceph osd pool application enable images rbd

enabled application 'rbd' on pool 'images'

[root@serverc ~]# ceph osd pool ls

images

1.4创建Ceph池用户

[root@serverc ~]# ceph auth get-or-create client.images mon 'profile rbd' osd 'profile rbd pool=images' -o /etc/ceph/ceph.client.images.keyring

[root@serverc ~]# ll /etc/ceph/ceph.client.images.keyring

-rw-r--r--  root root  Mar  : /etc/ceph/ceph.client.images.keyring

[root@serverc ~]# ceph auth list|grep -A 4 images

1.5 复制到serverb节点并验证

[root@serverc ~]# scp /etc/ceph/ceph.conf ceph@serverb:/etc/ceph/ceph.conf

ceph.conf                                                                              %     .4KB/s   : 

[root@serverc ~]# scp /etc/ceph/ceph.client.images.keyring  ceph@serverb:/etc/ceph/ceph.client.images.keyring

ceph.client.images.keyring                                                             %      .2KB/s   :   

[root@serverb ~(keystone_admin)]# ceph --id images -s

 cluster:
id: 2d58e9ec-9bc0-4d43-831c-24b345fc2a94
health: HEALTH_OK services:
mon: daemons, quorum serverc,serverd,servere
mgr: serverc(active), standbys: serverd, servere
osd: osds: up, in data:
pools: pools, pgs
objects: objects, kB
usage: MB used, GB / GB avail
pgs: active+clean

1.6 修改秘钥环权限

[root@serverb ~(keystone_admin)]# chgrp glance /etc/ceph/ceph.client.images.keyring

[root@serverb ~(keystone_admin)]# chmod 0640 /etc/ceph/ceph.client.images.keyring

1.7 修改glance后端存储

[root@serverb ~(keystone_admin)]# vim /etc/glance/glance-api.conf

[glance_store]
stores = rbd
default_store = rbd
filesystem_store_datadir = /var/lib/glance/images/
rbd_store_chunk_size =
rbd_store_pool = images
rbd_store_user = images
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rados_connect_timeout =
os_region_name=RegionOne

[root@serverb ~(keystone_admin)]# grep -Ev "^$|^[#;]" /etc/glance/glance-api.conf

[DEFAULT]
bind_host = 0.0.0.0
bind_port =
workers =
image_cache_dir = /var/lib/glance/image-cache
registry_host = 0.0.0.0
debug = False
log_file = /var/log/glance/api.log
log_dir = /var/log/glance
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://glance:27c082e7c4a9413c@172.25.250.11/glance
[glance_store]
stores = rbd
default_store = rbd
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
rbd_store_chunk_size =
rbd_store_pool = images
rbd_store_user = images
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rados_connect_timeout =
os_region_name=RegionOne
[image_format]
[keystone_authtoken]
auth_uri = http://172.25.250.11:5000/v2.0
auth_type = password
project_name=services
username=glance
password=99b29d9142514f0f
auth_url=http://172.25.250.11:35357
[matchmaker_redis]
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
policy_file = /etc/glance/policy.json
[paste_deploy]
flavor = keystone
[profiler]
[store_type_location_strategy]
[task]
[taskflow_executor]

[root@serverb ~(keystone_admin)]# systemctl restart openstack-glance-api

1.8 创建image测试

[root@serverb ~(keystone_admin)]# wget http://materials/small.img

[root@serverb ~(keystone_admin)]# openstack image create --container-format bare --disk-format raw --file ./small.img "Small Image"

+------------------+------------------------------------------------------+
| Field | Value |
+------------------+------------------------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | --30T06::40Z |
| disk_format | raw |
| file | /v2/images/f60f2b0f-8c7d-42c2-b158-53d9a436efc9/file |
| id | f60f2b0f-8c7d-42c2-b158-53d9a436efc9 |
| min_disk | |
| min_ram | |
| name | Small Image |
| owner | 79cf145d371e48ef96f608cbf85d1788 |
| protected | False |
| schema | /v2/schemas/image |
| size | |
| status | active |
| tags | |
| updated_at | --30T06::41Z |
| virtual_size | None |
| visibility | private |
+------------------+------------------------------------------------------+

[root@serverb ~(keystone_admin)]# rbd --id images  -p images ls

14135e67-39bb-4b1c-aa11-fd5b26599ee7
-33b2--8b63-119a0dbc12d4
f60f2b0f-8c7d-42c2-b158-53d9a436efc9

[root@serverb ~(keystone_admin)]# glance image-list

+--------------------------------------+-------------+
| ID | Name |
+--------------------------------------+-------------+
| f60f2b0f-8c7d-42c2-b158-53d9a436efc9 | Small Image |
+--------------------------------------+-------------+

[root@serverb ~(keystone_admin)]# rbd --id images info images/f60f2b0f-8c7d-42c2-b158-53d9a436efc9

rbd image 'f60f2b0f-8c7d-42c2-b158-53d9a436efc9':
size kB in objects
order ( kB objects)
block_name_prefix: rbd_data.109981f1d12
format:
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
create_timestamp: Sat Mar ::

1.9 删除一个镜像操作

[root@serverb ~(keystone_admin)]# openstack image delete "Small Image"

[root@serverb ~(keystone_admin)]# openstack image list

[root@serverb ~(keystone_admin)]# rbd --id images -p images ls

14135e67-39bb-4b1c-aa11-fd5b26599ee7
-33b2--8b63-119a0dbc12d4

[root@serverb ~(keystone_admin)]# ceph osd pool ls --id images

images  

二、整合ceph和cinder

2.1 创建RBD镜像

[root@serverc ~]# ceph osd pool create volumes 128

pool 'volumes' created

[root@serverc ~]# ceph osd pool application  enable volumes  rbd

enabled application 'rbd' on pool 'volumes'

2.2 创建ceph用户

[root@serverc ~]# ceph auth get-or-create client.volumes mon 'profile rbd' osd 'profile rbd pool=volumes,profile rbd pool=images' -o /etc/ceph/ceph.client.volumes.keyring

[root@serverc ~]# ceph auth list|grep -A 4 volumes

installed auth entries:

client.volumes
key: AQBOEZ9ckRr3BxAAaWB8lpYRrUQ+z/Bgk3Rfbg==
caps: [mon] profile rbd
caps: [osd] profile rbd pool=volumes,profile rbd pool=images
mgr.serverc
key: AQAKu55cKGFlHBAAXjlvu2GFiJXUQx04PcidgA==
caps: [mds] allow *
caps: [mon] allow profile mgr

2.3 复制到serverb节点

[root@serverc ~]# scp /etc/ceph/ceph.client.volumes.keyring ceph@serverb:/etc/ceph/ceph.client.volumes.keyring

ceph@serverb's password:
ceph.client.volumes.keyring % .3KB/s :

[root@serverc ~]# ceph auth  get-key client.volumes|ssh ceph@serverb tee ./client.volumes.key

ceph@serverb's password:
AQBOEZ9ckRr3BxAAaWB8lpYRrUQ+z/Bgk3Rfbg==[root@serverc ~]#

2.3 serverb节点确认验证

[root@serverb ~(keystone_admin)]# ceph --id volumes -s

  cluster:
id: 2d58e9ec-9bc0-4d43-831c-24b345fc2a94
health: HEALTH_OK services:
mon: daemons, quorum serverc,serverd,servere
mgr: serverc(active), standbys: serverd, servere
osd: osds: up, in data:
pools: pools, pgs
objects: objects, kB
usage: MB used, GB / GB avail
pgs: active+clean

2.4 修改秘钥环权限

[root@serverb ~(keystone_admin)]# chgrp cinder /etc/ceph/ceph.client.volumes.keyring

[root@serverb ~(keystone_admin)]# chmod 0640 /etc/ceph/ceph.client.volumes.keyring

2.5 生成uuid

[root@serverb ~(keystone_admin)]# uuidgen |tee ~/myuuid.txt

f3fbcf03-e208-4fba-9c47-9ff465847468

2.6 修改cinder后端存储

[root@serverb ~(keystone_admin)]# vi /etc/cinder/cinder.conf

enabled_backends = ceph
glance_api_version =
#default_volume_type = iscsi [ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_user = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_secret_uuid = f3fbcf03-e208-4fba-9c47-9ff465847468
rbd_max_clone_depth =
rbd_store_chunk_size =
rados_connect_timeout = -
# 指定volume_backend_name,可忽略
volume_backend_name = ceph

2.7 启动并查看日志

[root@serverb ~(keystone_admin)]# systemctl restart openstack-cinder-api

[root@serverb ~(keystone_admin)]# systemctl restart openstack-cinder-volume

[root@serverb ~(keystone_admin)]# systemctl restart openstack-cinder-scheduler

[student@serverb ~]$ sudo tail -20 /var/log/cinder/volume.log

-- ::05.800  INFO cinder.volume.manager [req-76edfdb3-dd84--9a4e-de5f79391609 - - - - -] Driver initialization completed successfully.
-- ::05.819 INFO cinder.volume.manager [req-76edfdb3-dd84--9a4e-de5f79391609 - - - - -] Initializing RPC dependent components of volume driver RBDDriver (1.2.)
-- ::05.871 INFO cinder.volume.manager [req-76edfdb3-dd84--9a4e-de5f79391609 - - - - -] Driver post RPC initialization completed successfully.
-- ::30.398 INFO cinder.volume.manager [req-ba2a8ef1-e3f0-4a36-a0eb-5a300367c60c - - - - -] Driver initialization completed successfully.
-- ::30.420 INFO cinder.volume.manager [req-ba2a8ef1-e3f0-4a36-a0eb-5a300367c60c - - - - -] Initializing RPC dependent components of volume driver RBDDriver (1.2.)
-- ::30.474 INFO cinder.volume.manager [req-ba2a8ef1-e3f0-4a36-a0eb-5a300367c60c - - - - -] Driver post RPC initialization completed successfully.

2.8 创建XML模板

[root@serverb ~(keystone_admin)]# vim ~/ceph.xml

<secret ephemeral="no" private="no">
<uuid>f3fbcf03-e208-4fba-9c47-9ff465847468</uuid>
<usage type="ceph">
<name>client.volumes secret</name>
</usage>
</secret>

[root@serverb ~(keystone_admin)]# virsh secret-define --file ~/ceph.xml

Secret f3fbcf03-e208-4fba-9c47-9ff465847468 created

[root@serverb ~(keystone_admin)]# virsh secret-set-value --secret f3fbcf03-e208-4fba-9c47-9ff465847468 --base64 $(cat /home/ceph/client.volumes.key)

Secret value set

2.9 创建volume卷测试

[root@serverb ~(keystone_admin)]# openstack volume create --description "Test Volume" --size 1 testvolume

+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | --30T07::26.436978 |
| description | Test Volume |
| encrypted | False |
| id | b9cf60d5-3cff-4cde-ab1d-4747adff7943 |
| migration_status | None |
| multiattach | False |
| name | testvolume |
| properties | |
| replication_status | disabled |
| size | |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | None |
| updated_at | None |
| user_id | 8e0be34493e04722ba03ab30fbbf3bf8 |
+---------------------+--------------------------------------+

2.9 确认验证

[root@serverb ~(keystone_admin)]# openstack volume list -c ID -c 'Display Name' -c Status  -c Size

+--------------------------------------+--------------+-----------+------+
| ID | Display Name | Status | Size |
+--------------------------------------+--------------+-----------+------+
| b9cf60d5-3cff-4cde-ab1d-4747adff7943 | testvolume | available | |
+--------------------------------------+--------------+-----------+------+

[root@serverb ~(keystone_admin)]# rbd --id volumes -p volumes ls

volume-b9cf60d5-3cff-4cde-ab1d-4747adff7943 

[root@serverb ~(keystone_admin)]# rbd --id volumes -p volumes  info volumes/volume-b9cf60d5-3cff-4cde-ab1d-4747adff7943

rbd image 'volume-b9cf60d5-3cff-4cde-ab1d-4747adff7943':
size MB in objects
order ( kB objects)
block_name_prefix: rbd_data.10e3589b2aec
format:
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
create_timestamp: Sat Mar ::

2.10 删除操作

[root@serverb ~(keystone_admin)]# openstack volume delete testvolume

[root@serverb ~(keystone_admin)]# openstack volume list

[root@serverb ~(keystone_admin)]# rbd --id volumes -p volumes ls

[root@serverb ~(keystone_admin)]# rm ~/ceph.xml

[root@serverb ~(keystone_admin)]# rm ~/myuuid.txt


博主声明:本文的内容来源主要来自红帽官方指导手册,由本人实验完成操作验证,需要的朋友可以关注红帽网站,https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html/ceph_block_device_to_openstack_guide/

最新文章

  1. [译]:Xamarin.Android开发入门——Hello,Android深入理解
  2. Servlet-中文乱码
  3. attribute section的用法
  4. Dom对象和jQuery包装集
  5. JVM查找类文件的顺序(转)
  6. Python json解析
  7. 2017-5-31 VBA设置config sheet 制作工具
  8. java定时任务调度-Timer(1)
  9. 像素数据YUV简介与觉存储格式介绍
  10. linux nohup命令实现退出终端后程序继续后台运行
  11. redis发布/订阅
  12. Python psutil模块使用
  13. 有效运维的 on-call 机制
  14. alias命令使用
  15. Java引用类型传递整理
  16. python之函数参数问题(参数为可变对象)
  17. [Linux.NET]Nginx 泛解析配置请求映射到多端口实现二级域名访问
  18. Error:..\FreeRTOS\portable\RVDS\ARM_CM3\port.c,378 Error:..\FreeRTOS\portable\RVDS\ARM_CM3\port.c,378 Error:..\FreeRTOS\portable\RVDS\ARM_CM3\port.c,378 Error:..\FreeRTOS\tasks.c,2806
  19. IDEA不能实时更新jsp页面的问题
  20. 如何在NSDocumentDirectory内新建一个文件夹

热门文章

  1. phpexecl
  2. 受控组件 &amp; 非受控组件
  3. 学习微信小程序
  4. 小程序加载大图片 使用widthFix时,图片先拉伸然后才显示完全
  5. Android本地数据存储: Reservoir
  6. jq on绑定事件off移除事件
  7. HDU 1114 完全背包 HDU 2191 多重背包
  8. HDU 5971&quot;Wrestling Match&quot;(二分图染色)
  9. 移动端遇到的bug (长期更新)
  10. tomcat最大线程数的设置