Linux高级存储管理(LVM逻辑卷管理;vdo虚拟数据优化器)

1.逻辑卷

设备不变的情况下,容量增加?(从组里面取)
单独的物理硬盘§被处理后变成另外一种形态(pv),可以用软件管理将其放在一起,变成一个组(vg),从组里划分出来一个设备,(lv)设备被挂载到一个目录上,当设备容量不够时,从组里面取,当组里面容量用完时,再取物理设备,做成可以捆绑的形态,再放进组里——》 逻辑卷lvm

物理分区被处理后变成物理卷,物理卷捆绑到一起变成物理卷组,物理卷组划分出来可以使用的逻辑卷

1.1 什么是逻辑卷(百度百科)

LVM:(Logical Volume Manager) ,逻辑卷管理器。
逻辑卷管理器解决的主要问题如下:
解决分区空间不够用或者分区空间绰绰有余的情况。
基本磁盘分区的边界是不能随意扩展的。分区大小是在刚刚划分分区的时候就决定了。
逻辑卷的工作原理:逻辑卷(lv)是将几个磁盘分区或者块设备(pv,pv的id必须是8e的,pv可以位于不同的磁盘分区里,pv大小可以不一)组织起来形成一个大的扩展分区(vg,卷组,一个vg至少要包含一个pv。),该扩展分区不能直接用,需要将其划分成逻辑卷(lv)才能使用,lv可以格式化成不同的文件系统,挂载后直接使用。 lv的扩展和缩减是不会影响原有数据的,但逻辑卷缩减的风险大于逻辑卷扩展的风险。逻辑卷可以支持快照功能
LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样可以减少操作成本.

在这里插入图片描述

1.2 pv,vg,lv

pv物理卷被处理过的物理分区
pe物理扩展 设定存储最小单元
vg物理卷组 捆绑 pv 到一个组中
lv逻辑卷分配最终的使用设备

1.3lvm的建立

监控建立过程
watch -n 1 “pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /weixindata”
lvm 设备建立
建立物理分区并设定分区 type 为 lvm


[root@localhost Desktop]# fdisk /dev/vdb      ###进入/dev/vdb
command (m for help): n  ###建立分区
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +1G   ###1G大小

Created a new partition 1 of type 'Linux' and of size 1 GiB.

Command (m for help): t     ##更改类型
Selected partition 1
Hex code (type L to list all codes): 8e     #####lvm类型
Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): p      ##列出
Disk /dev/vdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x56a631b5

Device     Boot Start     End Sectors Size Id Type
/dev/vdb1        2048 2099199 2097152   1G 8e Linux LVM        ##lvm类型的分区已被建立

Command (m for help): wq    ##退出保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

1pvcreate /dev/vdb1 创建 pv

在这里插入图片描述

2vgcreate westosvg0 /dev/vdb1**创建 vg **
在这里插入图片描述

3lvcreate -L 30M -n westoslv0 westosvg0 ##创建 lvm -L 指定大小 -n 指定名称
在这里插入图片描述

5mkfs.xfs /dev/mapper/westosvg-westoslv 格式化
6mount /dev/westosvg/westoslv /weixindata/ 挂载

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

1.4lvm 拉伸

接着1.3的挂载

1.4.1.当 vg 中的容量充足

1lvextend -L 100M /dev/mapper/westosvg-westoslv 拉伸设备
2xfs_growfs /weixindata/ 拉伸文件系统,在 rhel7 中可以用设备或挂载点
在 rhel8 中只能用挂载点

lvm
在这里插入图片描述

在这里插入图片描述

resize2fs /dev/mapper/westosvg-westoslv 当文件系统为 ext 时使用此命令

1.4.2.当 vg 中的容量不足

在这里插入图片描述

划分分区

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.5.ext4 文件系统拉伸:(先拉伸设备,再拉伸文件系统)

1mkfs.ext4/dev/westosvg/westoslv 将lvm形式的格式化为ext4类型的文件系统;或者直接在划分分区的时候选择ext4类型的分区
2挂载设备
3拉伸设备

4resize2fs /dev/mapper/westosvg-westoslv 将文件系统也拉伸

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

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

1.6lvm 缩减

xfs 文件系统不支持缩减 ext 文件系统可以
mkfs.ext4/dev/westosvg/westoslv见1.4.

1.6.1缩减步骤

1umount /weixindata先卸载掉挂载设备
2e2fsck -f /dev/westosvg0/westoslv0**扫描这个设备里面的东西,否则直接缩减会造成损坏 **
3resize2fs /dev/westosvg0/westoslv0 300M缩减文件系统
4lvreduce -L 300M /dev/westosvg/westoslv缩减lvm设备
5mount /dev/westosvg/westoslv /weixindata/ 重新挂载

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

1.7lvm 删除

1umount /dev/mapper/westosvg-westoslv 卸载设备
2lvremove /dev/westosvg/westoslv删除lv
3vgremove westosvg删除vg
4pvremove /dev/vda2删除pv

在这里插入图片描述
当删除时pv显示正在忙,如何删除?
在这里插入图片描述

设备故障无法删除?
1fdisk /dev/vdb删掉分区
时间同步
[root@localhost Desktop]# vgdisplay ##查看
vgreduce westosvg0 UUID=?
2vgreduce --removemissing westosvg0
pvs 查看

1.8 快照?

删掉数据后恢复

1[root@localhost weixindata]# mount /dev/westosvg0/westoslv0 /weixindata/ 挂载设备
2[root@localhost weixindata]# cd /weixindata/
[root@localhost weixindata]# touch file{1.5} 在挂载的目录下建立文件
[root@localhost weixindata]# cd
3[root@localhost ~]# umount /weixindata 卸载之后再建立快照
4[root@localhost ~]# lvcreate -L 50M -n westoslv0-backup -s /dev/westosvg0/westoslv0 建立快照
Rounding up size to full physical extent 52.00 MiB
Logical volume “westoslv0-backup” created.
5[root@localhost weixindata]# mount /dev/westosvg0/westoslv0-backup /weixindata/ 将快照挂载到原来的目录下
[root@localhost weixindata]# cd /weixindata/
[root@localhost weixindata]# ls
file{1.5}
6[root@localhost weixindata]# rm -fr * 删掉文件
[root@localhost weixindata]# ls
[root@localhost weixindata]# cd
7[root@localhost ~]# umount /weixindata ** 卸载设备**
8[root@localhost ~]# lvremove /dev/westosvg0/westoslv0-backup 删掉快照
Do you really want to remove active logical volume westosvg0/westoslv0-backup? [y/n]: y
Logical volume “westoslv0-backup” successfully removed
9[root@localhost ~]# lvcreate -L 50M -n westoslv0-backup -s /dev/westosvg0/westoslv0 ** 重新建立快照**
Rounding up size to full physical extent 52.00 MiB
Logical volume “westoslv0-backup” created.

10[root@localhost ~]# mount /dev/westosvg0/westoslv0 /weixindata/ 重新挂载原设备
11[root@localhost ~]# ls /weixindata/ 文件恢复
file{1.5}

2.vdo虚拟数据优化器

dd if=/dev/zero of=/dev/vdb bs=1M count=1 ##清掉分区表
清掉所要将其作为vdo设备的设备的分区表数据。

2.1 vdo?

kvdo 压缩数据
uds 优化重复数据

VDO(Virtual Data Optimize)是RHEL8/Centos8上新推出的一个存储相关技术(最早在7.5测试版中开始测试),是Redhat收购的Permabit公司的技术。

VDO的主要作用是节省磁盘空间,比如让1T的磁盘能装下1.5T的数据,从而降低数据中心的成本。

那vdo是如何实现的呢,关键原理主要是重删和压缩,重删就是硬盘里拷贝来相同的数据,以前要占多份空间,现在只需要1份空间就可以了。类似我们在百度网盘中上传一个大型软件安装包,能实现秒传,其实是之前就有,所以无需再传一遍,也无需再占百度一份空间。另一方面是数据压缩,类似于压缩软件的算法,也可以更加节省磁盘空间。

2.2vdo 建立

vmvare虚拟机中的设备sdb,1实验都是在linux系统中的虚拟机中进行,vdb,注意设备

dnf install vdo -y
1vdo create --name=westos_vdo1 --device=/dev/sdb

2vdo status --name=westos_vdo1 | less

Deduplication:enabled vdo 检测并删除重复数据的功能时开启的
Compression: enabledvdo 数据压缩功能开启

在这里插入图片描述

在这里插入图片描述

2.3使用 vdo 设备

1mkfs.xfs -K /dev/mapper/westos_vdo1格式化vdo设备
2mkdir /westos_vdo 建立目录
3mount /dev/mapper/westos_vdo1 /westos_vdo挂载vdo设备
在这里插入图片描述

2.4测试 vdo 性能

1vdostats --human-readable 查看设备使用情况

2cp /westos/images/install.img /westos_vdo/
3vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/westos_vdo1 20.0G4.4G 15.6G 22% 2%
4cp /westos/images/install.img /westos_vdo/install.img.1 复制相同的数据到挂载目录下时,使用率不变,自动保留一份数据,进行优化
5vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/westos_vdo120.0G 4.5G 15.5G 22% 50%
与我的实验有点出入
在这里插入图片描述

2.5vdo 设备的删除

vdo remove --name=westos_vdo1

在这里插入图片描述

vdo设备的永久挂载

vdo设备的永久挂载,参数比较特殊,
man vdo
/fstab
查看vdo设备在/etc/fstab文件的参数如何写

在这里插入图片描述

vim /etc/fsatb
/dev/mapper/westos_vdo1 /westos_vdo xfs defaults,x-systemd.requires=vdo.service 0 0
####注意:在/etc/fstab的文件的编辑的时候要保证参数必须全对 ,否则系统无法重启。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值