基于OpenStack平台的Cinder服务的研究与实现
2021-12-09戴远泉
程 宁,戴远泉
(湖北轻工职业技术学院 湖北 武汉 430070)
1 引言
随着云计算技术的兴起,一种新型的网络存储技术云存储应运而生。云存储区别于传统的存储技术,不再像传统的存储技术那样必须随身携带存储设备,人们可以在任意时刻通过网络获取到存储在云盘上的数据。对个人用户而言,可根据实际需要申请相应的存储服务;对于企业而言,可对存储资源实现统一的管理,降低企业后期的运维成本,因此云存储近年已被广泛应用在企业和个人用户的数据存储中[1]。本文研究基于OpenStack云计算平台,提出通过Cinder服务实现存储管理的一种解决方案,并实现了部署操作。
2 云存储简介
云存储是一种新兴的网络存储技术。它通过集群应用、网络技术或分布式系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统[2],以保证存储数据的安全性以及节约数据的存储空间。云存储从类型上可划分为块存储、文件存储和对象存储[3]。
(1)块存储:块存储可以裸盘上划分逻辑卷,逻辑卷可格式化成任意文件系统。其优点在于支持多种文件系统,传输速度快,提供硬件容错机制。块存储主要适用于快速更改的单一文件系统和针对单一文件大量写操作的应用场合。
(2)文件存储:文件存储属于文件级别的存储,可在同一磁盘上存储同一文件,如文件太大则需要进行拆分,但也需要放在同一磁盘上。其优点在于提供网络共享。文件存储主要适用文件较大、多个文件同时写入等场合。
(3)对象存储:对象存储是一个容器组织中存储文件,以灵活可定制的对象为存储单元,元数据服务器提供快速并发寻址,来检索文件。其优点在于读写速度较快,同时支持网络共享,对象可灵活定义。对象存储主要应用于存储资源池、集中备份、归档等应用场合。
3 Cinder简介
OpenStack作为企业广泛应用的云计算管理平台,其提供块存储服务的是Cinder服务。Cinder服务本身并不是一种存储技术,它提供一个中间的抽象层,即在云主机和具体存储设备之间引入了一层“逻辑存储卷”的抽象。Cinder通过调用不同存储后端类型的驱动接口来管理相对应的后端存储,为用户提供统一的volume相关操作的存储接口。
Cinder组件主要由cinder-api、cinder-scheduler、cinder-volume以及cinder-backup几个服务所组成,各服务之间通过消息队列进行通信。可在控制节点上安装cinder-api和cinder-scheduler,其中cinder-api负责接收其他组件或命令对cinder-volume的请求,而cinder-scheduler则是Cinder的调度程序,调度使用哪个volume。
通过Cinder服务创建volume,以块存储的形式通过ISCSI提供给计算节点,计算节点使用底层的Libvirt库把volume块存储挂载给云主机使用。同时需在块存储节点上安装cinder-volume服务,它负责调度相应程序,在节点上创建或删除volume,并更新维护volume在数据库中的状态。cinder-volume可以使用多种后端来创建块存储,包括LVM、NFS、Ceph和其他诸如EMC、IBM等商业存储产品和方案。
4 OpenStack下Cinder的部署
在controller节点(控制节点)和compute节点(计算节点)安装好OpenStack的基本环境,配置好yum源,关闭防火墙,Controller节点和Compute节点之间能相互访问,同时所有密码均设置为000000。
(1)在控制节点安装,并创建Cinder服务数据库和管理账户,并给Cinder数据库设置相应权限。
(9)利用管理员账号进入管理界面,在管理界面上依次选择“计算”-“卷”-“创建云硬盘”,创建名为mycinder-1的云硬盘,并将云硬盘连接到cloud2云主机上,见图1。
图1 管理已连接云硬盘界面
进入云主机,运行sudo fdisk–l命令进行查看,可以看到新挂载的云硬盘为/dev/vda,见图2。
图2 云硬盘挂载图示
5 结语
随着云计算的迅速发展,云存储技术得到了广泛应用,本文通过对云存储技术的介绍,研究了利用Openstack+Cinder实现块存储的解决方案并加以实现,希望本文的研究成果能为企业数据存储提供实际的借鉴价值。