news 2026/3/18 2:58:31

分析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/3/12 11:21:48

Kafka副本管理核心:ReplicaManager揭秘

Apache Kafka Broker 端核心组件 ReplicaManager它是 Kafka 实现 副本管理、ISR(In-Sync Replicas)维护、Leader/Follower 同步、日志存储协调 的中枢。 下面我将从 整体定位、关键字段、核心机制、工作流程 四个维度,帮你系统性理解这段代码…

作者头像 李华
网站建设 2026/3/17 4:47:40

西门子smart SB CM01与3台台达DT330温控器485通讯程序开发记录

西门子smart SB CM01与3台台达DT330温控器485通讯程序(XMZ200-4)器件:西门子s7 200 smart PLC,扩展模块SB CM01,3台台达DT330温控器。 昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触摸屏与plc以太网通讯&…

作者头像 李华
网站建设 2026/3/15 11:33:52

大模型从0到精通:蒙眼下山法-AI如何一步步“摸索”到最优解?

本文是《大模型从0到精通》系列第一卷“奠基篇”的第三章。上章我们建立了“错题山谷”和评分标准(损失函数),但怎么找到山谷最低点?本章将引入梯度下降——AI在“错题山谷”中蒙眼下山的寻路算法,这是驱动所有AI(包括千亿参数大模型)学习的核心引擎。 一、蒙眼下山:一…

作者头像 李华
网站建设 2026/3/14 10:14:54

接口自动化测试中解决接口间数据依赖

在实际的测试工作中,在做接口自动化测试时往往会遇到接口间数据依赖问题,即API_03的请求参数来源于API_02的响应数据,API_02的请求参数又来源于API_01的响应数据。 因此通过自动化方式测试API_03接口时,需要预先请求API_02接口&a…

作者头像 李华
网站建设 2026/3/5 3:44:52

揭秘Rust编写PHP扩展的调试难题:5个关键技巧让你效率翻倍

第一章:Rust 扩展的 PHP 函数调试在现代高性能 Web 开发中,使用 Rust 编写 PHP 扩展已成为提升关键函数执行效率的重要手段。然而,当 PHP 调用由 Rust 实现的函数出现异常时,传统的 PHP 调试工具往往无法深入追踪问题根源。为此&a…

作者头像 李华