天天看点

OpenStack之部署块存储服务cinder

块存储服务

    • 简介
    • 部署环境
    • 在控制节点上安装和配置块设备存储服务(cinder)
    • 安装并配置一个存储节点
    • 图形化界面访问

简介

OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷。此服务也会激活管理卷的快照和卷类型的功能。

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

典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动,卷服务器可以运行在控制节点、计算节点或单独的存储节点。

更多内容参考官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder.html

部署环境

我已经部署好了OpenStack平台并且装了可视化工具。可参照我之前的文章

OpenStack平台的搭建:https://blog.csdn.net/m0_55005311/article/details/119750200?spm=1001.2014.3001.5501
OpenStack可视化:https://blog.csdn.net/m0_55005311/article/details/119773544?spm=1001.2014.3001.5501

三台虚拟机:
controller控制节点		192.168.122.11		
compute1计算节点			192.168.122.12
block1块节点				192.168.122.13		本次部署新建的虚拟机,需要两块硬盘,openstack源已配好,已时间同步,已升级软件包
!!!三台主机的域名解析都已做好
           

在控制节点上安装和配置块设备存储服务(cinder)

配置步骤参考官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-controller-install.html

安装和配置块存储服务之前,必须创建数据库、创建服务证书和API端点

创建 cinder 数据库:
CREATE DATABASE cinder;

允许 cinder 数据库合适的访问权限:
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
  IDENTIFIED BY 'cinder';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
  IDENTIFIED BY 'cinder';
           

要创建服务证书,完成这些步骤

[[email protected] ~]# openstack user create --domain default --password cinder cinder
[[email protected] ~]# openstack role add --project service --user cinder admin
           

创建 cinder 和 cinderv2 服务实体

[[email protected] ~]# openstack service create --name cinder \
>   --description "OpenStack Block Storage" volume
[[email protected] ~]# openstack service create --name cinderv2 \
>   --description "OpenStack Block Storage" volumev2
           

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

[[email protected] ~]# openstack endpoint create --region RegionOne \
>   volume public http://controller:8776/v1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
>   volume internal http://controller:8776/v1/%\(tenant_id\)s
[[email protected] ~]#  openstack endpoint create --region RegionOne \
>   volume admin http://controller:8776/v1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
>   volumev2 public http://controller:8776/v2/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
>   volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
>   volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
           

安装软件包并修改配置文件

[[email protected] ~]# yum install openstack-cinder -y
[[email protected] ~]# vim /etc/cinder/cinder.conf
#按照链接进行修改https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-controller-install.html
#密码要记得修改
           
OpenStack之部署块存储服务cinder

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

配置计算节点以使用块设备存储

OpenStack之部署块存储服务cinder

重启计算API 服务

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

安装并配置一个存储节点

安装 LVM 包,启动LVM的metadata服务并且设置该服务随系统启动(系统一般默认包含)

[[email protected] ~]# yum install lvm2 -y
[[email protected] ~]# systemctl enable --now lvm2-lvmetad.service
           

创建LVM 物理卷,创建 LVM 卷组 cinder-volumes

[[email protected] ~]# pvcreate /dev/vdb		#要查看自己的磁盘是不是vdb
[[email protected] ~]# vgcreate cinder-volumes /dev/vdb
           
OpenStack之部署块存储服务cinder
只有实例可以访问块存储卷组。不过,底层的操作系统管理这些设备并将其与卷关联。默认情况下,LVM卷扫描工具会扫描

/dev

目录,查找包含卷的块存储设备。如果项目在他们的卷上使用LVM,扫描工具检测到这些卷时会尝试缓存它们,可能会在底层操作系统和项目卷上产生各种问题。必须重新配置LVM,让它只扫描包含

cinder-volume

卷组的设备。

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

OpenStack之部署块存储服务cinder
[[email protected] ~]# vim /etc/lvm/lvm.conf
[[email protected] ~]# vim /etc/lvm/lvm.conf
filter = [ "a/vda/", "a/vdb/", "r/.*/"]
           
OpenStack之部署块存储服务cinder

安装软件包

[[email protected] ~]# yum install openstack-cinder targetcli python-keystone -y
[[email protected] ~]# vim /etc/cinder/cinder.conf
#参考链接修改https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-storage-install.html
#注意修改密码
           

lvm模块没有,在最后加上。用iscsi协议把lvm从本地的逻辑卷组里分出去

OpenStack之部署块存储服务cinder

启动块存储卷服务及其依赖的服务,并将其配置为随系统启动。因为用到了iscsi协议,所以要启动target

在控制节点列出服务组件以验证是否每个进程都成功启动

OpenStack之部署块存储服务cinder

图形化界面访问

在dashborad用demo用户身份登录,可以看到多了一个功能是卷

OpenStack之部署块存储服务cinder

创建一个云硬盘

OpenStack之部署块存储服务cinder

有很多功能,可以扩展云硬盘,创建快照等

OpenStack之部署块存储服务cinder

选择管理连接加到之前创建的云主机里,这时进入云主机

fdisk -l

就可以看到这个1G的硬盘,

mkfs.xfs /dev/vdb

就可以格式化硬盘挂载使用了

OpenStack之部署块存储服务cinder

这个硬盘其实是在block1节点上的,是使用iscsi协议连接到云主机上

OpenStack之部署块存储服务cinder

注意如果对云盘进行扩容,只是逻辑方面进行了扩容,文件系统已经格式化过了,所以物理空间还是原来的大小。这个时候想变大就对文件系统进行拉伸

xfs_growfs /dev/vdb

继续阅读