块存储服务

块存储服务 (cinder) 为来宾实例提供块存储设备。配置和使用存储的方法由块存储驱动程序或多后端配置情况下的驱动程序确定。有多种可用的驱动程序:NAS/SAN、NFS、iSCSI、Ceph 等。
块存储 API 和调度程序服务通常在控制器节点上运行。根据使用的驱动程序,卷服务可以在控制器节点、计算节点或独立存储节点上运行。
 
OpenStack 块存储服务 (Cinder) 将持久存储添加到虚拟机。块存储提供了管理卷的基础设施,并与 OpenStack Compute 交互以为实例提供卷。该服务还支持管理卷快照和卷类型。
块存储服务由以下组件组成:
  • cinder-api 接受 API 请求,并将它们路由到cinder-volumefor 操作。
  • cinder-volume 直接与块存储服务交互,以及诸如cinder-scheduler. 它还通过消息队列与这些进程交互。该cinder-volume服务响应发送到块存储服务的读取和写入请求以维护状态。它可以通过驱动架构与各种存储提供者进行交互。
  • cinder-scheduler daemon 选择要在其上创建卷的最佳存储提供程序节点。与nova-scheduler.
  • cinder-backup daemon 该cinder-backup服务向备份存储提供商提供任何类型的备份卷。与cinder-volume服务一样,它可以通过驱动架构与各种存储提供者进行交互。
  • Messaging queue 在块存储进程之间路由信息。
 
假设有A和B两台计算节点,A和B运行实例各4个,那么若A计算节点挂了, 那么在A计算节点运行的实例都挂了,如何解决此类问题,这里需要使用到块存储服务,可以将所有计算节点的实例都运行在共享存储上,这里以NFS服务为列。以第三方文件系统做数据共享来实现
 
预准备条件
创建数据库并授权
获取admin凭据以访问仅限管理员的 CLI 命令:
创建服务凭证
创建块存储服务 API 端点:
 
安装cinder软件包
 
配置
 
初始化数据库
 
配置计算控制节点使用块存储服务
重启计算API服务,此服务仅在控制计算节点才有
启动块存储服务并设置为开机自启
 
在存储节点上安装配置
安装LVM软件包
将LVM元数据服务启动并设为开机自启
 
小技巧
不重启的机器的情况下,在线添加硬盘,手动扫描LUN即可
 
创建LVM物理卷
创建LVM卷组cinder-volumes,块存储服务在该卷组中创建逻辑卷
只有实例可以访问块存储卷。但是,底层操作系统管理与卷关联的设备。默认情况下,LVM 卷扫描工具会在 /dev目录中扫描包含卷的块存储设备。如果项目在其卷上使用 LVM,扫描工具会检测到这些卷并尝试缓存它们,这可能会导致底层操作系统和项目卷出现各种问题。您必须重新配置 LVM 以仅扫描包含cinder-volumes卷组的设备。编辑 /etc/lvm/lvm.conf文件并完成以下操作:
在该devices部分中,添加一个接受 /dev/sdb设备并拒绝所有其他设备的过滤器:
 
安装软件包
禁用EPEL源,EPEL源的包版本较高,可能会导致不兼容
配置
启动块存储服务并设为开机自启
 
安装和配置备份服务
 
验证
获取admin凭据以访问仅限管理员的 CLI 命令
列出服务组件以验证每个进程的成功启动:
踩坑指南
openstack环境主机名一定不要有下划线_,会导致服务启动失败
当 openstack-cinder-volume.service服务启动正常,在次验证下
 
使用dashboard
当cinder服务启动后,可以看到有卷的选项
notion image
创建卷
notion image
notion image
可以看到现在1G的卷已经创建完成
notion image
此时在后端块服务主机查看逻辑,会自动分配1G的空间
关联卷
将刚创建的卷关联实例中某一台虚拟机
notion image
选择需要关联的实例,点击连接卷即可
notion image
验证关联成功
notion image
进入实例将磁盘进行初始化
notion image
notion image
扩容卷
1、先将实例的挂载扩容的卷卸载
2、在openstack中断开实例连接的卷
3、openstack对需要的卷进行扩容
4、将扩容的卷关联实例
5、进行实例对扩容的卷挂载
6、对文件系统进行修复后,通知内核更新磁盘信息
7、验证新的卷是容量是否正常
notion image
notion image
notion image
notion image
分离成功
notion image
notion image
新的大小为总容量
notion image
notion image
notion image
notion image
notion image
存储后端查看
可以看到磁盘扩容成功,系统识别的还是1G空间
notion image
如何解决此类问题,可以参考linux基础磁盘管理
notion image
 

使用NFS作为后端存储

预准备
软件包使用块存储节点的包即可
配置
重启服务
验证NFS后端存储是否在openstack注册成功
创建类型
控制节点操作
磁盘类型关联
使用NFS后端存储进行扩容
创建卷
notion image
现在可以查看到类型有NFS和LVM
notion image
notion image
notion image
在后端存储可以找到1个G的文件
将创建的卷关联到实例上并初始化
notion image
notion image
 
进入主机进行关联
notion image
notion image
notion image
扩容
notion image
notion image
notion image
扩容后在次关联
notion image
notion image
notion image

小结

关于块存储小问题,NFS后端作为存储,创建卷没有问题,无法关联实例,后来将rabbitmq用户管理administrator组就好了
 
Loading...