本环境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. CentOS安装Python3.5

    1.  安装python3.5可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel s ...

  2. ecilpse 纠错插件

    在market里面搜索 Spot Bugs Unnecessary Code Detector

  3. 自制基于python的DoU log分析脚本

    工作中测试DoU的log需要分析,原先是使用excel,去ctrl c,ctrl v截取数据,整理格式等等.一来,这工作虽然很简单,但是非常耗时,不熟练的人(比如我)一搞搞个半天:二来,不小心还会出现 ...

  4. Java实现 LeetCode 823 带因子的二叉树(DP)

    823. 带因子的二叉树 给出一个含有不重复整数元素的数组,每个整数均大于 1. 我们用这些整数来构建二叉树,每个整数可以使用任意次数. 其中:每个非叶结点的值应等于它的两个子结点的值的乘积. 满足条 ...

  5. Java实现 LeetCode 303 区域和检索 - 数组不可变

    303. 区域和检索 - 数组不可变 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点. 示例: 给定 nums = [-2, 0, 3, ...

  6. 02 . Tomcat集群会话共享

    redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

  7. 【Spring注解驱动开发】聊聊Spring注解驱动开发那些事儿!

    写在前面 今天,面了一个工作5年的小伙伴,面试结果不理想啊!也不是我说,工作5年了,问多线程的知识:就只知道继承Thread类和实现Runnable接口!问Java集合,竟然说HashMap是线程安全 ...

  8. java正则匹配 指定内容以外的 内容

    今天,遇到一个需要 匹配出 指定内容以外的 内容的需求. 乍一看,需求貌视很简单啊,直接上 非贪婪模式的 双向零宽断言(有的资料上也叫 预搜索.预查.环视lookaround): 比如,我要匹配 串内 ...

  9. vim编辑器添加插件NERDTree

    0x01 首先在 http://www.vim.org/scripts/script.php?script_id=1658 下载插件 (可能要爬梯,也可以在https://github.com/scr ...

  10. php使用json_encode中遇见问题?

    注:php版本5.4下,不支持json_encode对中文的处理,要么升级php版本. json_encode($value,$options) 其中有2个比较常用到的参数: 1.JSON_UNESC ...