Openstack(十七)部署快存储cinder
官方部署文档:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/cinder.html
OpenStack的存储组件—Cinder和Swift—让你在你的私有云里构建块存储和对象的存储系统,Openstack从Folsom开始使用Cinder替换原来的Nova-Volume服务,为Openstack云平台提供块存储服务,Cinder接口提供了一些标准功能,允许创建和附加块设备到虚拟机,如“创建卷”,“删除卷”和“附加卷”。还有更多高级的功能,支持扩展容量的能力,快照和创建虚拟机镜像克隆,主要涉及到的组件如下:
cinder-api:接受API请求,并将其路由到“cinder-volume“执行,即请求cinder要先请求此对外API。
cinder-volume:与块存储服务和例如“cinder-scheduler“的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。“cinder-volume“服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。
cinder-scheduler守护进程:选择最优存储提供节点来创建卷。其与“nova-scheduler“组件类似。
cinder-backup守护进程:“cinder-backup“服务提供任何种类备份卷到一个备份存储提供者。就像“cinder-volume“服务,它与多种存储提供者在驱动架构下进行交互。
消息队列:在块存储的进程之间路由信息。
17.1创建cinder数据库
# mysql -uroot –p
> CREATE DATABASE cinder;
> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'cinde
r123';
> flush privileges;
17.2控制端数据访问验证
# mysql -ucinder -h192.168.10.100 -pcinder123

17.3控制端cinder服务注册
17.3.1创建cinder用户并授权
# source admin-ocata.sh
# openstack user create --domain default --password-prompt cinder
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | 81672c29064942aea8fb754820ddb76a |
| enabled | True |
| id | f12af1d5583e4b179354c3b4d8d0d778 |
| name | cinder |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
#授权admin权限
# openstack role add --project service --user cinder admin
17.3.2创建服务
# v2,v3版本创建
# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
# v2,v3版本创建
# openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
17.3.3注册V2版本endpoint
#公共端点:
# openstack endpoint create --region RegionOne volumev2 public http://192.168.10.100:8776/v2/%\(project_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | cf87da53a7754996972b7ef2baf73933 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8077b7de84fc4b32a288306459bad10b |
| service_name | cinderv2 |
| service_type | volumev2 |
| url | http://192.168.10.100:8776/v2/%(project_id)s |
+--------------+----------------------------------------------+
#私有端点:
# openstack endpoint create --region RegionOne volumev2 internal http://192.168.10.100:8776/v2/%\(project_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 4d8cfb82cd4a4015876df6aafc8bb219 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8077b7de84fc4b32a288306459bad10b |
| service_name | cinderv2 |
| service_type | volumev2 |
| url | http://192.168.10.100:8776/v2/%(project_id)s |
+--------------+----------------------------------------------+
#管理端点:
# openstack endpoint create --region RegionOne volumev2 admin http://192.168.10.100:8776/v2/%\(project_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 686d554b483a4a52b36c6b6a6c3a2feb |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8077b7de84fc4b32a288306459bad10b |
| service_name | cinderv2 |
| service_type | volumev2 |
| url | http://192.168.10.100:8776/v2/%(project_id)s |
+--------------+----------------------------------------------+
17.3.4注册V3版本endpoint
#公共端点:
# openstack endpoint create --region RegionOne volumev3 public http://192.168.10.100:8776/v3/%\(project_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 729e23316e964ff6bc6315f4d95e590a |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 4234b69629ac4e6bbabcd72c8bb0ab81 |
| service_name | cinderv3 |
| service_type | volumev3 |
| url | http://192.168.10.100:8776/v3/%(project_id)s |
+--------------+----------------------------------------------+
#私有端点:
# openstack endpoint create --region RegionOne volumev3 internal http://192.168.10.100:8776/v3/%\(project_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 0541cfdf2d99477fb4105aac045f0399 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 4234b69629ac4e6bbabcd72c8bb0ab81 |
| service_name | cinderv3 |
| service_type | volumev3 |
| url | http://192.168.10.100:8776/v3/%(project_id)s |
+--------------+----------------------------------------------+
#管理端点:
# openstack endpoint create --region RegionOne volumev3 admin http://192.168.10.100:8776/v3/%\(project_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 3b45ed17bb724479a49df89e49a0e2ae |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 4234b69629ac4e6bbabcd72c8bb0ab81 |
| service_name | cinderv3 |
| service_type | volumev3 |
| url | http://192.168.10.100:8776/v3/%(project_id)s |
+--------------+----------------------------------------------+
17.4配置haproxy负载
# vim /etc/haproxy/haproxy.cfg
listen cinder
bind 192.168.10.100:8776
mode tcp
log global
balance source
server cinder-server 192.168.10.201:8776 check inter 5000 rise 3 fall 3
# systemctl reload haproxy.service
17.5安装并配置cinder组件
17.5.1控制端安装cinder
# yum install openstack-cinder –y
17.5.2编辑配置文件cinder.conf
# vim /etc/cinder/cinder.conf
1:[DEFAULT]
263:my_ip = 192.168.10.201
376:auth_strategy = keystone
3243:transport_url = rabbit://openstack:123456@192.168.10.205
3518:[database]
3546:connection = mysql+pymysql://cinder:cinder123@192.168.10.100/cinder
3767:[keystone_authtoken]
3768:auth_uri = http://192.168.10.100:5000
3769:auth_url = http://192.168.10.100:35357
3770:memcached_servers = 192.168.10.100:11211
3771:auth_type = password
3772:project_domain_name = default
3773:user_domain_name = default
3774:project_name = service
3775:username = cinder
3776:password = cinder
3996:[oslo_concurrency]
4012:lock_path = /var/lib/cinder/tmp
17.5.3同步并验证数据库
# su -s /bin/sh -c "cinder-manage db sync" cinder
17.5.4验证数据库同步成功
# mysql -ucinder -h192.168.10.100 -pcinder123

17.5.5控制端重启nova-api服务
# systemctl restart openstack-nova-api.service
17.5.6启动块存储服务cinder
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
17.5.7验证cinder日志
# tail -f /var/log/cinder/*.log

17.6配置计算节点使用cinder存储
17.6.1编辑配置文件nova.conf
# vim /etc/nova/nova.conf
3982 [cinder]
4031 os_region_name=RegionOne
17.6.2重启nova服务
# systemctl restart libvirtd.service openstack-nova-compute.service
17.6.3验证cinder控制端
# openstack volume service list

17.7配置存储节点
17.7.1添加磁盘
在负载服务器(或其他指定服务器)新添加一块50G的磁盘然后点确定:

17.7.2安装LVM包
# yum install lvm2 –y
17.7.3启动LVM并设置为开机启动
# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service
17.7.4动态识别新磁盘
# ll /sys/class/scsi_host/host
host0/ host1/ host2/
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
17.7.5验证磁盘
#fdisk -l

17.7.6创建物理卷和卷组
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
17.8存储安装并配置组件
在负载服务器安装配置
17.8.1安装组件
# yum install openstack-cinder targetcli python-keystone –y
17.8.2编辑配置文件cinder.conf
# vim /etc/cinder/cinder.conf
1:[DEFAULT]
283:my_ip = 192.168.10.205
288:glance_api_servers = http://192.168.10.100:9292
400:auth_strategy = keystone
404:enabled_backends = lvm
1210:transport_url = rabbit://openstack:123456@192.168.10.205
3730:[database]
3749:connection = mysql+pymysql://cinder:cinder123@192.168.10.100/cinder
3973:[keystone_authtoken]
3974:auth_uri = http://192.168.10.100:5000
3975:auth_url = http://192.168.10.100:35357
3976:memcached_servers = 192.168.10.100:11211
3977:auth_type = password
3978:project_domain_name = default
3979:user_domain_name = default
3980:project_name = service
3981:username = cinder
3982:password = cinder
4249:[oslo_concurrency]
4263:lock_path = /var/lib/cinder/tmp
4904:[lvm]
4905:volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
4906:volume_group = cinder-volumes
4907:iscsi_protocol = iscsi
4908:iscsi_helper = lioadm
4909:volume_backend_name=Openstack-lvm
17.8.3启动服务并设置为开机启动
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
17.8.4验证日志

17.8.5控制端验证cinder注册
# openstack volume service list

17.9验证卷使用
17.9.1创建卷
使用admin或者demo用户登录到管理界面,点击卷—创建卷:

17.9.2填写卷信息

17.9.3查看卷状态

17.9.4关联到虚拟机

17.9.5关联到目标虚拟机

17.9.6连接后的卷状态

17.9.7虚拟机验证磁盘

17.9.8格式化磁盘
# mkfs.ext4 /dev/vdb

17.9.9挂载磁盘并复制数据

17.9.10磁盘挂载至其他虚拟机
新创建一个虚拟机,用于将上一步关联的卷分离后挂载到新的虚拟机上进行测试。
17.9.10.1卸载卷
在之前的虚拟机将卷卸载。

17.9.10.2磁盘分离
点击项目-卷-管理连接:

17.9.10.3分离卷

17.9.10.4确认分离

17.9.10.5挂载至新实例
在管理连接界面,将卷关联至test-vm2:

17.9.10.6关联成功

17.9.10.7新实例验证磁盘
验证可以挂载关联的磁盘并可以查看之前的数据

Openstack(十七)部署快存储cinder的更多相关文章
- openstack(liberty):部署实验平台(三,简单版本软件安装 之cinder,swift)
今天这里追加存储相关的部署,主要是Block和Object,为了看到效果,简单的部署在单节点上,即Block一个节点,Object对应一个节点. 读者可能会觉得我这个图和之前的两个post有点点不同, ...
- CentOS7安装OpenStack(Rocky版)-09.安装Cinder存储服务组件(控制节点)
本文分享openstack的Cinder存储服务组件,cinder服务可以提供云磁盘(卷),类似阿里云云盘 ----------------------- 完美的分隔线 -------------- ...
- Openstack块存储cinder安装配置
openstack service create --name cinderv2 \ --description "OpenStack Block Storage" volumev ...
- openstack havana块存储Cinder磁盘加密方法研究
http://blog.csdn.net/cloudresearch/article/details/19092219 在openstack havana的release note中有如下介绍“Att ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(一)——控制节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 控制节点: 1.准备Ubuntu 安装好Ubuntu12.04 server 64bits后 ...
- openstack第五章:cinder
第五篇cinder— 存储服务 一.cinder 介绍: 理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接 ...
- OpenStack大规模部署详解
https://blog.csdn.net/karamos/article/details/80130443 0.前言今年的2月22日,OpenStack发布了15个版本Ocata. 走过了7年的发展 ...
- openstack 安装部署
环境准备 本次搭建的是openstack kilo版本,计算节点和控制节点采用linux bridge的方式连接 1.两台服务器 controller 172.16.201.9 compute01 1 ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 计算节点: 1.准备结点 安装好ubuntu 12.04 Server 64bits后,进入ro ...
随机推荐
- BDIP和BVLC纹理分析
Young Deok Chun 等人提出了基于 BVLC 矩和 BDIP 矩的一种纹理分析方法.BVLC 能显示粗糙和光滑特性,BDIP 能够很好的提取波谷和边缘.它们直接在彩色空间上进行处理,能有效 ...
- 【spring教程之中的一个】创建一个最简单的spring样例
1.首先spring的主要思想,就是依赖注入.简单来说.就是不须要手动new对象,而这些对象由spring容器统一进行管理. 2.样例结构 如上图所看到的,採用的是mavenproject. 2.po ...
- C语言函数參数传递原理
C语言中參数的传递方式一般存在两种方式:一种是通过栈的形式传递.还有一种是通过寄存器的方式传递的. 这次.我们仅仅是具体描写叙述一下第一种參数传递方式,第二种方式在这里不做具体介绍. 首先,我们看一下 ...
- oracle扩展dblink数。
[标记]在进行数据迁移时:出现 Compilation errors for PROCEDURE ZDGAME.GFF_FETCH_MZR_LOG Error: ORA-04052: error oc ...
- kafka的相关操作脚本
总结最近用到的kafka相关命令和脚本. 1.创建Topic./kafka-topics.sh --zookeeper cc13-141:2182 --topic mytopic --replicat ...
- php 数据库练习之租房子
题目: 示例图 本次只做图4这个表,因为之前的都已做过 自己在mydb数据库建了一个house表 如图: 自己做的代码: <!DOCTYPE html PUBLIC "-//W3C// ...
- JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)
需要解决的问题有:本地图片如何在上传前预览.编辑:最近发现这个功能很多是基于flash实现的,很多JavaScript实现的代码兼容性都很差,特别是在IE和firefox和chrome三个浏览器上不兼 ...
- c++11——lambda表达式
lambda表达式 函数式编程的一个语法,有如下优点: (1)声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象.以更直接的方式写程序,好的可读性和可维护性. (2) ...
- android基础组件---->Checkboxe的使用
由于使用比较简单,这篇博客涵盖Checkboxes和Radio Buttons和Toggle Buttons.好了我们开始今天的学习.我被世俗隐瞒,转身又被自己撞倒.从莫须有的罪名起步,行色简单,心术 ...
- PropertyPlaceholderConfigurer读取配置文件
1. PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现.PropertyPlaceho ...