1. 首页 > Linux教程 > 正文

Linux教程FG154-vdo命令虚拟数据优化器管理

内容大纲

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

1. VDO概述

VDO(Virtual Data Optimizer)是Red
Hat提供的虚拟数据优化器,它通过数据压缩和重复数据删除技术,显著提高存储效率。VDO可以节省60-80%的存储空间,特别适合虚拟化、数据库和备份场景。

更多视频教程www.fgedu.net.cn

# VDO的核心功能
# 数据压缩:使用高效压缩算法减少数据大小
# 重复数据删除:识别并删除重复数据块
# 精简配置:按需分配存储空间
# 透明性:对应用程序完全透明

2. 安装VDO

更多学习教程公众号风哥教程itpux_com

使用dnf命令安装VDO软件包。

# 安装VDO

# 1. 安装VDO软件包
[root@localhost ~]# dnf install -y vdo kmod-kvdo
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:01 ago on Fri 03 Apr 2026 10:15:00 CST.
Dependencies resolved.
================================================================================================================
Package Architecture Version Repository Size
================================================================================================================
Installing:
vdo x86_64 8.0.0-1.el9 baseos 1.2 M
kmod-kvdo x86_64 8.0.0-1.el9 baseos 250 k
Installing dependencies:
vdo-support x86_64 8.0.0-1.el9 baseos 50 k

Complete!

# 2. 验证安装
[root@localhost ~]# vdo –version
vdo version 8.0.0

# 3. 检查内核模块
[root@localhost ~]# lsmod | grep kvdo
kvdo 286720 0
uds 196608 1 kvdo

3. 创建VDO卷

使用vdo create命令创建VDO卷。

# 创建VDO卷

# 1. 准备块设备
[root@localhost ~]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdc 8:32 0 100G 0 disk

# 2. 创建VDO卷
[root@localhost ~]# vdo create –name=vdo1 –device=/dev/sdc –vdoLogicalSize=300G
Creating VDO vdo1
The VDO volume can address 300 GB in 8 data slabs, each 2 GB.
It can grow to address at most 16 TB of physical storage.
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 0 volume vdo1 is now online at device /dev/mapper/vdo1.

# 3. 查看VDO卷信息
[root@localhost ~]# vdo list
vdo1

[root@localhost ~]# lsblk /dev/mapper/vdo1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdo1 253:0 0 300G 0 disk

4. 管理VDO卷

<

风哥提示:

p>使用vdo命令管理VDO卷的启用、禁用和删除。

# 管理VDO卷

# 1. 停止VDO卷
[root@localhost ~]# vdo stop –name=vdo1
Stopping VDO vdo1

# 2. 启动VDO卷
[root@localhost ~]# vdo start –name=vdo1
Starting VDO vdo1
VDO instance 0 volume vdo1 is now online at device /dev/mapper/vdo1.

# 3. 禁用压缩
[root@localhost ~]# vdo disableCompression –name=vdo1
Compression disabled on VDO vdo1

# 4. 启用压缩
[root@localhost ~]# vdo enableCompression –name=vdo1
Compression enabled on VDO vdo1

# 5. 禁用重复数据删除
[root@localhost ~]# vdo disableDeduplication –name=vdo1
Deduplication disabled on VDO vdo1

# 6. 启用重复数据删除
[root@localhost ~]# vdo enableDeduplication –name=vdo1
Deduplication enabled on VDO vdo1

5. 监控VDO性能

使用vdo status和vdostats命令监控VDO性能。

# 监控VDO性能

# 1. 查看VDO状态
[root@localhost ~]# vdo status –name=vdo1
VDO status:
Device: vdo1
Activation: active
Compression: enabled
Deduplication: enabled
Physical size: 100.0 GB
Logical size: 300.0 GB
Used physical blocks: 1048576
Free physical blocks: 24117248
Used logical blocks: 1048576
Free logical blocks: 74448896
Block size: 4096
Write policy: auto
State: normal
Operating mode: normal

# 2. 查看VDO统计信息
[root@localhost ~]# vdostats –human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/vdo1 100.0G 4.0G 96.0G 4% 60%

6. 实战案例

创建一个用

学习交流加群风哥微信: itpux-com

于虚拟机存储的VDO卷,并格式化为XFS文件系统。

# 实战案例:为虚拟机存储创建VDO卷

# 1. 创建VDO卷
[root@localhost ~]# vdo create –name=vm-storage –device=/dev/sdd \
–vdoLogicalSize=500G –writePolicy=async
Creating VDO vm-storage
The VDO volume can address 500 GB in 16 data slabs, each 2 GB.
It can grow to address at most 16 TB of physical storage.
Starting VDO vm-storage
Starting compression on VDO vm-storage
VDO instance 0 volume vm-storage is now online at device /dev/mapper/vm-storage.

# 2. 格式化为XFS文件系统
[root@localhost ~]# mkfs.xfs -f /dev/mapper/vm-storage
meta-data=/dev/mapper/vm-storage isize=512 agcount=16, agsize=8388608 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=64
data = bsize=4096 blocks=134217728, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1, ftype=1
log =internal log bsize=4096 blocks=65536, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks…Done.

# 3. 创建挂载点并挂载
[root@localhost ~]# mkdir -p /var/lib/virtual-machines
[root@localhost ~]# mount /dev/mapper/vm-storage /var/lib/virtual-machines

# 4. 配置开机自动挂载
[root@localhost ~]# echo “/dev/mapper/vm-storage /var/lib/virtual-machines xfs defaults 0 0” >> /etc/fstab

# 5. 验证挂载
[root@localhost ~]# df -h /var/lib/virtual-machines
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vm-storage 500G 60M 500G 1% /var/lib/virtual-machines

# 6. 查看VDO节省空间情况
[root@localhost ~]# vdostats –human-readable –verbose
Device Size Used Available Use% Space saving%
/dev/mapper/vm-storage 100.0G 2.0G 98.0G 2% 0%

# 7. 查看详细统计信息
[root@localhost ~]# vdo status –name=vm-storage | grep -A 20 “Data blocks”
Data blocks used: 524288
Data blocks free: 25165824
Overhead blocks used: 524288
Logical blocks used: 524288
Logical blocks free: 131071488

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息