讲师中心 微信公众号
AI工具推荐 视频效率加速

如何利用存储快照(VolumeSnapshot)技术实现K8s集群内TB级 persistent有状态卷热备

落宇酱_7189

落宇酱_7189

发布时间:2026-05-29 09:33:18

|

370人浏览过

|

来源于php中文网

原创

实现TB级PV热备需依赖CSI快照机制:使用支持崩溃一致性的生产级存储(如EBS、Ceph RBD等),配置deletionPolicy为Retain的VolumeSnapshotClass,通过VolumeSnapshot对运行中PVC创建快照,待ReadyToUse为true后即可用于克隆、回滚或归档。

如何利用存储快照(volumesnapshot)技术实现k8s集群内tb级 persistent有状态卷热备

要实现 TB 级 PersistentVolume(PV)在 Kubernetes 集群内的有状态应用热备,核心不是“复制整个卷”,而是通过 VolumeSnapshot 机制,在应用持续运行(不停机、不中断写入)的前提下,获取数据的一致性时间点副本。这要求快照具备崩溃一致性(crash-consistent)能力,并与存储后端深度协同。

确保底层存储和 CSI 驱动支持快照且满足 TB 级需求

VolumeSnapshot 本身是声明式 API,真正执行快照的是底层存储系统。热备能否成功,首先取决于存储层:

  • 必须使用支持 CSI 快照的生产级存储:如 AWS EBS、GCP PD、Azure Disk、Ceph RBD、Portworx、Longhorn(v1.5+)、NetApp Trident、Pure Storage CSI 等。HostPath、NFS(原生)等不支持快照或仅提供文件级快照,无法用于数据库类有状态应用的热备。
  • 确认快照为“写时复制(Copy-on-Write)”或“快照即刻可用”模式:TB 级卷若采用全量拷贝式快照,会引发 I/O 峰值、耗时过长、影响在线业务。主流云盘和分布式块存储均采用 COW 或 redirect-on-write,创建毫秒级完成,不影响 PV 当前读写。
  • 验证 CSI 驱动已启用快照功能并部署了 snapshot-controller 和 csi-snapshotter:Kubernetes v1.20+ 默认包含 CRD,但控制器需由集群管理员部署(GKE/AKS/EKS 等托管服务通常内置)。运行 kubectl get volumesnapshotclasses 和 kubectl get pods -n kube-system | grep snapshot 可确认。

定义适合热备场景的 VolumeSnapshotClass

快照行为由 VolumeSnapshotClass 控制,对 TB 级热备尤为关键:

  • deletionPolicy 设为 Retain:避免误删 VolumeSnapshot 导致底层物理快照被自动清理。热备数据需长期保留,应由运维策略统一管理生命周期。
  • driver 字段必须与 PVC 所用 StorageClass 的 CSI driver 完全一致:例如 PVC 使用 storageClassName: ebs-sc(driver: ebs.csi.aws.com),则 VolumeSnapshotClass 的 driver 也必须是 ebs.csi.aws.com,否则绑定失败。
  • 可选参数因存储而异:如 AWS EBS 支持 encrypted: "true"、kmsKeyId;Ceph RBD 可设 pool 指定快照存放池;某些驱动支持 snapshotType: "crash-consistent" 显式声明一致性级别。

对运行中 PVC 执行热快照并验证就绪状态

无需停应用、无需卸载 PVC,直接对 PVC 创建 VolumeSnapshot:

  • 编写快照资源(如 pvc-mysql-tb-snap.yaml):
    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshot
    metadata:
      name: mysql-prod-snap-20260522-1200
    spec:
      volumeSnapshotClassName: ebs-snapclass-retained  # 引用上一步定义的 class
      source:
        persistentVolumeClaimName: mysql-prod-pvc      # 正在被 Pod 使用的 PVC 名
    
  • 提交后观察状态:kubectl get volumesnapshot mysql-prod-snap-20260522-1200 -o wide。当 READYTOUSE 列显示 true,且 SOURCEPVC 正确关联,即表示快照已完成、数据一致、可立即用于恢复或克隆。
  • 注意:ReadyToUse 为 true 是热备有效的黄金指标,它由 csi-snapshotter 调用 CSI CreateSnapshot 后,经存储系统确认返回,代表底层快照已落盘且元数据就绪。

热备后的典型使用方式

快照本身不是可挂载存储,需结合后续操作实现备份价值:

  • 跨环境快速克隆(测试/开发):基于快照创建新 PVC —— VolumeSnapshotDataSource 方式,秒级生成 TB 级测试数据集,完全隔离生产负载。
  • 故障回滚(RPO≈0):当数据库升级失败或误删数据,删除当前 PVC/PV,新建 PVC 并指定 dataSource 为该 VolumeSnapshot,Kubernetes 会触发 CSI RestoreSnapshot,将快照内容还原到新 PV。
  • 长期归档(配合外部工具):利用快照导出为镜像(如 EBS 快照可直接创建 AMI)、或通过 Velero + restic 插件将 VolumeSnapshot 元数据及关联快照 ID 备份至对象存储,实现跨集群灾备。

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

457

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

940

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

3112

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

1036

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

929

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

474

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2856

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

5332

2023.10.20

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
零基础精通 PS 视频教程
零基础精通 PS 视频教程

共268课时 | 120.1万人学习

前端工程师必备技能—PS切图
前端工程师必备技能—PS切图

共11课时 | 2.2万人学习

麦子学院Photoshop切片视频教程
麦子学院Photoshop切片视频教程

共13课时 | 4.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn