VergeOS vSAN 删除流程
解释 VergeOS vSAN 如何通过引用计数、感知重复数据删除的块清理以及后台垃圾回收来处理 VM、驱动器和租户的删除。
块级架构基础
VergeOS vSAN 运行在一种 块级架构 其中:
VM 和租户磁盘被划分为多个块
每个块都会获得唯一的加密哈希
块使用基于哈希的算法分布到各节点
同时保留主副本和冗余副本
租户作为 LXC 容器运行 在父级 vSAN 中拥有各自的存储分配
删除如何工作
1. 引用计数系统
当你在 VergeOS 中删除 VM、驱动器或租户时:
系统不会立即删除实际的数据块
而是从哈希映射中移除这些块的引用
每个块都维护引用计数,跟踪有多少对象在使用它
租户存储遵循相同的引用计数 与单个 VM 相同,但在 LXC 容器边界内运行
2. 重复数据删除的影响
由于 VergeOS 使用 块级重复数据删除:
多个 VM 可能共享相同的块(相同哈希)
租户存储可以与父系统或其他租户共享块
删除一个 VM 或租户只会减少引用计数
只有当引用计数降为零时,块才会被标记为删除
3. 垃圾回收过程
实际删除通过后台进程完成:
vSAN 扫描:系统会定期扫描未被引用的块
引用数为零的块会被标记为回收
随后释放物理存储空间并使其可用
租户删除会触发相同的垃圾回收 与 VM 删除相同
4. 立即与实际回收
立即:UI 会立即将空间显示为“已释放”
实际:物理空间回收发生在后台 vSAN 操作期间
驱动器/VM 删除
当你删除 VM 或驱动器时:
引用会从系统中移除
哈希映射条目会更新
后台进程负责实际的块清理
快照与删除
删除 VM 也会删除其 VM 快照
但是,该 VM 仍会保留在其存在期间创建的系统快照中
租户删除场景
完全删除租户
删除租户时:
所有租户 VM、驱动器和元数据引用都会被移除
租户存储层级 会从父级 vSAN 中解除引用
LXC 容器文件系统和已分配的存储 会被清理
所有租户块的哈希映射条目都会更新
后台进程负责清理所有租户数据中的块
删除租户存储层级
当从租户中移除已配置的存储层级时:
在移除之前,必须将所有数据迁出该层级 (VM、驱动器、文件)
租户存储层级分配会被移除 从父级 vSAN 配置中
该特定层级的卷层级限流控制会被释放 针对该特定层级
该层级上租户块的哈希映射条目会更新
后台进程负责清理已移除层级分配的块
需要数据迁移
与完全删除租户不同,移除存储层级需要 手动迁移数据 到其他层级,然后才能从租户中取消配置该层级。
关键注意事项
租户内的 VM/驱动器删除
当删除租户内部的 VM 或驱动器时:
引用会从租户的本地哈希映射中移除
父级 vSAN 哈希映射条目也会更新
后台进程负责实际的块清理
租户与父级 vSAN 的关系
租户作为父级 vSAN 内的 LXC 容器运行 ——它们没有单独的 vSAN
租户存储通过容器文件系统层从父级 vSAN 层级中分配
块级重复数据删除可跨租户边界工作 以及在容器之间工作
父系统负责租户容器的所有物理存储清理
快照与租户删除
删除租户也会删除其本地 VM 快照
租户仍会保留在父系统快照中 这些快照是在其存在期间创建的
系统快照可能会阻止立即回收存储
即使删除后,也可以从系统快照恢复租户
共享对象和文件共享
父系统与租户之间共享的文件 可能会保留引用
共享的 VM 快照可能会阻止完全清理存储
提供给租户的文件 会创建额外的块引用
在估算存储回收时要考虑共享对象
租户存储隔离
每个租户都有 专用存储卷 并在其 LXC 容器内支持加密
网络和管理隔离 不会影响容器之间的 vSAN 块共享
存储隔离在逻辑上通过 LXC 容器化实现,而不是在块级别上物理隔离
容器文件系统层 在共享底层块的同时提供租户隔离
高级租户删除场景
嵌套租户删除
对于托管自己子租户的租户:
子租户作为 嵌套 LXC 容器
子租户删除在容器层次结构内遵循相同的引用计数
父租户容器负责管理子租户存储清理
可能会应用多层容器化和引用计数
清理过程从最内层容器向最外层容器进行
租户恢复对删除的影响
从系统快照恢复已删除的租户 会重新创建引用
之前“已删除”的块可能会再次变为活动状态
恢复租户时,存储使用量可能会增加 在恢复租户时
后台清理进程会适应恢复后的引用
安全机制
租户删除期间的数据完整性
系统在所有删除操作期间都会保持数据完整性
冗余副本确保不会丢失数据 在租户清理期间
哈希验证可防止误删被引用的块
跨租户的块共享会保留 直到所有引用都被移除
租户删除前提条件
租户及其对应的租户网络必须先关闭电源 后才能删除
所有租户节点都必须离线
在租户容器处于活动状态时 无法删除原始租户节点
系统会在允许删除容器前验证不存在活动引用
监控租户存储删除
你可以通过以下方式监控该过程:
父系统监控
存储仪表板 用于查看总体层级利用率
vSAN 诊断 用于查看后台操作状态
系统日志 用于查看租户删除和清理详情
租户统计 显示存储消耗趋势
租户级监控 (删除前)
租户仪表板 用于查看内部存储使用情况
租户历史 用于查看消耗统计
租户环境内的 内部 vSAN 统计
删除后验证
存储层级利用率 应随着时间下降
vSAN 扫描统计 显示清理进度
引用计数验证 通过 vSAN 诊断
故障排除
排查回收缓慢问题
检查 仍然存在的系统快照 其中包含租户数据
验证 共享对象 是否已正确清理
查看 系统日志 查看 vSAN 操作错误
使用 vSAN 诊断 以监控清理进度
最后更新于
这有帮助吗?