本环境ceph已经搭建,ceph搭建麻烦见本博客的其他文章
1 在cinder-volume节点安装ceph client
yum install -y ceph-common
注意:glance要安装python-rbd
cinder-volume节点安装ceph成功后,会生成/etc/ceph/这个目录,里面有一个文件。
[root@controller2 etc]# cd ceph/
[root@controller2 ceph]# ls -ls
总用量 4
4 -rwxr-xr-x. 1 root root 2910 10月 31 2018 rbdmap
2 ceph提前建立pool volumes,并创建cinder账号和授权;
ceph:
ceph osd pool create volumes 128
 
ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=volumes-cache, allow rwx pool=vms, allow rwx pool=vms-cache, allow rx pool=images, allow rx pool=images-cache'
[client.cinder]
key = AQCuYipewZ4IOhAArwkoAs8BxEAnxF1MAHIn8g==
 
ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images
[client.cinder]
key = AQAVdm5dojfsLxAAAtt+eX7psQC7pXpisqsvBg==
 
 
将生成的密码发送到运行glance-api和cinder-volume的节点上,glance-api通常运行在控制节点上,本例的cinder-volume也运行在控制节点上。
ceph
[root@ceph1 ceph]# ceph auth get-or-create client.glance | ssh controller2 tee /etc/ceph/ceph.client.glance.keyring
root@172.16.3.71's password:
[client.glance]
key = AQAVdm5dojfsLxAAAtt+eX7psQC7pXpisqsvBg==
[root@ceph1 ceph]# ceph auth get-or-create client.cinder | ssh controller2 tee /etc/ceph/ceph.client.cinder.keyring
root@172.16.3.71's password:
[client.cinder]
key = AQDOdW5do2jzEhAA/v/VYEBHOUk440mpP6GMBg==
运行nova-compute服务节点需要用到client,cinder的秘钥文件,并需将其传递到计算节点:
[root@ceph1 ceph]# ceph auth get-or-create client.cinder | ssh compute1 tee /etc/ceph/ceph.client.cinder.keyring
root@172.16.3.72's password:
[client.cinder]
key = AQDOdW5do2jzEhAA/v/VYEBHOUk440mpP6GMBg==
[root@ceph1 ceph]# ceph auth get-key client.cinder | ssh compute1 tee client.cinder.key
root@172.16.3.72's password:
AQDOdW5do2jzEhAA/v/VYEBHOUk440mpP6GMBg==[root@ceph1 ceph]#
运行nova-compute节点需要将client,cinder用户的秘钥文件存储到libvirt中,当基于ceph后端的cinder卷被attach到虚拟机实例时,libvirt需要用到秘钥文件以访问ceph集群。在运行nova-compute的节点上暂时创建秘钥临时文件:
[root@ceph1 ceph]# ceph auth get-key client.cinder | ssh compute1 tee client.cinder.key
root@172.16.3.72's password:
AQDOdW5do2jzEhAA/v/VYEBHOUk440mpP6GMBg==
在运行nova-compute的计算节点上将秘钥文件添加到libvirt中,然后将其删除:
compute1:
[root@compute1 ceph]# uuidgen
35bbf774-17df-407d-8b52-45bf93269b9a
[root@compute1 ~]# cat > secret.xml <<EOF
> <secret ephemeral='no' private='no'>
> <uuid>35bbf774-17df-407d-8b52-45bf93269b9a</uuid>
> <usage type='ceph'>
> <name>client.cinder secret</name>
> </usage>
> </secret>
> EOF
[root@compute1 ~]# virsh secret-define --file secret.xml
生成 secret 35bbf774-17df-407d-8b52-45bf93269b9a
[root@compute1 ~]# virsh secret-set-value --secret 35bbf774-17df-407d-8b52-45bf93269b9a --base64 $(cat client.cinder.key)
secret 值设定
 
备注:重置秘钥 virsh secret-undefine 8a9359b5-ed26-49e3-ad92-41170a675a7f
3 将ceph-server服务器的ceph.conf拷贝过来cinder-volume及compute节点/etc/ceph这个目录下。
ceph:
scp /etc/ceph/ceph.conf root@controller2:/etc/ceph/
scp /etc/ceph/ceph.conf root@compute1:/etc/ceph/
本环境的配置文件如下,可供参考:
[root@controller2 ~]# cat /etc/ceph/ceph.conf
[global]
fsid = 6bbab2f3-f90c-439d-86d7-9c0f3603303c
mon_initial_members = ceph1, ceph2, ceph3
mon_host = 172.16.3.61,172.16.3.62,172.16.3.63
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
mon clock drift allowed = 10
mon clock drift warn backoff = 30
osd pool default pg num = 64
osd pool default pgp num = 64
osd_crush_update_on_start = false
 
4 编辑cinder-volume节点,在/etc/cinder/cinder-volume添加以下信息
[DEFAULT]
enabled_backends = lvm,rbd-1
glance_api_version = 2
[lvm]
volume_backend_name = lvm
[rbd-1]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
volume_backend_name = rbd-1
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 = 5
rbd_user = cinder
rbd_secret_uuid = 35bbf774-17df-407d-8b52-45bf93269b9a
report_discard_supported = True
image_upload_use_cinder_backend = False
本配置文件完成如下,可参考:
[root@controller2 ~]# cat /etc/cinder/cinder.conf
#wangjx
[DEFAULT]
transport_url = rabbit://openstack:21vianet@controller2
auth_strategy = keystone
my_ip = 10.160.20.22
enabled_backends = lvm,rbd-1
glance_api_version = 2
glance_api_servers = http://controller2:9292
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
volume_backend_name = lvm
[rbd-1]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
volume_backend_name = rbd-1
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 = 5
rbd_user = cinder
rbd_secret_uuid = 35bbf774-17df-407d-8b52-45bf93269b9a
report_discard_supported = True
image_upload_use_cinder_backend = False
[backend]
[backend_defaults]
[barbican]
[brcd_fabric_example]
[cisco_fabric_example]
[coordination]
[cors]
[database]
connection = mysql+pymysql://cinder:21vianet@controller2/cinder
[fc-zone-manager]
[healthcheck]
[key_manager]
[keystone_authtoken]
auth_uri = http://controller2:5000
auth_url = http://controller2:5000
memcached_servers = controller2:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = 21vianet
[matchmaker_redis]
[nova]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[oslo_reports]
[oslo_versionedobjects]
[profiler]
[sample_remote_file_source]
[service_user]
[ssl]
[vault]
7 创建cinder type类型 ceph1。
[root@controller2 ceph]# cinder type-create ceph1
+--------------------------------------+-------+-------------+-----------+
| ID | Name | Description | Is_Public |
+--------------------------------------+-------+-------------+-----------+
| 7932f657-87a1-495b-ac24-4308197f51e4 | ceph1 | - | True |
+--------------------------------------+-------+-------------+-----------+
[root@controller2 ceph]# cinder type-key ceph1 set volume_backend_name=rbd-1
查询tpye是否生效
[root@controller2 ceph]# openstack volume type list
+--------------------------------------+-------+-----------+
| ID | Name | Is Public |
+--------------------------------------+-------+-----------+
| 7932f657-87a1-495b-ac24-4308197f51e4 | ceph1 | True |
+--------------------------------------+-------+-----------+
[root@controller2 ceph]# openstack volume type show ceph1
+--------------------+--------------------------------------+
| Field | Value |
+--------------------+--------------------------------------+
| access_project_ids | None |
| description | None |
| id | 7932f657-87a1-495b-ac24-4308197f51e4 |
| is_public | True |
| name | ceph1 |
| properties | volume_backend_name='rbd-1' |
| qos_specs_id | None |
+--------------------+--------------------------------------+
创建ceph块存储
[root@controller2 ceph]# openstack volume create disk0205ceph1 --type ceph1 --size 1
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2020-02-05T12:10:10.000000 |
| description | None |
| encrypted | False |
| id | 6043b12f-6b7e-4256-a095-ede1d019d501 |
| migration_status | None |
| multiattach | False |
| name | disk0205ceph1 |
| properties | |
| replication_status | None |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | ceph1 |
| updated_at | None |
| user_id | ccd5b0f0d5534366b27ae4fab3a82945 |
+---------------------+--------------------------------------+
[root@controller2 ceph]# openstack volume list
+--------------------------------------+---------------+-----------+------+------------------------------------+
| ID | Name | Status | Size | Attached to |
+--------------------------------------+---------------+-----------+------+------------------------------------+
| 6043b12f-6b7e-4256-a095-ede1d019d501 | disk0205ceph1 | available | 1 | |
| 2f9f4c64-ded8-4ff0-b2b2-94319a60e8d4 | disk0205 | in-use | 1 | Attached to vm0205lvm on /dev/vda |
+--------------------------------------+---------------+-----------+------+------------------------------------+
 

ceph集成openstack cinder的更多相关文章

  1. 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]

    理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...

  2. openstack pike与ceph集成

    openstack pike与ceph集成 Ceph luminous 安装配置 http://www.cnblogs.com/elvi/p/7897178.html openstack pike 集 ...

  3. Ceph和Openstack的cinder模块对接方法

    1.创建存储池 在ceph节点中执行如下语句. #ceph osd pool create volumes 2.配置 OPENSTACK 的 CEPH 客户端 在ceph节点两次执行如下语句,两次{y ...

  4. OpenStack Cinder 与各种后端存储技术的集成叙述与实践

    先说下下loop设备 loop设备及losetup命令介绍 1. loop设备介绍 在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备.它能使我们 ...

  5. ceph与openstack对接(cinder、glance、nova)

    对接分为三种,也就是存储为openstack提供的三类功能1.云盘,就好比我们新加的硬盘2.原本的镜像也放在ceph里,但是我没有选择这种方式,原因是因为后期有要求,但是我会把这个也写出来,大家自己对 ...

  6. 云计算/云存储---Ceph和Openstack的cinder模块对接方法

    1.创建存储池 在ceph节点中执行如下语句. #ceph osd pool create volumes 2.配置 OPENSTACK 的 CEPH 客户端 在ceph节点两次执行如下语句,两次{y ...

  7. “CEPH浅析”系列之六——CEPH与OPENSTACK

    在 <"Ceph浅析"系列之二--Ceph概况>中即已提到,关注Ceph的原因之一,就是OpenStack社区对于Ceph的重视.因此,本文将对Ceph在OpenSta ...

  8. OpenStack Cinder源代码流程简析

    版权声明:本博客欢迎转载,转载时请以超链接形式标明文章原始出处!谢谢! 博客地址:http://blog.csdn.net/i_chips 一.概况 OpenStack的各个模块都有对应的client ...

  9. Ceph在OpenStack中的地位

    对Ceph在OpenStack中的价值进行简要介绍,并且对Ceph和Swift进行对比. 对于一个IaaS系统,涉及到存储的部分主要是块存储服务模块.对象存储服务模块.镜像管理模块和计算服务模块.具体 ...

随机推荐

  1. 判断IP地址的合法性

    每台计算机都有独一无二的编号,称为ip地址,每个合法的ip地址由‘.’分隔开的4个数字组成,每个数字的取值范围为0--255 输入一个字符串,判断其是否为合法的IP地址,若是输出‘YES’,否则输出‘ ...

  2. Java实现 LeetCode 721 账户合并(并查集)

    721. 账户合并 给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails ...

  3. Java实现 删数字

    删数字 时间限制: 1 Sec 内存限制: 128 MB 题目描述 奶牛在数学课上学习了整除的概念.农夫Farmer John为了考验它的数学水平,于是在白纸上写了正整数T.由于农夫不喜欢数字0,所以 ...

  4. Java实现 蓝桥杯 算法提高 摩尔斯电码

    算法提高 9-3摩尔斯电码 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 摩尔斯电码破译.类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文.请不要使用"zy ...

  5. Java实现 蓝桥杯VIP 基础练习 报时助手

    题目描述 给定当前的时间,请用英文的读法将它读出来. 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上"o'clock",如3:00读 ...

  6. Java实现 LeetCode 209 长度最小的子数组

    209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组.如果不存在符合条件的连续子数组,返回 0. 示例: 输入: s = ...

  7. Java实现 蓝桥杯VIP 算法提高 邮票面值设计

    算法提高 邮票面值设计 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤13)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮 ...

  8. Java实现 蓝桥杯VIP 算法提高 企业奖金发放

    算法提高 企业奖金发放 时间限制:1.0s 内存限制:512.0MB 企业发放的奖金根据利润提成.利润低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10% ...

  9. 第五届蓝桥杯JavaA组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜年龄 题目描述 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍" ...

  10. Java实现N的N次幂

    如果x的x次幂结果为10(参见[图1.png]),你能计算出x的近似值吗? 显然,这个值是介于2和3之间的一个数字. 请把x的值计算到小数后6位(四舍五入),并填写这个小数值. 注意:只填写一个小数, ...