Linux高级存储管理
1实验准备
-
快照一个全新的虚拟机,添加一块硬盘(虚拟机关闭时才可以添加)
-
概念
含义 | 作用 | |
---|---|---|
pv | 物理卷 | 物理分区各自重组,被处理过的物理分区 |
pe | 物理扩展 | 重组后的小空间,设定存储最小单元 |
vg | 物理卷组 | 物理卷融合后产生的总的空间,捆绑pv到一个组中 |
lv | 逻辑卷 | 总的里面分出来的需要使用的部分,分配最终的使用设备 |
- 逻辑卷主要适用于解决存储空间扩展问题,逻辑卷可以利用软件实现无限扩展。LVM可以实现把新的物理分区重组成物理卷,再将物理卷加入物理卷组,最后扩充逻辑卷。
2 lvm (逻辑卷管理)
2.1 lvm设备建立
1)首先对新建的硬盘进分区,分两个大小分别为500M的硬盘:
分好后输入p进行查看:
2)对建立好物理分区设定分区类型为lvm。输入t表示修改分区类型,然后指定被修改分区的id。输入l可以列出所有可用分区类型代码,8e是linux lvm的分区类型代码:
列出所有可用分区类型代码:
保存并同步到系统:
3)建立好lvm类型的物理分区并保存后,建立一个存放数据的目录/data,然后建立监控:watch -n 1 “pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /data”
监控中pvs表示查看物理卷,同理vgs表示查看物理卷组,lvs表示查看逻辑卷。
监控中初始显示内容:
4)创建物理卷(pv)
监控变化:
5)创建物理卷祖(vg),-s 指定pe大小为2M,westos_vg是物理卷祖的名称:
监控变化:
6)创建逻辑卷(lv),-L指定逻辑卷大小,-n指定逻辑卷名称为westos_lv0,后面表示从westos_vg物理卷祖宗分出来的:
监控变化:
7)格式化及挂载,将建立好的逻辑卷设备进行格式化,然后挂载在/data目录下,扩大该目录的容量:
监控变化:
2.2 lvm拉伸
2.2.1 当vg中容量充足
1)拉伸设备,扩大设备的容量:
查看监控,发现设备被拉伸到400M,之前是200M;但是挂载点的大小没有变化:
2)拉伸文件系统,使挂载点的数据同步变化。注意,拉伸文件系统在rhel8中,后面只能写挂载点,7中可以用设备或者挂载点:
查看那监控,挂载点大小发生改变:
2.2.2 当vg中容量不足
1)想拉伸设备到600M,但是物理卷祖的空间只有500M:
2)首先,扩展vg的容量,也就是加新的物理分区进来:
查看监控,物理卷祖(vg)的容量扩大了:
3)此时vg容量充足,然后再进行设备拉伸,逻辑卷被拉伸到了600M:
查看监控逻辑卷扩大,但挂载点没变:
4)拉伸文件系统,使挂载点同步变化,注意,后面也可以加/data挂载点:
查看监控,挂载点容量发生变化:
2.3 lvm缩减
xfs文件系统只支持扩展不支持缩减,而ext文件系统是即可以拉伸也可以缩减的文件系统
2.3.1 ext文件系统下的缩减
1)缩减前要卸载设备,然后检测文件系统大小:
使用e2fsck -f /dev/westos_vg/westos_lv0 命令,检测文件系统大小,防止缩减过多,而造成文件系统的损坏:
2)缩减文件系统大小为100M,然后将设备挂载:
查看监控,文件系统大小已经缩减了,但是设备大小没有发生改变,所以接下来需要缩减设备:
3)缩减设备,将设备大小从600M 缩减到100M:
查看监控,设备缩减为100M:
注意顺序:先卸载、检测文件系统大小、缩减文件系统、再挂载、再缩减设备。
2.3.2 ext文件系统下的拉伸
1)设备拉伸,将设备拉伸到800M。拉伸时,可以不检测文件系统大小:
查看监控,设备拉伸到800M,但是文件系统大小没有发生改变,所以下一步需要拉伸文件系统:
2)文件系统的拉伸,注意该命令后面不加大小表示文件系统的拉伸,而加了大小表示缩减文件系统:
查看监控,文件系统拉伸成功:
注意:ext文件系统下,拉伸和缩减的步骤是相反的,拉伸是先进行设备拉伸,再进行文件系统拉伸;而缩减是先缩减文件系统,再缩减设备。在xfs文件系统下只能拉伸,先拉伸设备再拉伸文件系统。
2.3.3 移除正在使用的物理卷(pv)
1)查看监控,发现第二个物理卷未被使用,而第一个正在使用:
2)首先将第一个物理卷里面的内容移动到第二个物理卷,然后移除物理卷祖里面的第一个物理卷,最后移除物理卷一:
查看监控,发现刚才正在使用的物理卷一被移除:
2.4 lvm快照
1)快照拍好要挂载之前,先把之前的卸载了,然后再去挂载。此时挂载的是快照,读的是逻辑卷里内容,而实际上写是在快照里面进行:
2)若在操作的时候,不小心删除了挂载着的快照里面的内容,那么就先把该快照卸载,然后把该快照删除,再按照原来的的lvm设备,重新拍一个快照,挂载上使用即可:
3)查看设备情况:
2.5 lvm删除
1)删除时,要保证没有设备在挂载,有挂载时是无法卸掉设备的,卸的时候要从下往上一级一级的卸载:
卸载完后查看监控,也可用使用pvs --units M等命令查看设备是否被删除:
3 vdo(虚拟数据优化)
- kvdo :压缩数据
- uds :优化重复数据
- 注意:建立vdo前要保证硬盘是绝对干净的
查看硬盘情况:
删除硬盘里面的分区,并同步到系统中:
查看硬盘主分区表信息仍然存在:
清空主分区表的信息:
3.1 创建vdo
1)安装vdo,dnf install vdo -y:
2)创建vdo硬盘,vdo create --name=lhy_vdo1 --device=/dev/vdb:
3)查看vdo状态,输入vdo status --name=lhy_vdo1 | less,查看里面的Deduplication :enable表示vdo检测并删除重复数据的功能是开启的;里面的Copression:enable表示vdo数据压缩功能开启:
3.2 使用vdo设备
1)格式化mkfs.xfs -K /dev/mapper/lhy_vdo1 -f:
2)建立一个目录,将该vdo设备挂载上去,mount /dev/mapper/lhy_vdo1 /data:
3.3 测试vdo性能
1)建立一个监控,watch -n 1 “vdostats --human-readable”:
2)复制文件将文件复制成/data里面的file1,cp /usr/lib64/firebox/libxul.so /data/file1;cp /usr/lib64/firebox/libxul.so /data/file2;复制相同的文件到该目录下,查看监控可以看到,该设备的使用情况没有发生变化,但是最后一列的数据优化百分比发生了变化这说明vdo会检测并删除重复数据:
查看监控:
查看监控,占用空间大小i没有改变,但是数据优化百分比发生了变化:
3.4 vdo设备开机自动挂载
1)编辑vim /etc/fstab文件,写入/dev/mapper/lhy_vod1 /data xfs defaults,x-systemd.requires=vdo.service 0 0;defaults后面的意思是可延迟挂载文件系统,一直到vdo服务启动:
3.5 vdo设备的删除
先卸载,然后输入vdo stop --name=lhy_vdo1,再输入vdo remove --name=lhy_vdo1即可删除设备: