1.3. VDO 卷的组件
VDO 使用块设备作为后备存储,它包括由一个或多个磁盘、分区甚至平面文件组成的物理存储聚合。当存储管理工具创建 VDO 卷时,VDO 为 UDS 索引和 VDO 卷保留卷空间。UDS 索引和 VDO 卷会一起交互,以提供去重的块存储。
图 1.1. VDO 磁盘机构
VDO 解决方案包括以下组件:
kvdo载入 Linux 设备映射器层的内核模块提供一个去重的、压缩的和精简配置的块存储卷。
kvdo模块公开一个块设备。对于块存储,您可以直接访问块存储或通过 Linux 文件系统(如 XFS 或 ext4)呈现它。当
kvdo收到一个读取 VDO 卷中数据的逻辑块的请求时,它会将请求的逻辑块映射到底层的物理块上,然后读取并返回请求的数据。当
kvdo收到一个向 VDO 卷写数据块的请求时,它首先检查请求是 DISCARD 还是 TRIM 请求,或者数据是否统一为零。如果其中任何一个条件为真,则kvdo会更新其块映射,并确认请求。否则,VDO 会处理并优化数据。uds一个与卷上 Universal Deduplication Service(UDS)索引进行通信,并分析数据是否有重复的内核模块。对于每个新的数据,UDS 可以快速地判断该数据是否与之前存储的数据相同。如果索引发现匹配项,则存储系统可在内部引用现有项,以避免多次保存相同的信息。
UDS 索引作为
uds内核模块运行在内核中。- 命令行工具
- 用于配置和管理优化的存储。