- 新闻资讯
- 员工风采
2023-06-26 10:12:10

1. 什么是VDO(Virtual Data Optimizer)

VDO是红帽公司在RHEL7.5beta版本中新推出的一项功能,VDO的技术来源于收购的Permabit公司(一个专门从事重删技术的公司),VDO为存储提供内联[1]块级的重复数据删除(deduplication)、压缩和精简置备。在RHEL8.5中已将VDO作为LVM的一种LV类型进行管理,类似于LVM精简配置的卷。
[1]即在写入数据之前使用精简置备技术消除零块,并对数据去重然后使用压缩算法对数据进行压缩,以减小数据的物理占用空间。这种数据处理是透明的,意味着应用程序无需感知或进行任何额外的操作即可使用重复数据删除、压缩和精简置备功能。
VDO是一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽,VDO是基于块设备层之上的,也就是在原设备基础上映射出虚拟设备,然后直接使用即可,功能的实现主要基于以下技术:
VDO过滤掉仅包含零(0)的数据块,并仅在元数据中记录这些块的信息。然后将非零数据块传递到下一阶段的处理。此阶段在VDO设备中应用精简置备功能。
对于输入的数据VDO会识别重复的数据块,在创建相同数据的多个副本时指示元数据使用这些重复的块作为对原始数据块的引用,而不会创建重复的块。输入的数据由UDS(Universal Deduplication Service)内核模块通过其维护的元数据检查数据冗余,被判断为重复数据的部分不会被写入。UDS内核模块此内核模块作为 VDO 的一部分提供。
零块消除和重复数据删除完成后,会使用LZ4压缩将应用于数据块,压缩后以4KB大小的块存储在介质上,单个物理块可以容纳更多压缩块,可以提高从存储中读取数据的性能。
VDO数据缩减处理图示:


因为 LVM-VDO 会将重复数据删除存储作为常规逻辑卷(LV)形式公开,所以可以在标准文件系统、iSCSI 和 FC目标驱动程序或者统一存储中使用它。
以下为典型的作为普通块设备并格式化为文件系统进行使用
使用LVM创建VDO类型的LV:
# lvcreate --type vdo
--name vdo-name
--size physical-size
--virtualsize logical-size vg-name
在VDO LV上创建XFS文件系统:
# mkfs.xfs -K /dev/vg-name/vdo-name
挂载格式化为XFS文件系统的VDO LV:
# mount /dev/vg-name/vdo-name mount-point
VDO用于KVM
可以在配置了具有存储介质的KVM服务器中部署LVM-VDO,架构图示如下:

VDO用于NFS或Samba
可以在VDO LV上创建文件系统,并将其公开给使用NFS或Samba的用户。

VDO用于iSCSI
可以将VDO LV的整个导出为iSCSI目标到远程iSCSI启动器。

我们将竭诚为您提供一流的检测服务!
