Linux高级存储管理(lvm和vdo)

Linux高级存储管理

逻辑卷

意义:当一个存储数据的硬盘分区被填满时,如果这个数据放在逻辑卷里,那么可以通过扩大硬盘分区的容量,来解决这个问题;如果没有放在逻辑卷里面,则需要先给该硬盘分区的数据备份,导入到更大的硬盘分区,来解决这个问题;显而易见,采用逻辑卷的方式存储数据是很必要的。
逻辑卷的生成步骤:物理分区---->物理卷(pv)---->物理卷组(vg)----->逻辑卷(LV)

监控命令:watch -n 1 “pvs --units M;echo ===;vgs --units M;echo ===;lvs --units M ;echo ===;df -h /westos”
解释:pvs|gvs|vgs -units M      #显示各个部分占用了多少
   df -h /westos          #/westos这个挂载点的使用情况

生成过程

  1. 建立物理分区并设定分区的type为lvmLinux高级存储管理(lvm和vdo)_第1张图片

  2. pvcreate /dev/vdb2       #创建pv

  3. vgcreate 物理组名称 物理分区 -s size     #创建vg;-s 是指定PE大小、
    pe:构成lv的基础大小,lv的大小是pe的整数倍;如果不指定则默认为4M.

  4. lvcreate -L size -n lv名称 vg名称     #创建lv

  5. mkfs.xfs /dev/mapper/物理卷组-逻辑卷名称   #格式化为xfs系统(只能拉伸不能压缩)
    mkfs.ext4 /dev/mapper/物理卷组-逻辑卷   #格式化为etx4系统(可以拉伸也可以压缩)

  6. mount /dev/mapper/物理卷组/逻辑卷 挂载点     #挂载Linux高级存储管理(lvm和vdo)_第2张图片

lvm拉伸

  • 当vg的容量充足

    1. lvextent -L size 设备名称     #扩大lv到多大
    2. xfs_growsf 挂载点        #使挂载点的数据同步变化Linux高级存储管理(lvm和vdo)_第3张图片
  • 当vg的容量不足

    1. 划分物理分区Linux高级存储管理(lvm和vdo)_第4张图片

    2. pvcreate /dev/vdb2       #生成新的物理卷

    3. vgextend 物理卷组 物理卷     #把新生成的物理卷添加到物理卷组里面(相当于给物理卷组扩容)

    4. 此时vg的容量就充足了,接下来就按vg容量充足的方式做就行Linux高级存储管理(lvm和vdo)_第5张图片

lvm缩减

注:由于xfs文件系统不支持缩减,ext文件系统可以支持缩减和拉伸
步骤

  1. umount 挂载点 #取消挂载
  2. mkfs.ext4 /dev/mapper/vgname-lvname    #将文件系统变成ext4文件系统
  3. e2fsck -f /dev/vgname/lvname      #扫描逻辑卷里面含有的文件大小
  4. resize2fs /dev/vgname/lvname size    #将逻辑卷压缩到多大
  5. lvreduce -L size /dev/vgname/lvname    #同步到硬盘
  6. mount /dev/vgname/lvname 挂载点     #挂载到挂载点Linux高级存储管理(lvm和vdo)_第6张图片
  • 查看peLinux高级存储管理(lvm和vdo)_第7张图片
    注:pe在vg被创建之后就不能修改,只能在创建之前加入参数-s sizeLinux高级存储管理(lvm和vdo)_第8张图片

  • vgreduce          #移除组里闲置的物理卷Linux高级存储管理(lvm和vdo)_第9张图片

  如果非要移除不是闲置的组,可以将数据移动到闲置组,在移除该物理卷Linux高级存储管理(lvm和vdo)_第10张图片

  • lvremove/vgremove/pvremove #移除逻辑卷或者物理卷组或者物理卷Linux高级存储管理(lvm和vdo)_第11张图片

vdo虚拟数据优化器

作用:压缩数据,优化重复数据
步骤

  1. dnf list vdo           #查看主机是否有vdo(如果没有执行dnf install vdo -y 下载 )Linux高级存储管理(lvm和vdo)_第12张图片

  2. dd if=/dev/zero of=/dev/vdb bs=1M count=1    #清空硬盘的主分区表

  3. vdo create --name=snji_vdo1 --device /dev/vdb    #建立vdo硬盘Linux高级存储管理(lvm和vdo)_第13张图片

  4. vdo status --name snji_vdo1Linux高级存储管理(lvm和vdo)_第14张图片

  5. mkfs.xfs -K /dev/mapper/snji_vdo1        #格式化

  6. mount /dev/mapper/snji_vdo1 /westos       #挂载Linux高级存储管理(lvm和vdo)_第15张图片

  • 测试
    监控命令:watch -n 1 vdostats --human-readable Linux高级存储管理(lvm和vdo)_第16张图片步骤

    1. cp /var/www/html/rhel8.2/images/install.img /westos/install1.img    #复制文件第一次
    2. cp /var/www/html/rhel8.2/images/install.img /westos/install2.img     #第二次复制文件
      Linux高级存储管理(lvm和vdo)_第17张图片
  • vdo remove --name snji_vdo1      #删除vdo设备 (必须先取消挂载才可以删除vdo设备)Linux高级存储管理(lvm和vdo)_第18张图片

你可能感兴趣的:(rhel8,linux)