• 数据压缩与管理:掌握Linux VDO和LVM的力量


    1.逻辑卷(LVM,Logical Volume Management)

    动态的为服务器磁盘添加空间,而不会影响原磁盘的数据,也不需要对原始磁盘重新分区。

    1.1 LVM介绍

    以下是LVM的示意图:
    在这里插入图片描述

    1. 我们拿到一块硬盘后首先对齐进行划分分区,也就得到上图所示的真实物理分区。
    2. 下来我们需要对物理分区进行处理,将其变为物理卷PV,其中包含许多基本单位物理扩展Pe
    3. 接着,我们将多个不同的pv捆绑到一个组中形成逻辑卷组
    4. 下来,直接从逻辑卷组中获得想使用的空间放到逻辑卷LV中
    5. LV可以被直接挂载使用

    1.2 LVM设备建立

    1. 真实物理分区建立

    在这里插入图片描述

    2.建立pv

    watch -n 1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /fff" #实时监控相应的信息
    
    • 1
    pvcreate /dev/sdb3 # 创建PV
    
    • 1

    在这里插入图片描述

    1. 建立vg
    vgcreate -s 4M sxl_vg /dev/sdb3
    
    • 1

    在这里插入图片描述

    1. 建立lv
    lvcreate -L 100M -n sxl_lv sxl_vg # lv空间为100M,命名为sxl_lv,从sxl_vg取得的空间
    
    • 1

    在这里插入图片描述

    1. lv空间挂载
    mkfs.xfs /dev/sxl_vg/sxl_lv # 格式化分出来的逻辑空间
    mount /dev/sxl_vg/sxl_lv /fff # 挂载
    
    • 1
    • 2

    在这里插入图片描述

    1.3 LVM空间拉伸

    以下操作动态进行,而不会影响原始数据

    lvextend -L 200M /dev/sxl_vg/sxl_lv # 空间大小拉伸
    xfs_growfs /fff # 格式化拉伸
    
    • 1
    • 2

    在这里插入图片描述

    1.4 LVM空间不足

    建立新的pv,扩充vg,拉伸lv

    pvcreate /dev/sdb4 # 建立新的pv
    vgextend sxl_vg /dev/sdb4 #扩充vg
    lvextend -L 2500M /dev/sxl_vg/sxl_lv # 拉伸lv
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    1.5 LVM缩减

    xfs格式文件不支持缩减,需要使用ext4文件格式才可以缩减。
    注意下面格式化,会丢失原有数据
    在这里插入图片描述

    umount /fff # 卸载挂载
    e2fsck -f /dev/sxl_vg/sxl_lv # 扫描分区,保证下面缩减空间不能小于已经使用的空间
    resize2fs /dev/sxl_vg/sxl_lv 500M # 缩减空间
    lvreduce -L 500M /dev/sxl_vg/sxl_lv # 重新缩减LV
    mount /dev/sxl_vg/sxl_lv /fff # 挂载
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    1.6 PV缩减

    pvmove /dev/sdb3 /dev/sdb4 # 移动/dev/sdb3到/dev/sdb4
    vgreduce sxl_vg /dev/sdb3 # 去掉VG中的/dev/sdb3 PV
    pvremove /dev/sdb3 # 永久删除/dev/sdb3 PV
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    1.7 LVM快照

    lvcreate -L 100M -n sxl_lvbackup -s /dev/sxl_vg/sxl_lv # sxl_lvbackup快照名字 /dev/sxl_vg/sxl_lv被映射的原LV
    mount /dev/sxl_vg/sxl_lvbackup /fff # 挂载快照
    
    • 1
    • 2

    在这里插入图片描述

    1.8 LVM删除

    umount /fff
    lvremove /dev/sxl_vg/sxl_lv # 删除LV
    vgremove sxl_vg # 删除VG
    pvremove /dev/sdb4 # 删除PV
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.虚拟数据优化器vdo(Virtual Data Optimize)

    2.1 vdo介绍

    1、压缩数据
    2、存相同内容的文件,对于重复的数据优化

    2.1 vdo建立

    1. 首先保证是未被使用的磁盘
    2. 安装vdo服务
    dnf install vdo -y
    
    • 1

    在这里插入图片描述

    1. 创建vdo
    vdo create --name=sxl_vdo --device=/dev/sdc
    
    • 1

    在这里插入图片描述

    1. 查看vdo相关信息
    vdostats --human-readable # 查看vdo使用情况
    vdo status --name=sxl_vdo | less  # 查看vdo配置信息
    Deduplication: enabled ##vdo检测并删除重复数据的功能时开启的
    Compression: enabled ##vdo数据压缩功能开启
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

    2.3 vdo使用

    2.3.1 挂载

    mkfs.xfs -K /dev/mapper/sxl_vdo # 格式化创建的vdo设备
    mount /dev/mapper/sxl_vdo /fff # 挂载
    
    • 1
    • 2

    在这里插入图片描述

    2.3.2 测试功能

    在这里插入图片描述

    2.4 vdo开机自启动挂载

    /etc/fstab
    /dev/mapper/sxl_vdo	  /fff  xfs defaults,x-systemd.requires=vdo.service 0 0
    
    • 1
    • 2

    在这里插入图片描述

    2.5 vdo删除

    umount /fff
    vdo stop --name sxl_vdo # 停用
    vdo remove --name sxl_vdo # 移除
    
    • 1
    • 2
    • 3

    在这里插入图片描述

  • 相关阅读:
    数据结构之“算法的时间复杂度和空间复杂度”
    Redis优化
    第四十五章 命名空间和数据库 - 数据库基础知识
    力扣细节题:判断是否为平衡二叉树
    互联网直播/点播技术与平台创新应用:视频推拉流EasyDSS案例分析
    Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
    离线数仓搭建_05_电商业务简介与业务数据说明
    29.Java中的文件操作【20220804】
    《深入浅出.NET框架设计与实现》笔记6.4——ASP.NET Core应用程序多种运行模式之四——服务承载
    win11开机动画关闭教程
  • 原文地址:https://blog.csdn.net/weixin_43945111/article/details/133617719