AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 686472
Accepted
Yanluis Laya
Yanluis Laya
Asked: 2022-01-16 05:09:56 +0800 CST2022-01-16 05:09:56 +0800 CST 2022-01-16 05:09:56 +0800 CST

lvmvdo 不会对我的数据进行重复数据删除

  • 772

我正在安装 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。

lvm proxmox
  • 1 1 个回答
  • 360 Views

1 个回答

  • Voted
  1. Best Answer
    Vojtech Trefny
    2022-01-16T06:20:34+08:002022-01-16T06:20:34+08:00

    您不能使用dfVDO 检查重复数据删除和压缩节省了多少数据。从文件系统的角度来看(也从df透视图)设备大小为 8 GiB(在您的情况下),并且不涉及重复数据删除或压缩,因此两个约 750 MiB 的文件将使用 1.5 GiB 的空间。所有节省都发生在块层上——这就是为什么在创建 LVM VDO 时指定两种大小的原因——更小的“真实”物理大小和更大的虚拟大小。对于虚拟大小,您说“我假设启用重复数据删除和压缩后,我将在此处容纳多达 X 倍的数据”。您告诉文件系统它有 8 GiB 的空间,块层将在不告诉文件系统的情况下以更有效的方式存储数据。(这类似于精简配置,您告诉文件系统它有比池中实际拥有的更多空间。)

    如果要查看实际使用了多少空间,则应Data%同时查看 VDO 逻辑卷和池的列或使用vdostats命令。

    因此,例如使用 1.9 GiB ISO,您将获得:

    # cp ~/Downloads/Fedora-Workstation-Live-x86_64-35-1.2.iso /mnt/vdo
    # df -h /mnt/vdo
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/mapper/vdo-VDOLV   49G  1.9G   45G   5% /mnt/vdo
    # vdostats --all | grep "data blocks used"
      data blocks used                    : 485743
    

    (块是 1K,所以这大约是 474 MiB)。在第二次复制 ISO 之后:

    # cp ~/Fedora-Workstation-Live-x86_64-35-1.2.iso /mnt/vdo/Fedora-Workstation-Live-x86_64-35-1.2.iso.2 
    # df -h /mnt/vdo
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/mapper/vdo-VDOLV   49G  3.8G   43G   9% /mnt/vdo
    # vdostats --all | grep "data blocks used"
      data blocks used                    : 485770
    

    您现在可以看到df输出显示双倍使用空间,但实际数据使用量仅增长了几个块。

    再给你两个注意事项:

    • 8 GiB 的虚拟大小与 7 GiB 的物理大小很小,您通常会将虚拟大小设置为物理大小的 5 到 10 倍。
    • 7 GiB 是一个非常小的 VDO 卷。VDO为元数据使用了大量空间,并且元数据大小不会缩小到这样的大小,对于小于 1 TiB 的卷,它将是 2 到 4 GiB,因此它对于几 GiB 的数据确实没有用处。

    (如果您只是测试 LVM VDO 并确保一切正常,两者都可以。)

    • 3

相关问题

  • 修改 LVM 时未更新 LVM 快照

  • grub2-mkconfig 没有生成正确的挂载路径(以及如何摆脱不再使用的额外内核?)

  • lvm 和一个分区问题

  • 调整设备 /dev/sdb 上的 LVM 物理卷的大小

  • 以 100% 的利用率捕捉 /dev/loop -- 没有可用空间

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve