第七步(2):安装openstack-cinder服务-控制节点

摘要:
简介OpenStack的存储组件—Cinder和Swift—让你在你的私有云里构建块存储和对象的存储系统,Openstack从Folsom开始使用Cinder替换原来的Nova-Volume服务,为Openstack云平台提供块存储服务,Cinder接口提供了一些标准功能,允许创建和附加块设备到虚拟机,如“创建卷”,“删除卷”和“附加卷”。
简介
OpenStack 的存储组件—Cinder 和 Swift—让你在你的私有云里构建块存储和对象的存储系统,Openstack 从Folsom 开始使用 Cinder 替换原来的 Nova-Volume 服务,为 Openstack 云平台提供块存储服务,Cinder 接口提供了一些标准功能,允许创建和附加块设备到虚拟机,如“创建卷”,“删除卷”和“附加卷”。还有更多高级的功能,支持扩展容量的能力,快照和创建虚拟机镜像克隆,主要涉及到的组件如下:

cinder-api:接受 API 请求,并将其路由到“cinder-volume“执行,即请求 cinder 要先请求此对外 API。cinder-api的监听端口为8776;

cinder-volume:与块存储服务和例如“cinder-scheduler“的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。“cinder-volume“服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。由nova申请镜像、IP、卷分配给虚拟机,nova服务会通过cinder-api给虚拟机申请卷;cinder volum不负责数据存储,它只是一个接口;
通过访问cinder-api,给虚拟机分配存储卷,cinder-scheduler会选择一个可用的存储节点进行调度,api会把创建卷的请求发送到消息队列中,由存储节点上的cinder-volume服务监听消息队列,所调度的存储节点监听到消息后创建卷。

cinder-scheduler 守护进程:选择最优存储提供节点来创建卷。其与“nova-scheduler“组件类似。

cinder-backup 守护进程:“cinder-backup“服务提供任何种类备份卷到一个备份存储提供者。就像“cinder-volume“服务,它与多种存储提供者在驱动架构下进行交互。如果想备份卷中的数据,则会调用cinder-backup把数据备份到指定的存储上;第三方存储必须兼容openstack-cinder接口,才能用于在cinder服务中进行数据存储和卷管理,如卷的拉伸(存储驱动需要支持拉伸)

消息队列:在块存储的进程之间路由信息。


##
cinder相当于就是一个远端磁盘,类似于阿里云的云盘;当虚拟机故障时,可以把虚拟机的云盘卸载,把云盘挂载到新的虚拟机进行使用,这样就不会造成数据的丢失
部署cinder-controller

https://docs.openstack.org/cinder/train/install/cinder-controller-install-rdo.html #部署参考

mysql服务器

1、CREATE DATABASE cinder;   #创建数据库

2、GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'cinder123';
#授权用户

haproxy服务器

1、vim /etc/haproxy/haproxy.cfg
listen openstack-cinder-8776
 mode tcp
 bind 172.31.7.248:8776
 server 172.31.7.101 172.31.7.101:8776 check inter 3s fall 3 rise 5
 server 172.31.7.102 172.31.7.102:8776 check inter 3s fall 3 rise 5
 
2、systemctl reload haproxy 

controller节点

1、source admin-openrc.sh   #导入admin环境变量

2、openstack user create --domain default --password-prompt cinder #创建cinder用户

3、openstack role add --project service --user cinder admin
#把cinder用户添加到service项目,拥有admin权限

4、openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
#cinder有v2和v3两个并存版本的API,所以需要创建两个版本的service实例

5、openstack endpoint create --region RegionOne volumev2 public http://openstack-vip.linux.local:8776/v2/%(project_id)s
openstack endpoint create --region RegionOne volumev2 internal http://openstack-vip.linux.local:8776/v2/%(project_id)s
openstack endpoint create --region RegionOne volumev2 admin http://openstack-vip.linux.local:8776/v2/%(project_id)s
#给cinder-api-v2版本的服务注册endpoint

6、openstack endpoint create --region RegionOne volumev3 public http://openstack-vip.linux.local:8776/v3/%(project_id)s
openstack endpoint create --region RegionOne volumev3 internal http://openstack-vip.linux.local:8776/v3/%(project_id)s
openstack endpoint create --region RegionOne volumev3 admin http://openstack-vip.linux.local:8776/v3/%(project_id)s
#给cinder-api-v3版本的服务注册endpoint;每个api版本的服务都有 3 个网络

7、openstack endpoint list   #查看endpoint是否注册成功

8、yum install openstack-cinder -y

9、vim /etc/cinder/cinder.conf
[database]   #配置数据库连接
connection = mysql+pymysql://cinder:cinder123@openstack-vip.linux.local/cinder

[DEFAULT]
transport_url = rabbit://openstack:openstack123@openstack-vip.linux.local #配置rabbitmq连接
auth_strategy = keystone  #使用keystone做认证
my_ip = 172.31.7.102  #myip需要指定当前controller地址

[keystone_authtoken]     #配置keystone认证信息
www_authenticate_uri = http://openstack-vip.linux.local:5000  #keystone地址
auth_url = http://openstack-vip.linux.local:5000
memcached_servers = openstack-vip.linux.local:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder   #指定通过cinder账号到keystone做认证
password = cinder

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp  #配置锁路径

10、su -s /bin/sh -c "cinder-manage db sync" cinder  #初始化cinder数据库

11、到mysql中cinder库中是否能够查看到初始化的表结构

12、vim /etc/nova/nova.conf 
[cinder]        
os_region_name = RegionOne  #告诉nova到RegionOne这个区域中调用cinder

13、systemctl restart openstack-nova-api.service

14、 systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

15、systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service

16、tail -f /var/log/cinder/*.log  #日志中不能有任何报错

17、curl 172.31.7.248:8776   #查看访问cinder-api是否能够有数据返回

测试

https://docs.openstack.org/cinder/train/install/cinder-verify.html #测试参考

1、openstack volume service list  #查看卷服务注册情况

免责声明:文章转载自《第七步(2):安装openstack-cinder服务-控制节点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇34个漂亮的应用程序后台管理界面(系列二)小波变换教程(六)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux的安装注意事项

Linux简介:   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。       Linux的发...

【笔记】虚拟机安装树莓派系统

    无意中在官网发现这个,这是个能安装在PC上的树莓派系统。估计是官方想推广树莓派,先把树莓派系统推出让大家可以在PC上体验(瞎猜的)。不管出于什么原因,本着折腾的想法,装一个试试呗。 安装环境 操作系统:Windows 10 虚拟机:VMware 11.1.0 安装步骤1、下载Raspbian pi Desktop镜像 下载地址:h...

Ubuntu 虚拟机安装qemu

Ubuntu 虚拟机安装qemu 最近几天一直开会有点小累 松懈了一下 首先最开始利用 wget https://download.qemu.org/qemu-6.2.0.tar.xz tar xvJf qemu-6.2.0.tar.xz cd qemu-6.2.0 ./configure make 这种方法去装遇到了问题 在make的时候提示缺少对应模...

Hyper-V和其他虚拟机共存 【转】

由于Windows中Hyper-V的实现方式在系统中为独占,所以其不能与其他的虚拟机共存。下面的方法是在系统中新增一个启动项,在这个启动项中关闭Hyper-V,这样就可以安装并使用其他虚拟机了。需要使用到Hyper-V的时候进行重启切换。 1、运行 bcdedit /copy {current} /d "Windows 10 Without Hyper-V...

libvirt(virsh命令介绍)

有了virt-install是安装虚拟机的命令,当然也需要一个管理虚拟机的命令了,那就是virsh。 virsh命令使用 virsh <command> <domain-id> [OPTIONS] virsh既有命令行模式,也有交互模式,在命令行直接输入virsh就进入交互模式,virsh 后面跟命令参数,则是命令行模式。下面主要介...

VMware 安装 Red Hat 6 虚拟机

目录 下载需要的文件 创建虚拟机 安装操作系统 配置初始化信息 拍摄快照 参考资料 下载需要的文件 为了使用 VMware 安装 Red Hat 6 虚拟机,肯定要先下载 VMware 并安装。 接着下载要安装的系统的 iso 映像文件,装啥下啥。 创建虚拟机 打开 VMware 主页,选择“创建新的虚拟机”。 此处选择虚拟机的配置,可以选择“...