欢迎来到之路教程(on itroad-com)

在 CentOS 8 上安装虚拟数据优化器 (VDO)

使用以下命令构建 dnf 缓存。

[root@vdo-storage-01 ~]# dnf makecache
CentOS-8 - AppStream                            3.0 kB/s | 4.3 kB     00:01
CentOS-8 - Base                                 2.8 kB/s | 3.9 kB     00:01
CentOS-8 - Extras                               730  B/s | 1.5 kB     00:02
Metadata cache created.

更新 CentOS 8 软件包如下。

[root@vdo-storage-01 ~]# dnf update -y

要在 CentOS 8 上设置 Virtual Data Optimizer,我们必须安装以下两个软件包。

  • kmod-kvdo - 虚拟数据优化器的内核模块
  • vdo - 虚拟数据优化器的管理工具

我们使用单个 dnf 命令安装这两个软件包。

[root@vdo-storage-01 ~]# dnf install -y kmod-kvdo vdo

Virtual Data Optimizer (VDO) 服务由安装程序自动启用和启动。

[root@vdo-storage-01 ~]# systemctl status vdo.service
-> vdo.service - VDO volume services
   Loaded: loaded (/usr/lib/systemd/system/vdo.service; enabled; vendor preset:>
   Active: active (exited) since Sun 2019-12-22 12:54:27 PKT; 20min ago
 Main PID: 801 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 5948)
   Memory: 0B
   CGroup: /system.slice/vdo.service
Dec 22 12:54:12 vdo-storage-01.recipes.com systemd[1]: Starting VDO volume serv>
Dec 22 12:54:27 vdo-storage-01.recipes.com systemd[1]: Started VDO volume servi>

虚拟数据优化器 (VDO) 已安装在 CentOS 8 上。

在 CentOS 8 中创建 VDO 卷

我们在 CentOS 8 虚拟机中添加了一个另外的磁盘作为 /dev/sdb。
我们将使用 /dev/sdb 作为 VDO 数据存储并创建 VDO 卷。

当我们尝试创建 VDO 卷时,我们遇到以下错误。

[root@vdo-storage-01 ~]# vdo create --name=vdo1 --device=/dev/sdb --vdoLogicalSize=1T
Creating VDO vdo1
vdo: ERROR - Kernel module kvdo not installed
vdo: ERROR - modprobe: FATAL: Module kvdo not found in directory /lib/modules/4.18.0-80.el8.x86_64

这是一个已知错误,作为解决方法,我们重新启动了 CentOS 8 服务器。

[root@vdo-storage-01 ~]# systemctl reboot

重新启动后,我们再次尝试创建 VDO 卷,现在它正在工作。

[root@vdo-storage-01 ~]# vdo create --name=vdo1 --device=/dev/sdb --vdoLogicalSize=1T
Creating VDO vdo1
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 0 volume is ready at /dev/mapper/vdo1

由于我们使用 VDO 卷作为本地文件系统,因此,我们需要在 VDO 卷中创建一个文件系统。

[root@vdo-storage-01 ~]# mkfs.xfs -K /dev/mapper/vdo1
meta-data=/dev/mapper/vdo1       isize=512    agcount=4, agsize=67108864 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=268435456, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=131072, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
在 CentOS 8 上配置虚拟数据优化器 (VDO)

VDO(Virtual Data Optimizer)是一种存储软件,可用作本地文件系统、iSCSI 或者 Ceph 存储下的添加存储层。
VDO 以重复数据删除、压缩和精简配置的形式为 Linux 提供内联数据缩减。

在本文中,我们将在 CentOS 8 上配置虚拟数据优化器 (VDO),然后我们将创建文件系统并持久地挂载卷。

在 CentOS 8 中持久挂载 VDO 卷

创建一个目录来挂载我们的 VDO 卷。

[root@vdo-storage-01 ~]# mkdir /mnt/vdo1

要持久地挂载我们的 VDO 卷,我们必须在 /etc/fstab 文件中添加一个条目。

[root@vdo-storage-01 ~]# vi /etc/fstab

在此文件中添加以下行。

/dev/mapper/vdo1        /mnt/vdo1       xfs     defaults,x-systemd.req=vdo.service,discard      0 0

执行以下命令将 /etc/fstab 文件中的新条目通知 Systemd。

[root@vdo-storage-01 ~]# systemctl daemon-reload

挂载 /etc/fstab 文件中的条目。

[root@vdo-storage-01 ~]# mount -a

检查块设备列表。

[root@vdo-storage-01 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   60G  0 disk
->->sda1        8:1    0    1G  0 part /boot
->->sda2        8:2    0   59G  0 part
  ->->cl-root 253:0    0 38.2G  0 lvm  /
  ->->cl-swap 253:1    0  2.1G  0 lvm  [SWAP]
  ->->cl-home 253:2    0 18.7G  0 lvm  /home
sdb           8:16   0   10G  0 disk
->->vdo1      253:3    0    1T  0 vdo  /mnt/vdo1
sr0          11:0    1  6.7G  0 rom

检查 VDO 卷的状态。

[root@vdo-storage-01 ~]# vdostats
Device               1K-blocks      Used Available Use% Space saving%
/dev/mapper/vdo1      10485760   4200156   6285604  40%           99%

我们已经在 CentOS 8 上成功配置了 Virtual Data Optimizer (VDO)。

虚拟数据优化器 (VDO) 功能

虚拟数据优化器 (VDO) 的核心功能是:

  • 支持本地和远程存储
  • 重复数据删除
  • 压缩
  • 精简配置

虚拟数据优化器 (VDO) 用法

虽然我们可以在各种情况下使用 Virtual Data Optimizer (VDO) 来节省磁盘空间,但 VDO 的两个主要应用是:

  • 虚拟机存储
  • BLOB 存储后端
日期:2020-09-17 00:12:45 来源:oir作者:oir