news 2026/10/13 14:41:12

分析openstack中快照占用存储空间问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
分析openstack中快照占用存储空间问题

在私有云平台的运维过程中,总能遇见平台存储资源不够用的情况,大多数人的选择就是优先清理虚拟机的快照,把长时间不用的快照删除,来释放存储空间,这个方法是否能是否多余的存储空间呢?那快照的存储到底是存放在哪里?是否占用大量的存储空间?

下面我们从云平台创建虚拟机,导入大量数据,并且打快照,从ceph角度看存储空间是否会增加。


环境准备

测试环境是openstack Mate版本,存储对接分布式存储ceph提供快存储功能。创建一台centos7.9 2C4G 50G系统盘的虚拟机。

快照功能

openstack中,快照是通过snatshop实现对虚拟机实例(instance)和卷(volume)创建快照,以便后续可以恢复、复制或者备份使用。

实例快照是通过对运行中的虚拟机创建一个只读副本,并以glance镜像的形式存放,可通过镜像在创建另外一台虚拟机。正常创建实例镜像需要保持服务数据写入较少的时候执行,避免因为数据不一致现象,或者写入大于输出,无法创建成功,建议关机创建快照,保证数据的一致性。所以实例快照肯定会占用存储空间,这个空间大小是整块系统盘压缩以后的qcow2镜像的大小。所以后续创建虚拟机系统盘,不建议给太大的空间,保持50G足矣。

卷快照是对cinder管理的块存储在某一时刻的数据状态进行保存。卷快照依赖后端存储支持的快照功能。本次测试也是对卷快照占用存储空间来分析。

卷快照占用空间分析

卷快照中保存了volume的当前状态,可通过snapshot回溯。主要采用copy and write算法,进行快照时不进行任何复制归档动作。它所做的只是通知后端存储服务,将目前的数据的磁盘区块状态全部保留起来,是可读状态,但不可写,不被覆盖。之后的归档写入修改删除操作均不会覆写原本数据所在的磁盘中,而是将修改的部分数据保留时间戳,在这块volume卷中保留数据的状态。

1.确定云主机挂载的磁盘

nova volume-attachments 3246a8ca-7798-4ac1-bda7-a489a0683cd1     //云主机uuid

2.查看磁盘rbd卷名称

rbd ls volumes |grep a5e7c176-c753-4b53-b5ef-00b00912abce       //cinder 卷ID

3.通过rbd du查看磁盘实际空间的使用,增加数据看RBD实际使用空间大小

卷快照增量对卷的使用率的影响

该云主机创建了一个系统盘快照,然后再该云主机上创建一个100M的文件test.txt, rbd显示的云硬盘实际空间使用如下,原系统盘数据占用了216M,增加一个快照占用了1.5G,该卷总使用为1.7G,也就是说,卷快照存储在了原volumes 的存储分区lan上。快照空间使用增加了1.5GB。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 0:36:42

Kafka日志迁移与查询机制解析

Kafka Broker 端用于管理日志目录(Log Directory)迁移和查询 的核心逻辑,分别对应两个关键 API: alterReplicaLogDirs(...):实现 KIP-113 中的 ALTER_REPLICA_LOG_DIRS 请求,用于将某个分区的日志从一个磁盘…

作者头像 李华
网站建设 2026/10/12 22:03:28

Kafka核心揭秘:ReplicaManager如何保障高可用

ReplicaManager 是 Apache Kafka Broker 中最核心的副本管理组件,负责协调分区副本(Replica)的生命周期、数据复制、一致性保障、故障恢复以及与集群控制器(Controller)的交互。它是 Kafka 实现 高可用、持久化、Exact…

作者头像 李华
网站建设 2026/10/12 10:15:21

5类实时交通检测数据集实战指南(附代码)

5类实时交通自建目标检测数据集 该数据集包括car,light,moto,person,signs等5个类别 总计图片1498张,训练集998张图像,验证集和测试集分别是250张图片 数据集已经划分为训练集/验证集/测试集 数据集支持YOL…

作者头像 李华
网站建设 2026/10/12 17:19:35

批判性思维训练:5个练习提升你的缺陷发现能力

批判性思维在软件测试中的核心价值 在快速迭代的软件开发周期中,测试人员面临的不仅仅是功能验证的挑战,更是对系统深层次风险的前瞻性洞察。批判性思维使测试工程师能够超越表面需求,通过系统性质疑、多角度分析来暴露潜在缺陷。这种能力直…

作者头像 李华
网站建设 2026/10/11 23:14:00

【生存分析进阶指南】:从零构建高精度临床预测模型的7个关键步骤

第一章:临床数据的 R 语言 Cox 回归优化概述在临床研究中,生存分析是评估患者预后和治疗效果的核心方法之一。Cox 比例风险回归模型因其能够处理删失数据并同时评估多个协变量的影响而被广泛使用。借助 R 语言强大的统计计算与可视化能力,研究…

作者头像 李华
网站建设 2026/10/13 11:14:57

紧急预警:传统相关性分析已过时,你必须掌握的Copula参数估计新范式

第一章:紧急预警:传统相关性分析已过时,你必须掌握的Copula参数估计新范式在金融风险建模、极端事件预测和多变量依赖结构分析中,传统皮尔逊相关系数已暴露出严重局限——它仅能捕捉线性关系,且对尾部依赖无能为力。现…

作者头像 李华