我正在安装 lvmvdo con Debian 11.2 来存储 Proxmox vm 磁盘,执行以下操作:
1) apt install -y build-essential libdevmapper-dev libz-dev uuid-dev git sudo libblkid-dev man vim dwarves dkms lvm2
2)export PATH=$PATH:/usr/sbin
3) git clone https://github.com/dm-vdo/kvdo.git cd kvdo/ make -C /usr/src/linux-eaders-`uname -r` M=`pwd`
cp vdo/kvdo.ko /lib/modules/$(uname -r) && cp uds/uds.ko /lib/modules/$(uname -r)
4)git clone https://github.com/dm-vdo/vdo.git cd vdo/ && make && make install
5)depmod -a update-initramfs -u
6)echo uds >>/etc/modules && echo kvdo >> /etc/modules
7)reboot
8) modprobe kvdo && modprobe uds
9) lsmod |grep vdo
kvdo 540672 1
uds 270336 1 kvdo
dm_mod 163840 12 kvdo,dm_thin_pool,dm_bufio
10) pvcreate /dev/sda
vgcreate vgdo /dev/sda
lvcreate --type vdo --name vdolv --size 7G --virtualsize 8G vgdo
mkfs.ext4 -E nodiscard /dev/vgdo/vdolv
11)mount /dev/vgdo/vdolv /mnt/vdo/
df -h
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/vgdo-vdolv 7,8G 24K 7,4G 1% /mnt/vdo
12)cp /tmp/rhel-8.5-x86_64-kvm.qcow2 /mnt/vdo/ &&df -h
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/vgdo-vdolv 7,8G 744M 6,7G 10% /mnt/vdo
13)cp /tmp/rhel-8.5-x86_64-kvm.qcow2 /mnt/vdo/rhel-8.5-x86_64-kvm2.qcow2
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/vgdo-vdolv 7,8G 1,5G 6,0G 20% /mnt/vdo
14)lvs -o+vdo_compression,vdo_deduplication
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert VDOCompression VDODeduplication
vdolv vgdo vwi-XXv-X- 8,00g vpool0 enabled enabled
正如您在第 12 步和第 13 步中看到的那样,我正在克隆一个 qcow2 映像,并且我的数据在没有任何重复数据删除过程的情况下仍在增长,同样的行为发生在 .iso .mkv 和其他测试文件中。
我不知道我做错了什么,请任何人帮助我。
我的最终目标是使用全新安装的 Debian 和工作 VDO 来安装 proxmox。
您不能使用
df
VDO 检查重复数据删除和压缩节省了多少数据。从文件系统的角度来看(也从df
透视图)设备大小为 8 GiB(在您的情况下),并且不涉及重复数据删除或压缩,因此两个约 750 MiB 的文件将使用 1.5 GiB 的空间。所有节省都发生在块层上——这就是为什么在创建 LVM VDO 时指定两种大小的原因——更小的“真实”物理大小和更大的虚拟大小。对于虚拟大小,您说“我假设启用重复数据删除和压缩后,我将在此处容纳多达 X 倍的数据”。您告诉文件系统它有 8 GiB 的空间,块层将在不告诉文件系统的情况下以更有效的方式存储数据。(这类似于精简配置,您告诉文件系统它有比池中实际拥有的更多空间。)如果要查看实际使用了多少空间,则应
Data%
同时查看 VDO 逻辑卷和池的列或使用vdostats
命令。因此,例如使用 1.9 GiB ISO,您将获得:
(块是 1K,所以这大约是 474 MiB)。在第二次复制 ISO 之后:
您现在可以看到
df
输出显示双倍使用空间,但实际数据使用量仅增长了几个块。再给你两个注意事项:
(如果您只是测试 LVM VDO 并确保一切正常,两者都可以。)