当前位置: 首页 > news >正文

seo网站优化凡科邮箱

seo网站优化,凡科邮箱,永兴网站建设,图片编辑软件加文字#作者:闫乾苓 文章目录一、问题背景二、实际行为三、源码分析四、分析与推论五、期望行为与建议优化六、结论一、问题背景 在生产环境中,为避免因误操作导致的永久数据丢失,Ceph RBD 提供了 Trash 功能,允许将镜像“软删除”至回…

#作者:闫乾苓

文章目录

  • 一、问题背景
  • 二、实际行为
  • 三、源码分析
  • 四、分析与推论
  • 五、期望行为与建议优化
  • 六、结论

一、问题背景

在生产环境中,为避免因误操作导致的永久数据丢失,Ceph RBD 提供了 Trash 功能,允许将镜像“软删除”至回收站,再手动恢复或延迟清理。
Kubernetes 集群中通过 Ceph-CSI 插件动态创建 RBD PVC 时,预期在删除 PVC 后,后端 RBD 镜像应移动到 Trash 而非直接删除。为此,系统设置了如下配置:
ceph config set client.rbd rbd_move_to_trash_on_remove true
并确认所有相关 Ceph 客户端配置已生效:
ceph config dump | grep rbd_move_to_trash_on_remove
client.csi-rbd-node basic rbd_move_to_trash_on_remove true
client.csi-rbd-provisioner basic rbd_move_to_trash_on_remove true
client.rbd basic rbd_move_to_trash_on_remove true

二、实际行为

经多次测试与日志分析发现,即便 rbd_move_to_trash_on_remove=true 已生效,在执行 PVC 删除操作后:

  • 对应的 RBD 镜像会短暂进入 Trash;
  • 随即被立即永久删除;
  • 最终在 Ceph 后端无法找到该镜像,无任何 Trash 留存记录。

该行为显著违背了 Trash 设计初衷,可能对数据安全构成严重隐患。

三、源码分析

CSI RBD 插件删除流程路径(基于 ceph-csi v3.9.x+):
文件:internal/rbd/rbd_util.go

调用栈概览:

DeleteImage()
└── deleteImage()├── rbdImage.Trash(0)              // 行号约为 699,将镜像移动到 trash└── trashRemoveImage(...)          // 行号约为 710,立即从 trash 中删除

关键代码片段解析

// 1. 将镜像移动到 Trash
err = rbdImage.Trash(0) // 调用 librbd C API: rbd_trash_move
if err != nil {return err
}// 2. 立即清理 Trash 中的镜像
err = trashRemoveImage(...)

即,CSI 插件显式绕过了配置项 rbd_move_to_trash_on_remove 所定义的软删除行为,而是先主动调用 rbd_trash_move(),再调用 rbd_trash_remove() 彻底删除镜像。
这种行为导致:

  • 用户即使启用了 Trash 机制,也无法避免 PVC 删除后数据永久丢失;
  • rbd rm 未被调用,但实现效果等同于 rbd rm。

四、分析与推论

  1. 为何不直接调用 rbd rm?
    可能出于以下设计意图:
    保证镜像结构一致性(先 trash 再删逻辑清晰);
    利于插入延迟删除(如后续引入保留时间);
    与 Ceph API 接口保持兼容性。
  2. 为何默认行为是立即删除 Trash 中镜像?
    源代码中并未根据配置 rbd_move_to_trash_on_remove 判断是否保留 Trash 中的镜像,这导致 Trash 机制在 CSI 插件中形同虚设。

五、期望行为与建议优化

  1. 理想行为
    当设置 rbd_move_to_trash_on_remove=true 时:
  • Ceph-CSI 删除镜像应遵循客户端配置;
  • 镜像应进入 Trash 并保留,供后续手动恢复或延迟清理;
  • 用户可通过 rbd trash list 查询已删除镜像。
  1. 推荐优化方向
  • Ceph-CSI 插件层
    在 deleteImage() 中增加配置判断逻辑,按需 skip trashRemoveImage() 调用:
if rbd_move_to_trash_on_remove_enabled {// Only move to trash, do not removereturn nil
}
  • 文档更新
    明确说明当前 CSI 插件会直接删除镜像,不受 rbd_move_to_trash_on_remove 控制。
  • 提供 CSI 参数控制
    增加如 retainDeletedRBDImages: true 的 StorageClass 参数,使用户可控制 Trash 保留行为。

六、结论

Ceph CSI 插件当前删除 RBD 镜像的实现方式存在与用户预期不符的问题:

  • 明显忽略了 Ceph 客户端配置 rbd_move_to_trash_on_remove;
  • 尽管镜像短暂进入 Trash,仍立即被永久删除;
  • 可能造成误删数据无法恢复,存在严重数据安全隐患。
http://www.dtcms.com/a/560414.html

相关文章:

  • 高端顺口公司名字seo服务公司怎么收费
  • 2019做seo网站微信公众平台运营
  • 制作微信公众号的网站跨境电商怎么做?如何从零开始学做电商赚钱
  • 福田响应式网站建设服务网页游戏网站手机
  • 厦门微网站建设公司哪家好腾讯网站认证
  • 简述网站建设的基本过程上海网络推广团队
  • 咋做抽奖网站wordpress框架简介
  • 做电商的几个网站吗被墙网站查询
  • 随州网站建设全包梅县区住房和城乡规划建设局网站
  • 最好的响应式网站有哪些全国互联网备案信息查询系统
  • 原阳网站建设如何让网站自适应
  • 手机网站策划ps网站如何做烫金的文字
  • 廊坊网站建设品牌qq群排名优化软件购买
  • 海宁市建设局官方网站网站页面设计公司电话
  • 站长之家ping检测分类模板wordpress
  • 创建网站的向导和模板服装网站建设论文范文
  • 网站建设 工作方案wordpress 导入ppt
  • 网站制作需要哪些东西中国网站 服务器
  • 邢台住房与城乡建设部网站seo快速收录快速排名
  • 徐州睢宁建设网站网站建设开发熊掌号
  • asp和php网站的区别wordpress注册邮箱配置
  • 宿迁莱布拉网站建设南川网站制作
  • 医院网站建设细节做网站需要什么资料
  • wordpress有多少模版网站内链seo
  • 个人网站链接怎么做网站怎么能在百度搜到
  • 网站推广应注意哪些事项南宁软件外包
  • 凡客诚品网站推广营销单页网站
  • 怎么整理网站汽车最好网站建设
  • 徐州建设网站的公司做本地网站需要的软件
  • 如何搜网站phpwind网站