传统分区问题:如果分区空间满了,只能重新分区。解决方案:添加一个逻辑(软件)中间层。方案一共有三种(逻辑层):LVM,老牌成熟,可以实现在线动态扩展(不能实现高可用)。stratis,使用瘦文件系统来解决空间浪费的问题。3、vdo1、LVMfs(文件系统filesystem)lv(logicalvolume逻辑卷):每个卷组中可以定义一个或多个逻辑卷,逻辑卷是位于物理分区上的信息集合。vg(volumegroup):卷组是可用物理硬盘的集合,逻辑上可以看作是一个大硬盘。卷组由一个或多个物理卷组成。pv(physicalvolume):物理卷是底层提供的容量。物理卷可以是整个磁盘或磁盘上的分区。PE(PhysicalExtend),我们LVM磁盘管理中PE的默认大小是4M(可以指定大小)。实际上,PE是我们逻辑卷管理的最基本单位(一旦确定,就不能更改)。比如我有一个400M的硬盘,那么我在格式化成PV的时候,实际上是把这个物理硬盘分成了100个PE,因为PE的默认大小是4M。dm:设备映射器,将一个或多个底层块设备组织成一个逻辑设备模块;/dev/dm-#1.1,安装lvm工具yuminstalllvm2commonLVM部署命令function/command物理卷管理卷组管理逻辑卷管理扫描pvscanvgscanlvscancreatepvcreatevgcreatelvcreatedisplaypvdisplayvgdisplaylvdisplaydeletepvremovevgremovelvremoveexpandvgextendlvextendshrinkvgreducelvreduce1.2,创建逻辑卷:1.2.1,环境准备我用的是3A服务器,使用硬盘远程连接两个分区/dev/sdb2/dev/sdb3或者两个硬盘/dev/sdb,/dev/sdc1.2.2,创建pv??(Physicalvolume物理卷)并在分区或磁盘中写入一段元数据(标识当前分区或磁盘是pv)pvcreate/dev/sdb2/dev/sdb3如果报错:Device/dev/sdbexcludedbyafilter.Device/dev/sdcexcludedbyafilter.可能是因为硬盘已经分区了,有分区表可以查看创建pv1,#pvs2,#pvdisplay1.2.3,创建一个VG(Volumegroup卷组)将指定的PV逻辑组合成一个大存储pool-s参数,可以指定PE大小,默认4MB合并两个硬盘将设备添加到fantest卷组,然后查看卷组状态。vgcreatefantest/dev/sdb2/dev/sdb3查看创建的VG1,#vgs2,#vgdisplay1.2.4,创建一个LV(Logicalvolume逻辑卷)并切出一个大约150MB左右的逻辑卷设备,这里需要注意到切割单元的问题。切割逻辑卷时有两种计量单位。-L参数:第一种是基于容量的,使用的参数是-L。例如,使用-L150M创建一个大小为150MB的逻辑卷。-l参数:另一个是基本单位的个数,使用的参数是-l。每个基本单元的大小默认为4MB。例如,使用-l37生成一个大小为37×4MB=148MB的逻辑卷。使用所有空闲空间:lvcreate-nopt-l100%FREEcentosviewLV:1,#lvs2,#lvdisplay1.2.5,格式化LV,创建文件系统格式化生成的逻辑卷,创建文件系统mkfs-txfs/dev/fantest/lv01ormkfs.ext4/dev/fantest/lv011.2.6,mountlv创建挂载lv的目录:mkdir/home/lv01mount/dev/fantest/lv01/home/lv01将挂载信息写入配置文件使其永久echo"/dev/fantest/lv01/home/lv01xfsdefaults00">>/etc/fstab1.3,扩展逻辑卷1.3.1,如果VG还有足够的空间可以分配时,它可以直接分配。只要卷组(VG)中有足够的资源,就可以一直扩展逻辑卷(LV)。1.3.1.1.查看VG1.3.1.2的资源状态。逻辑卷扩展1.3.1.2.1。-l参数:另一种以基本单位个数为单位,使用的参数是-l。每个基本单元的大小默认为4MB。例如使用-l37生成一个逻辑卷,大小为37×4MB=148MB。具体操作与-L参数类似。请参考以下方法。参数是-L。例如,使用-L150M创建一个大小为150MB的逻辑卷。执行以下命令扩展逻辑卷(LV):lvextend-L+100M/dev/fantest/lv01执行以下命令扩展xfs文件系统或在lvextend命令xfs_growfs/home/lv011中添加-r参数。3.2.如果VG没有足够的空间分配,先创建一个PV,扩容卷组(VG),再扩容逻辑卷(LV)。在扩展之前检查资源。创建pvpvcreate/dev/sdb4以扩展VGvgextendfantest/dev/sdb41.4。收缩逻辑卷比扩展逻辑卷更容易丢失数据。因此,在生产环境中进行相应操作时,一定要提前备份好数据。另外,Linux系统规定,在对LVM逻辑卷进行缩容之前,必须先检查文件系统的完整性(当然,这也是为了保证我们的数据安全)。请记住在执行收缩操作之前卸载文件系统。Tips:缩容逻辑卷时,剩余空间必须大于一个PV的大小。1.4.1.带/home测试迁移数据。首先删除/home下的内容备份,卸载/home1.4.2,缩小逻辑卷1.4。.2.1.ext文件系统调整逻辑卷大小为10Gresize2fs/dev/centos/home10Gresize2fs命令用于增加或缩小卸载的“ext2/ext3/ext4”文件系统的大小。1.4.2.2收缩xfs文件系统home逻辑卷大小为3Glvreduce-L3G/dev/centos/home格式化生成的逻辑卷,创建文件系统mkfs.xfs-f/dev/centos/home1.5,在生产环境中删除逻辑卷当你想重新部署LVM或者你不再需要使用LVM时,你需要执行LVM的删除操作。为此,需要提前备份重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备。此顺序不可撤销。1.5.1.取消逻辑卷与目录的挂载关联,删除配置文件中永久有效的设备参数。umount/home/lv01vi/etc/fstab1.5.2,删除逻辑卷设备lvremove/dev/fantest/lv011.5.3,删除卷组,这里只写卷组的名字,设备的绝对路径不是requiredvgremovefantest1.5.4,删除物理卷设备pvremove/dev/sdb3/dev/sdb1.6,逻辑卷snapshotLVM的快照卷功能有两个特点:逻辑卷;?快照卷只有一次有效,一旦执行恢复操作,将立即自动删除。1.6.1.使用-s参数生成快照卷,使用-L参数指定切割大小。另外,还需要在命令lvcreate-L100M-s-nkuaizhao/dev/fantest/fan1.6.2之后写入执行逻辑卷的快照操作,在逻辑卷所在的目录下创建一个100MB的垃圾mounted文件,然后检查快照卷的状态。可以发现存储空间量增加了ddif=/dev/zeroof=/home/lvm_test/test.txtcount=1bs=100M1.6.3,以此来验证快招快照卷的效果,需要对逻辑卷Restore操作进行快照。在此之前记得卸载逻辑卷设备和目录,如果报错umount/home/lvm_test:umount:/home/lvm_test:targetisbusy。(在某些情况下,有关使用该设备的进程的有用信息可以通过lsof(8)或fuser(1)找到)可能是用户占用了目录lvconvert--merge/dev/fantest/kuaizhao1.6.4,快照volume会被自动删除,并且在执行快照操作后刚刚创建逻辑卷设备出来的100MB垃圾文件也被清理了。挂载/dev/fantest/fan/home/lvm_test
