openstack(Pike 版)集群部署(七)--- Cinder 部署
一、介绍
参照官网部署:https://docs.openstack.org/cinder/pike/install/index-rdo.html
继续上一博客进行部署:http://www.cnblogs.com/weijie0717/p/8641493.html
二、部署cinder 服务(controller 节点)
按照博客部署:https://docs.openstack.org/cinder/pike/install/cinder-controller-install-rdo.html
1、 需要作出修改的地方:(避免配置Haproxy 后 端口冲突。)
# vim /etc/cinder/cinder.conf
2、配置 Haproxy
博客:http://www.cnblogs.com/weijie0717/p/8530102.html
配置:cinder 服务。
三、验证配置
# openstack volume service list
基础服务到此处。配置完成。
四、部署cinder-volumes + ceph cluster
1、安装ceph包 (所有controller 节点)
# yum -y install ceph-common
2、 拷贝ceph集群配置文件到所有controller 节点 /etc/ceph/ceph.conf (ceph 集群 任意节点)
之前在配置 glance 时已经操作,在此处不在操作,具体命令如下:
# scp /etc/ceph/ceph.conf root@controller1:/etc/ceph/ceph.conf
# scp /etc/ceph/ceph.conf root@controller2:/etc/ceph/ceph.conf
# scp /etc/ceph/ceph.conf root@controller3:/etc/ceph/ceph.conf
3、 创建 Cinder 所需要的ceph 存储池:volumes (任意ceph-mon 节点 )
# ceph osd pool create volumes 128 128
4、 生成和导出证书到 controller节点 (任意ceph-mon 节点 )
# 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=vms,allow rx pool=images' -o /etc/ceph/ceph.client.cinder.keyring
5、 拷贝keying 文件至所有controller 节点 /etc/ceph/文件中
# scp /etc/ceph/ceph.client.cinder.keyring root@controller-all:/etc/ceph/ceph.client.cinder.keyring
6、controller 的 libvirt也需要这个key,创建Key:
# uuidgen
# cd /root
# vim secret.xml
<secret ephemeral = 'no' private = 'no'>
<uuid>953c13f7-76e1-48b3-a982-cf0ee5c51039</uuid> #此UUID 为 uuidgen 获取到的ID
<usage type = 'ceph'>
<name>client.cinder secret</name>
</usage>
</secret>
# virsh secret-define --file secret.xml
# virsh secret-set-value --secret 953c13f7-76e1-48b3-a982-cf0ee5c51039 --base64 AQB7TrhaDC6oLBAATxzn5wCRYZeR3XmU0FE9vQ==
# --secret 后的值 为 UUID值。
# base64 后的值为/etc/ceph/ceph.client.cinder.keyring 的KEY 值。生成的key保存在/etc/libvirt/secrets
Note: UUID 在controller 各节点上保持一致。 拷贝 secret.xml 到其他controller节点,然后继续 uuidgen 命令之后的所有操作。
7、配置 Cinder
# vim /etc/cinder/cinder.conf
[DEFAULT]
enabled_backends = ceph 配置文件最后添加,避免打乱其他标签项配置。
[ceph]
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 =
#rbd_store_chunk_size =
#rados_connect_timeout = -
rbd_user = cinder # 生成Key是所使用的用户
rbd_secret_uuid = 953c13f7-76e1-48b3-a982-cf0ee5c51039 # UUID
volume_backend_name = ceph
8、重启服务
# systemctl restart openstack-cinder-*
Note : (* 代表以下服务:openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service)查看 服务是否都正常启动。如果没有启动通过 start 启动,本实验过程中 openstack-cinder-volume.service 未能启动,通过start
# systemctl start openstack-cinder-volume.service
# systemctl enable openstack-cinder-volume.service
9、验证:
1、命令验证
# openstack volume service list
2、web 创建卷
项目--》卷--》卷--》创建卷:
3、ceph 集群查看
ceph 集群中查看到有数据传入。
4、处理ceph 集群告警。参考 配置Glance 时的操作
博客:http://www.cnblogs.com/weijie0717/p/8563294.html
到此处,cinder-volumes + ceph 集群 配置完成。
附加:
1、配置 Volume-type。 (适用场景:具有多种类型的ceph 存储:ceph-sas 、ceph-ssd 集群 等等)
注:如果不指定volume type,cinder-scheduler会忽略volume type,按默认的调度器从所有cinder-volume调度。
a、查看:
# cinder type-lis
b、配置:
# cinder type-create ceph # ceph 为type-name 自定义
# cinder type-key ceph set volume_backend_name=ceph # volume type关联 cinder.conf 配置文件中的volume_backend_name
c、 验证
# cinder type-lis
另外:web中创建卷。卷的类型中也可以看到。
openstack(Pike 版)集群部署(七)--- Cinder 部署的更多相关文章
- openstack高可用集群16-ceph介绍和部署
Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- openstack高可用集群21-生产环境高可用openstack集群部署记录
第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群 部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...
- CentOS7.2非HA分布式部署Openstack Pike版 (实验)
部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...
- VLAN 模式下的 OpenStack 管理 vSphere 集群方案
本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...
- Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...
- [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...
- 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...
- 使用fabric解决百度BMR的spark集群各节点的部署问题
前言 和小伙伴的一起参加的人工智能比赛进入了决赛之后的一段时间里面,一直在构思将数据预处理过程和深度学习这个阶段合并起来.然而在合并这两部分代码的时候,遇到了一些问题,为此还特意写了脚本文件进行处理. ...
- 3-3 Hadoop集群完全分布式配置部署
Hadoop集群完全分布式配置部署 下面的部署步骤,除非说明是在哪个服务器上操作,否则默认为在所有服务器上都要操作.为了方便,使用root用户. 1.准备工作 1.1 centOS6服务器3台 手动指 ...
随机推荐
- HTML+CSS盒模型
一.Padding 1.padding用来调整内容在容器中的位置关系:padding的属性要添加到父元素上. padding值是额外加在元素原有的大小之上的,若想保证元素大小不变,需从元素宽或高上 ...
- 使用Quartz框架定时发送预警邮件
1. Quartz定时发送预警邮件 1.1. 需求及实现思路 定时查询库存预警信息,一旦存在库存预警的商品,则发邮件通知相关人员 1.2. Quartz框架 Quartz是OpenSymph ...
- js 深度拷贝
js 数据类型 分为2种: 基本数据类型:Undefined.Null.Boolean.Number.String 复杂数据类型:Object.Array.function 他们的区别是在内存中的存储 ...
- mysql innodb count(*)速度慢且不准确的解决办法
innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据.而innodb必须 ...
- 深度学习原理与框架-Tensorflow基本操作-变量常用操作 1.tf.random_normal(生成正态分布随机数) 2.tf.random_shuffle(进行洗牌操作) 3. tf.assign(赋值操作) 4.tf.convert_to_tensor(转换为tensor类型) 5.tf.add(相加操作) tf.divide(相乘操作) 6.tf.placeholder(输入数据占位
1. 使用tf.random_normal([2, 3], mean=-1, stddev=4) 创建一个正态分布的随机数 参数说明:[2, 3]表示随机数的维度,mean表示平均值,stddev表示 ...
- aaad
I remember the wonderful moment you appeared before me, like a fleeting vision, like a genius of pur ...
- python语言中的数据类型之字典
数据类型 字典类型dict 用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性 定义方式:在{ }用逗号分隔开多个元素,每个元素都是key:value形式,其中k ...
- 数据结构:Stack
Stack设计与实现 Stack基本概念 栈是一种 特殊的线性表 栈仅能在线性表的一端进行操作 栈顶(Top):允许操作的一端 栈底(Bottom):不允许操作的一端 Stack的常用操作 创建栈 销 ...
- jquery Load方法的重要点
一个非常重要而且很容易忽视的问题就是:你是否load进了你必须load的元素,是否有的没有load进来,打开firebug查看一下
- Haskell语言学习笔记(85)Async
安装 async $ cabal install async async-2.2.1 installed async / wait / concurrently async :: IO a -> ...