centos安装 VDO

2026-01-08 17:26:31 684

在 CentOS(包括 CentOS 7、8 或 Stream)上安装和配置 VDO(Virtual Data Optimizer),请按以下步骤操作:


一、确认系统版本和内核支持

VDO 要求:

CentOS 7.5+ 或 CentOS 8 / Stream

内核版本 ≥ 3.10(CentOS 7 默认满足)

需要安装 kmod-kvdo(内核模块)和 vdo(管理工具)


二、安装 VDO

▶ CentOS 7

# 1. 启用 EPEL 仓库(如果未启用)
sudo yum install -y epel-release

# 2. 安装 VDO 及其内核模块
sudo yum install -y vdo kmod-kvdo

# 3. 启动并启用 vdo 服务
sudo systemctl enable --now vdo

▶ CentOS 8 / CentOS Stream 8/9

CentOS 8+ 中 VDO 已包含在 BaseOS 或 AppStream 仓库中,无需 EPEL。

# 安装 VDO
sudo dnf install -y vdo kmod-kvdo

# 启动并启用服务
sudo systemctl enable --now vdo

验证是否安装成功:

vdo --version
lsmod | grep kvdo

三、创建 VDO 卷(示例)

假设你有一块 空闲磁盘(如 /dev/sdb),用于创建 VDO 存储池。

# 创建名为 "myvdo" 的 VDO 卷,使用 /dev/sdb 作为底层设备
sudo vdo create \\
  --name=myvdo \\
  --device=/dev/sdb \\
  --vdoLogicalSize=2T   # 可选:逻辑大小可大于物理盘(thin provisioning)

四、格式化并挂载

# 格式化为 XFS(推荐,VDO 官方推荐 XFS)
sudo mkfs.xfs /dev/mapper/myvdo

# 创建挂载点
sudo mkdir -p /vbread

# 临时挂载测试
sudo mount /dev/mapper/myvdo /vbread

# 永久挂载:编辑 /etc/fstab(关键!需依赖 vdo.service)
echo 'UUID=$(blkid -s UUID -o value /dev/mapper/myvdo) /vbread xfs defaults,x-systemd.requires=vdo.service 0 0' | sudo tee -a /etc/fstab

五、验证 VDO 状态

# 查看 VDO 卷信息(节省空间、去重率等)
sudo vdo status

# 示例输出关键字段:
#   myvdo:
#     Acknowledgement threads: 1
#     Bio submission threads: 4
#     Block map cache size: 128M
#     Block size: 4096
#     Compression: enabled
#     Deduplication: enabled
#     Physical bytes used: 10.2G
#     Logical bytes used: 120.5G   ← 说明节省了约 110GB!

常见问题

Q1: 安装时报错 “No package vdo available”

CentOS 7:确保已启用 EPEL → yum install epel-release

CentOS Stream 9:VDO 可能已移除(Red Hat 在 RHEL 9 中弃用 VDO),建议改用 LVM + thin provisioning + compression 或 ZFS/Btrfs

Q2: vdo create 失败,提示设备 busy

确保 /dev/sdb 未被分区、未挂载、未被 LVM 使用

可用 wipefs -a /dev/sdb 清除旧签名

Q3: 开机挂载失败

检查 /etc/fstab 是否使用了 x-systemd.requires=vdo.service

确保 vdo.service 已启用:systemctl is-enabled vdo


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图