- 前言
- 一、LVM(逻辑卷管理)
- 1、基本概念
- 2、LVM建立步骤
- 3、LVM拉伸
- 3、LVM缩减
- 4、LVM快照
- 5、LVM删除
- 二、vdo虚拟机数据优化器
- 1、vdo的建立
- 2、vdo设备的使用
- 3、测试vdo设备
- 4、vdo设备开机自动挂载
- 5、vdo设备删除
前言
当系统中数据量超过单块硬盘的存储容量,仅仅通过添加存储硬件是无法解决该问题的,因为当另一个硬件设备挂载到系统中时,原来的将会被卸载,因此达不到扩展存储空间的目的,这时候就需要采用LVM程序来解决这个问题,它能够将不同硬件设备的存储空间连接到一起从而能被系统正常使用,就如同将两个橘子榨成汁融合在一起,两个橘子就相当于两块不同的硬盘,而LVM程序就相当于是榨汁机,两个橘子本身是不能融合在一起的,而经过榨汁机的加工成功融合在了一起。
一、LVM(逻辑卷管理) 1、基本概念
这里所说的逻辑卷可以理解为上面提到的榨汁机,下面介绍几个相关的概念:
| pv | 物理卷 ,被处理过的物理分区 |
|---|---|
| pe | 物理扩展,设定存储最小单元 |
| vg | vg 物理卷组,捆绑pv到一个组中 |
| lv | 逻辑卷,分配最终的使用设备 |
以下建立的lv0即为某个用户可以挂载使用的空间。
(1)建立物理分区并设定分区type为lvm(具体如何设定上篇文章中已有说明,这里不再详细说) (2)pvcreate /dev/设备名 %创建pv (3)vgcreate westosvg -s 2M /dev/设备名 %创建vg,-s设定pe大小位2M (4)lvcreate -L 100M -n westoslv westosvg %创建lvm,-L指定大小 -n指定名称 (5)mkfs.xfs /dev/mapper/westosvg-westoslv %格式化 (6)mount /dev/westosvg/westoslv /指定挂载目录/ %挂载
(1)当vg中的容量充足 lvextend -L 200M /dev/mapper/westosvg-westoslv %拉伸设备 xfs_growfs /指定挂载目录/ %拉伸文件系统 resize2fs /dev/mapper/westosvg-westoslv %当文件系统为ext时使用此命令 (2)当vg中的容量不足 划分分区 pvcreate /dev/设备名 vgextend westosvg /dev/设备名 lvextend -L 2500M /dev/westosvg/westoslv %指定扩展大小 xfs_growfs /指定挂载目录/ %拉伸文件系统
当vg中容量充足:
接下来使文件系统撑满整个储存系统:
当vg中容量不足:
首先先增加一块LVM格式的分区并创建pv:
LVM缩减只能在文件系统是ext4格式下缩减,我们先更改文件系统:
而ext4格式的设备拉伸也和xfs不太一样:
缩减时:
减少vg的个数,来减少空间大小:
但是我们不能直接删除vdb1,因为1正在被占用,可以将vdb1的数据移到vdb2上,再将vdb1删除。
从pv里将vdb1删除:
LVM快照后,操作全在快照上,可保护原始数据不被损坏。
删掉快照中的文件,卸载掉之后删除快照,再建立一个新的快照,发现里面的文件还在,说明我们没有删除母盘的内容:
从后往前删:先删lv,再删vg,再删pv:
1、vdo的建立kvdo ##压缩数据
uds ##优化重复数据
vdo create --name=vdo设备名 --device=/dev/设备名(硬盘) vdo status --name=vdo设备名 | less Deduplication: enabled %vdo检测并删除重复数据的功能时开启的 Compression: enabled %vdo数据压缩功能开启
首先要确保主机中有vdo这个软件,先建立后格式化:
mkfs.xfs -K /dev/mapper/vdo设备名 %格式化vdo设备的文件系统为xfs mkdir /指定目录 %创建一个目录用于挂载vdo设备 mount /dev/mapper/vdo设备名 /指定目录 %挂载vdo设备到指定目录
信息的查看:vdo status --name=vdo设备名 | less
(1)vdostats --human-readable %查看vdo设备信息如下所示 Device Size Used Available Use% Space saving% /dev/mapper/vdo设备名 20.0G 4.0G 16.0G 20% 98% (2)多次复制同一文件到vdo设备中,发现从第二次往后复制时间明显缩短,并且vdo设备中的所占内存基本不增加 cp /xxxx /xxxx /xxxx /vdo设备名/ vdostats --human-readable Device Size Used Available Use% Space saving% /dev/mapper/vdo设备名 20.0G 4.4G 15.6G 22% 2% cp /xxxx /xxxx /xxxx /vdo设备名/ vdostats --human-readable Device Size Used Available Use% Space saving% /dev/mapper/vdo设备名 20.0G 4.5G 15.5G 22% 50
对设备的存储状态进行查看:
我们往/data中传入两个500M的文件,发现只占用了500M,说明重复的文件被压缩了。
修改/etc/fstab:
vdo remove --name=vdo设备名 %删除vdo设备



