VDO会按以下顺序对数据实施三个阶段的处理,以减少存储设备上的空间占用:
零块消除将过滤掉仅包含零的数据块,且仅在元数据中记录这些块的信息。非零数据块随即被传递到下一个处理阶段。该阶段将启用VDO设备中的精简配置功能。
重复数据删除将去除冗余的数据块。在创建相同数据的多个副本时,VDO会检测重复数据块并更新元数据,以便使用这些重复块来引用原始数据块,而不会创建冗余数据块。通用重复数据删除服务(UDS)内核模块将通过其维护的元数据来检查数据的冗余。该内核模块是作为VDO的一部分而提供的。
最后一个阶段是压缩。kvdo内核模块使用LZ4压缩对块进行压缩,并以4KB块进行分组。