Linux系统下lvm逻辑卷逻辑卷快照及虚拟数据优化器vdo详解
Posted 是大姚呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下lvm逻辑卷逻辑卷快照及虚拟数据优化器vdo详解相关的知识,希望对你有一定的参考价值。
Linux高级存储管理
文章目录
一、lvm逻辑卷
当我们在挂载物理设备的数据目录中不断写入数据时,数据目录会被存满,而基本磁盘分区的大小是不能随意扩展的,其分区大小是在刚刚划分分区的时候就决定了的。这时我们可以引入LVM(Logical Volume Manager) 即逻辑卷来解决分区空间不够用的情况。为了便于大家理解LVM的工作原理,我们引入下面这个通俗易懂的示例进行说明:
我们可以将两个pv物理卷(橘子)合成一个能够自动拉伸的物理设备即vg物理卷组(榨汁机榨汁),这个物理卷组不能直接使用,需要将其划分成逻辑卷lvm才能使用,划分出的lvm可以格式化成不同的文件系统,挂载后直接使用。
从这个物理卷组中取出逻辑卷lvm(一杯果汁)挂载到数据目录下,当该lvm存储空间被占使用满时,我们可以从vg中取出一部分物理存储空间来拉伸扩大lvm,当vg存储空间被使用完时,我们可以再建立一个新的pv物理卷加入物理卷组来扩大vg。 lvm的拉伸和缩减是不会影响原有数据的。
1、lvm设备的创建及挂载
实验步骤:
1)初始化设备/dev/vdb,即使用空数据覆盖掉磁盘设备/dev/vdb中磁盘分区表内的数据
2)fdisk交互式在/dev/vdb中建立新的物理设备/dev/vdb1,将其标签更改为Linux LVM
3)执行watch -n 1 "pvs;echo ====;vgs;echo =====;df -h /westosdir"
命令,开启监控便于实时查看pv、vg、lv的状态及数据目录大小的变化
4)对新建物理设备/dev/vdb1进行pv格式化即创建pv,创建vg(默认pe最小存储单元大小为4M,也可以-s指定),这里指定pe大小为2M
5)vgdisplay
查看vg的属性信息,可以看到pe大小为2M,删除vg,重新创建vg,使用最小存储单元大小为4M的默认设定
6)创建lvm(-L指定逻辑卷大小,-n指定逻辑卷名称)并对该lvm进行格式化,为其创建 xfs 文件系统,完成后即可挂载该逻辑卷到数据目录中,lvm设备创建完成
2、lvm设备的拉伸
1)vg中容量充足
实验步骤:
1)lvm设备创建完成后,将其挂载到数据目录中,此时可以对该逻辑卷物理大小进行拉伸(-L参数表示拉伸到多大),但该设备上的文件系统仍为原大小,我们需要xfs_growfs对文件系统也进行拉伸
注意: 在rhel7中可以使用设备或挂载点来拉伸文件系统xfs_growfs 设备/挂载点
;在rhel8中只能使用挂载点来拉伸文件系统xfs_growfs 挂载点
2)vg中容量不足
实验步骤:
1)在拉伸lvm时,如果指定拉伸大小超出vg剩余容量时,无法进行拉伸
2)此时我们需要fdisk交互式在/dev/vdb中建立另一物理设备/dev/vdb2,将其标签更改为Linux LVM
3)对新建物理设备/dev/vdb2进行pv格式化即创建pv,使用新的物理卷扩大vg物理卷组,此时可以成功对lvm进行拉伸
3、lvm设备的缩减
实验步骤:
1)由于xfs文件系统不支持lvm的缩减,我们需要卸载数据目录下的lvm设备,将其格式化为支持lvm缩减的ext4文件系统
2)挂载lvm设备到数据目录中,blkid可以查看到此时lvm的文件系统类型为ext4
3)在ext4文件系统下对lvm设备进行拉伸,与xfs文件系统不同,在对文件系统进行拉伸时使用的是resize2fs lvm设备
命令
4)在ext4文件系统下对lvm设备进行缩减:卸载lvm设备,在缩减设备前可以检查一下lvm的分区情况,避免造成数据丢失,接着resize2fs lvm设备 指定大小
对文件系统进行缩减,再对lvm设备进行缩减
4、lvm设备的快照
lvm逻辑卷可以支持快照功能,快照可以保存原始lvm设备里的内容,读取设备时是从母盘读取,但写数据时是写入快照。这样一来,我们可以将lvm设备的快照挂载到指定数据目录中,避免在数据目录中执行操作时对原lvm设备的数据造成损坏。
实验步骤:
1)建立实验素材,挂载lvm设备到数据目录/westosdir中,在该目录下新建文件,此时执行删除操作会彻底删除lvm设备中的新建文件
2)重新在该目录下新建文件,卸载lvm设备,为lvm设备创建快照(-L指定快照设备大小,-n指定快照名称,-s指定快照源)并将快照挂载到数据目录 /westosdir中
3)查看数据目录可以看到新建的文件,执行删除操作后再次查看数据目录,显示目录为空
4)卸载并删除该快照,重新为lvm创建一个快照并挂载新创建的快照到数据目录中,查看该数据目录内容可以再次看到文件
5、lvm设备的删除
实验步骤:
1)在对lvm缩减完成后,我们可以看到物理卷组vg中的物理卷/dev/vdb2是未被使用的,此时我们可以使用vgreduce
命令缩减vg,将闲置的物理卷/dev/vdb2移出vg
2)如果想要将正在被lvm使用的物理卷/dev/vdb1移出vg,我们需要使用pvmove
命令将/dev/vdb1中的数据移动到物理卷组vg内的另一物理卷/dev/vdb2中,数据移动完成后即可成功将物理卷/dev/vdb1移出vg,缩减vg
3)执行lvremove 设备
命令删除lvm设备及为lvm设备创建的快照,vgremove
删除物理卷组vg,pvremove
删除物理卷pv,fdisk交互式在/dev/vdb中删除建立的所有物理设备
二、虚拟数据优化器vdo(Virtual Data Optimize)
lvm只能解决存储设备的拉伸和缩小,不能对写入数据目录中的数据进行压缩和重复检测,我们需要使用虚拟数据优化器vdo来对数据进行优化压缩处理。
1、vdo设备的建立及挂载
实验步骤:
1)安装vdo设备的磁盘必须是新盘,我们需要初始化设备/dev/vdb,即使用空数据覆盖掉磁盘设备/dev/vdb中磁盘分区表内的数据,接着安装vdo(一般系统默认已安装过)
2)执行vdo create --name=指定名称 --device=指定设备
命令将/dev/vdb创建为虚拟数据优化设备vdo1,vdo status --name=vdo设备名称 | less
查看vdo设备检测并删除重复数据的功能Deduplication是开启状态,vdo设备数据压缩功能Compression是开启状态
3)开启监控实时查看挂载vdo设备的数据目录和vdo设备的状态
4)对vdo设备进行格式化,为其创建 xfs 文件系统,建立数据目录,完成上述操作后即可挂载该vdo设备到数据目录中进行使用
2、vdo设备性能测试
实验步骤:
1)为了对vdo设备的性能进行测试,我们需要有一个大文件作为实验素材,这里可以为虚拟机westosa添加一块新的硬盘,挂载系统镜像到该硬盘中(这里选择添加硬盘是因为在虚拟机开启状态下添加硬盘可以被系统识别,添加光驱必须在虚拟机关闭状态下)
2)添加的硬盘被系统识别为/dev/vdc
3)挂载/dev/vdc到空目录/mnt下,切换到/mnt查看目录中内容,可以看到images/install.img文件较大
4)开启监控实时查看挂载vdo设备的数据目录和vdo设备的状态,复制images/install.img文件到挂载vdo设备的数据目录/westosdir中,复制完成后可以看到此时vdo设备的剩余容量为5.5G
5)多次执行复制操作,复制images/install.img文件到挂载vdo设备的数据目录/westosdir中的多个文件,复制完成后可以看到vdo设备的剩余容量仍为5.5G,这是因为vdo设备对传输数据进行了检测并删除了重复数据
3、vdo设备的永久挂载
实验步骤:
1)如果要永久挂载vdo设备 / 使系统在开机时自动挂载vdo设备到指定数据目录中,需要编写设备挂载策略文件 /etc/fstab,服务激活参数x-systemd.requires=vdo.service表示在挂载前需要首先激活vdo服务,完成上述操作后重启虚拟主机
2)系统重启后df查看vdo设备挂载在指定数据目录中,mount查看挂载信息可以看到对vdo设备设定的服务激活参数x-systemd.requires=vdo.service
4、vdo设备的删除
实验步骤:
1)删除设备挂载策略文件/etc/fstab中的语句设定,卸载vdo设备,vdo stop --name 设备名称
关闭vdo设备,关闭后还可以通过vdo start --name 设备名称
打开vdo设备,这里要注意的是,在打开后vdo设备可能会自动挂载到数据目录中,我们还可以使用vdo remove --name 设备名称
删除vdo设备,删除后查看虚拟设备存储目录可以看到删除成功
以上是关于Linux系统下lvm逻辑卷逻辑卷快照及虚拟数据优化器vdo详解的主要内容,如果未能解决你的问题,请参考以下文章