Openstac持久存储之块存储cinder

在早期的OpenStack版本中,块存储功能是集成在计算服务(Nova)中的一个组件,称为nova-volume。然而,随着OpenStack生态系统的发展和新功能的不断加入,为了更好地管理和扩展块存储服务,它被分离出来,演变成了一个独立的项目------Cinder。

Cinder的核心功能是提供可附加到虚拟机实例的持久化存储卷。这些卷表现为原始的块设备,一旦附加到实例上,它们在虚拟机内部就像物理硬盘一样工作。为了使这些卷能够在虚拟机中有效使用,管理员或用户需要完成几个步骤:首先对卷进行分区,然后创建文件系统,并最终将其挂载到虚拟机的操作系统文件结构中。这样,用户就可以像使用本地磁盘一样读写这些卷上的数据,确保了数据的持久性和灵活性。

通过这种分离,Cinder不仅简化了OpenStack的整体架构,还增强了其模块化特性,使得块存储服务能够独立发展,支持更多的特性和更广泛的应用场景。

Cinder使用iSCSI、NFS和光纤通道(fiber channel)将块设备连接虚拟机。

Cinder服务包括以下几个组件:

·Cinder API服务。

·Cinder调度器(scheduler)。

·Cinder卷服务器(volume server)。

Cinder连接服务器的步骤

步骤 1:创建Cinder卷

指定卷名称和大小:

使用cinder create命令来创建一个新的卷。默认情况下,Cinder使用基于LVM(逻辑卷管理)的iSCSI驱动程序,在名为cindervolumes的卷组(Volume Group, VG)中创建一个逻辑卷(Logical Volume, LV)。例如,要创建一个名为my-volume、大小为20GB的卷,可以执行以下命令:

bash

深色版本

cinder create --name my-volume 20

步骤 2:将Cinder卷附加给Nova实例

准备附加信息:

在将卷附加到Nova实例之前,你需要知道Nova实例的ID和刚刚创建的Cinder卷的ID。此外,还需要确定该卷在虚拟机内部应显示的设备名称(例如/dev/vdb)。

执行附加操作:

使用nova volume-attach命令来完成卷的附加过程。这个命令会在运行Nova实例的计算节点上创建一个IQN(iSCSI Qualified Name),用于将逻辑卷呈现给该节点。例如:

bash

深色版本

nova volume-attach /dev/vdb

这里的是Nova实例的唯一标识符,而则是新创建的Cinder卷的唯一标识符。

步骤 3:使卷在Nova实例内可用

通过Libvirt库呈现卷:

Cinder与OpenStack的计算服务(Nova)以及虚拟化平台(如KVM)之间的交互由Libvirt库处理。当Nova接收到volume-attach请求后,它会通知Libvirt去配置计算节点上的iSCSI连接,并确保新附加的卷作为块设备出现在虚拟机内。

初始化卷:

最后,在虚拟机内部,用户需要对新附加的卷进行初始化,包括分区、格式化文件系统(如果尚未这样做),并将其挂载到适当的挂载点。这些步骤通常由操作系统或云初始化工具(如cloud-init)自动完成,或者由用户手动执行。

相关推荐
easy_coder2 小时前
从一次 Jinja2 渲染报错看配置渲染链路与依赖上下文设计
云计算
新钛云服3 小时前
如何构建一套自动化的阿里云费用报告系统
运维·阿里云·自动化·云计算
熊猫钓鱼>_>4 小时前
使用腾讯云 ClawPro 助手打造南京旅游攻略应用实践
人工智能·云计算·腾讯云·skills·adp·openclaw·claw
人工智能知识库5 小时前
阿里云大模型ACA题库(知识点统计)
阿里云·大模型·云计算·阿里云aca·aca
彩旗工作室7 小时前
腾讯云上调用大模型的全部入口整理(2026最新版)
人工智能·大模型·云计算·腾讯云
gaize12138 小时前
阿里云轻量适配宝塔
阿里云·云计算
云飞云共享云桌面9 小时前
东莞智能装备工厂10个solidworks共享一台服务器做装配体设计
运维·服务器·网络·云计算·电脑
easy_coder9 小时前
从 ManifestRender 到 Certificate:一次 Kubernetes 应用发布故障的深度排障实录
云原生·云计算
TG_yunshuguoji10 小时前
阿里云代理商:百炼声音复刻实战 3 步生成专属语音模型
服务器·人工智能·阿里云·云计算
安全渗透Hacker11 小时前
阿里云百炼 + VS Code + Kilo 完整实战教程
人工智能·阿里云·ai·云计算·ai编程