openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2

  

参考安装文档https://docs.openstack.org/newton/zh_CN/install-guide-rdo/cinder.html

  块存储服务(cinder)为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等。

  

块存储服务通常包含下列组件:

cinder-api

接受API请求,并将其路由到``cinder-volume``执行。

cinder-volume

与块存储服务和例如``cinder-scheduler``的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。``cinder-volume``服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。

cinder-scheduler守护进程

选择最优存储提供节点来创建卷。其与``nova-scheduler``组件类似。

cinder-backup daemon

``cinder-backup``服务提供任何种类备份卷到一个备份存储提供者。就像``cinder-volume``服务,它与多种存储提供者在驱动架构下进行交互。

消息队列
   在块存储的进程之间路由信息。
安装配置控制节点

PS:生产可以安装多个存储节点

之前已经建立过数据库和用户

安装软件包

yum install openstack-cinder

编辑 /etc/cinder/cinder.conf,同时完成如下动作:

在 [database] 部分,配置数据库访问:

[database]
connection = mysql+pymysql://cinder:cinder@192.168.0.112/cinder

在``[DEFAULT]``部分,配置``RabbitMQ``消息队列访问权限:

[DEFAULT]
transport_url = rabbit://openstack:openstack@192.168.0.112

在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问:

[DEFAULT]
auth_strategy = keystone [keystone_authtoken]
auth_uri = http://192.168.0.112:5000
auth_url = http://192.168.0.112:35357
memcached_servers = 192.168.0.112:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = cinder
password = cinder

PS:不按照官方安装文档配置my_Ip

在 [oslo_concurrency] 部分,配置锁路径:

[oslo_concurrency]
...
lock_path = /var/lib/cinder/tmp

过滤配置文件

初始化块设备服务的数据库:

su -s /bin/sh -c "cinder-manage db sync" cinder

有info信息没有waring及error信息

验证数据库创建是否成功

mysql -h192.168.0.112 -ucinder -pcinder -e "use cinder;show tables;"

配置计算服务使用块设备存储

编辑文件 /etc/nova/nova.conf 并添加如下到其中:

[cinder]
os_region_name = RegionOne

重启计算API 服务:

 systemctl restart openstack-nova-api.service

启动块设备存储服务,并将其配置为开机自启:

systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

监听端口为8776

创建 cinder 和 cinderv2 服务实体:

openstack service create --name cinder \
--description "OpenStack Block Storage" volume

openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2

创建块设备存储服务的 API 入口点:

openstack endpoint create --region RegionOne \
volume public http://192.168.0.112:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne \
volume internal http://192.168.0.112:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne \
volume admin http://192.168.0.112:8776/v1/%\(tenant_id\)s

V2的

openstack endpoint create --region RegionOne \
volumev2 public http://192.168.0.112:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne \
volumev2 internal http://192.168.0.112:8776/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne \
volumev2 admin http://192.168.0.112:8776/v2/%\(tenant_id\)s

验证

安装并配置一个存储节点(类似于计算节点)

没有存储节点默认存储在计算节点的本地硬盘,目录为/var/lib/nova/instances

本地硬盘的优势是性能好,缺点是不灵活

本次试验还是安装在控制节点上面(对于cinder来说就是一个存储节点)

安装支持的工具包:

安装 LVM 包:

yum -y install lvm2

启动LVM的metadata服务并且设置该服务随系统启动:

systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service

关闭主机添加一块硬盘

开机查看一下

创建LVM 物理卷 /dev/sdb

pvcreate /dev/sdb

创建 LVM 卷组 cinder-volumes:(名称不能错因为配置需要使用此名称)

vgcreate cinder-volumes /dev/sdb

块存储服务会在这个卷组中创建逻辑卷

创建完毕使用命令查看

vgdisplay

只有实例可以访问块存储卷组。但是,底层的操作系统管理着与这些卷相关联的设备。默认情况下,LVM卷扫描工具会扫描``/dev`` 目录,查找包含卷的块存储设备。如果项目在他们的卷上使用了LVM,扫描工具便会在检测到这些卷时尝试缓存它们,这可能会在底层操作系统和项目卷上产生各种问题。所以您必须重新配置LVM,让它扫描仅包含``cinder-volume``卷组的设备。编辑``/etc/lvm/lvm.conf``文件并完成下面的操作:

在``devices``部分,添加一个过滤器,只接受``/dev/sdb``设备,拒绝其他所有设备:

devices {
...
filter = [ "a/sdb/", "r/.*/"]

如果您的存储节点在操作系统磁盘上使用了 LVM,您还必需添加相关的设备到过滤器中。例如,如果 /dev/sda 设备包含操作系统:

把以上修改成

filter = [ "a/sda/", "a/sdb/", "r/.*/"]

安装并配置组件

安装软件包:

yum install openstack-cinder targetcli python-keystone

编辑 /etc/cinder/cinder.conf(因为控制节点和存储节点在一台机器配置相同不需要再次配置数据库,消息队列,keystone认证等)

在``[lvm]``部分中,配置LVM后端,包括LVM驱动,``cinder-volumes``卷组 ,iSCSI 协议和适当的 iSCSI服务。如果``[lvm]``部分不存在,则创建它:

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

在文件末尾添加,其他存储设备也是差不多这样配置,之前驱动有所不同

在 [DEFAULT] 部分,启用 LVM 后端:

[DEFAULT]
enabled_backends = lvm

注意这是一个列表可以写多个用逗号分割

在 [DEFAULT] 区域,配置镜像服务 API 的位置:

[DEFAULT]
...
glance_api_servers = http://192.168.0.112:9292

在 [oslo_concurrency] 部分,配置锁路径:(前面已经配置)

配置my_ip

[DEFAULT]

iscsi_ip_address = 192.168.0.112

启动块存储卷服务及其依赖的服务,并将其配置为随系统启动:

systemctl enable openstack-cinder-volume.service target.service
systemctl start openstack-cinder-volume.service target.service

验证

source admin-openstack
openstack volume service list

PS:为了保证成功,同步一下时间

也可以重启一下服务

 systemctl restart openstack-nova-api

  

创建磁盘

使用demo用户登录web界面

在计算-卷-创建卷

把硬盘挂在到云主机

PS: 如果挂载出现问题可以查看日志/var/log/nova/nova-compute.log查找原因

  ssh登录到那台云主机查看

  

  可以正常格式化并且挂载mount

  挂载以后当着数据盘使用,如果系统盘出现问题可以把数据盘挂载到其他的主机上面

  

  

  和使用工有云是一样的

  PS:卷相当于一块网络硬盘(云硬盘),生产中一般使用本地硬盘作为系统盘,云硬盘作为数据盘。其实卷也可以作为系统盘,在创建主机的时候如下选择

  

  

  卷可以扩大

  

  

  在存储节点查看

  

  PS:生产可以使用ISCSI,NFS,GlusterFS,Ceph(建议使用GlusterFS测试建议使用ISCSI和NFS因为配置更加简单)

Openstack块存储cinder安装配置的更多相关文章

  1. 10.OpenStack块存储服务

    添加块存储服务 安装和配置控制器节点 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cind ...

  2. 【恒天云技术分享系列10】OpenStack块存储技术

    原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...

  3. 云计算管理平台之OpenStack块存储服务cinder

    一.cinder简介 cinder是openstack环境中的块存储服务,主要为运行在openstack之上的虚拟机提供块存储服务的:所谓块存储就是我们经常用的硬盘呀,U盘啊,SD卡等等这些块设备的, ...

  4. 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合

    OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算‎软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目.OpenStack是IaaS(基础设施即服务)‎软 ...

  5. openstack havana块存储Cinder磁盘加密方法研究

    http://blog.csdn.net/cloudresearch/article/details/19092219 在openstack havana的release note中有如下介绍“Att ...

  6. Ceph14.2.5 RBD块存储的实战配置和详细介绍,不看后悔! -- <3>

    Ceph RBD介绍与使用 RBD介绍 RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型.RBD块设备类似磁盘可以被挂载. RBD块设备具有快照.多副本.克隆 ...

  7. OpenStack Train版-13.安装块存储服务cinder(控制节点)

    Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...

  8. 【openstack N版】——块存储服务cinder

    一.块存储服务介绍 1.1块存储服务通常包含以下组件 cinder-api: 接受API请求,并将其路由到"cinder-volume"执行. cinder-volume: 与块存 ...

  9. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 —9.块存储服务(cinder)部署配置

    块存储服务部署相关块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等.典型 ...

随机推荐

  1. js 判断是否为mac电脑 、还是windows操作系统

    /** * 是否为mac系统(包含iphone手机) * */ var isMac = function() { return /macintosh|mac os x/i.test(navigator ...

  2. ubuntu:好用的help命令

    以前光知道如何不清楚某个命令的用法可以打上后缀 ‘ --help' 现在刚发现,原来还有help命令来帮忙,如果你安装的是中文支持,在ubuntu上, 那么部分命令说明还是中文版哦. 举例: help ...

  3. 关于scut PersonalCacheStruct<>.foreach

    经过测试PersonalCacheStruct<>.foreach并不会遍历所有数据,只会遍历有session的数据.又或者是缓存还没销毁的数据. 但ShareCacheStruct< ...

  4. 多线程-AbstractQueuedSynchronizer(AQS)

    概述 从使用者的角度,AQS的功能可分为两类:独占功能和共享功能.它的子类中,要么实现并使用了它独占功能的API,要么使用了共享锁的功能,而不会同时使用两套API,即使是它的子类ReentrantRe ...

  5. Atitit.执行cmd 命令行 php

    Atitit.执行cmd 命令行 php 1. 执行cmd 命令行,调用系统命令的基础 1 1.1. 实际执行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题,程序文件读取编码设置 1 1 ...

  6. atitit.js的 字符串内容 转义  js处理html

    atitit.js的 字符串内容 转义  js处理html 1. js处理html的问题 1 2. js的 字符串内容 转义 1 2.1. 处理流程 1 3. 下面的表格列出了其余的特殊字符,这些特殊 ...

  7. js 旋转控件 jQueryRotate

    插代码 .. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...

  8. try...except...后中断程序继续运行

    今天遇到一个问题,本来是以前已经了解过的,但是忘了,现在又想起来了,还是记一下 try...except...当except抓到异常后程序会继续运行 但是个人感觉抓到异常后都是终止程序的吧...可能也 ...

  9. IDEA2017 导入 SVN上的 Myeclipse或Eclipse 项目

    从SVN上检出项目,不用打开. 关闭IDEA后选择 import project,导入后按F4 (改成eclipse按键模式后 按ctrl alt shift F4)进入 project struct ...

  10. cubieboard 资源

    开发链接: http://pan.baidu.com/s/1o6r27V0 密码: 46h2 文档资料: http://pan.baidu.com/s/1kTFXMSZ 密码: 9pka 视频资料: ...