1、什么是LVM
什么是LVM?LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的 分区加入其中,这样可以事项一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性,使用普通的磁盘分区,当一个磁盘的分区空间不够使用的时候,可 能就会带来很大的麻烦。使用LVM在一定程度上就可以解决普通磁盘分区带来的问题。
2、为什么使用lvm
LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。
小系统使用 LVM 的益处 ?
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用;
2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中;或采用符号连接的方式使用其它分区的空间。
3.如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。
当采用LVM时,情况有所不同:
1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求;
3.文件系统建立在LVM上,可以跨分区,方便使用;
大系统使用 LVM 的益处 ?
在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。 在一个有很多不同容量硬盘的大型系统中,对不同的用户的空间分配是一个技巧性的工作,要在用户需求与实际可用空间中寻求平衡。用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁 移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的情况下。把用户数据从旧硬盘转移到新硬盘空间中去。
3、名词解释
1、PV
PV(Physical Volume):物理卷,处于LVM最底层,可以是物理硬盘或者分区。
2、PP
PP(Physical Extend):物理区域,PV中可以用于分配的最小存储单元,可以在创建PV的时候制定,如1M, 2M, 4M, 8M, 32M, 64M…组成同一VG中所有PV的PE大小应该相同。
3、VG
VG(Volume Group):卷组,建立在PV之上,可以含有一个到多个PV。
4、LV
LV(Logical Volume):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。
4、创建LVM
1、准备工作
1.目前分区
2.添加2块硬盘
3.给2块硬盘分别分2个区
注:注意将分区id修改为8e
每个区分了5G
注:
First Sector 表示起始扇区
默认从第2048块扇区开始是因为,由于EFI的兴起,要给EFI 代码留磁盘最开始的1M空间.
那留1M空间为什么要从第2048块扇区开始?
因为每块扇区有512字节 [现在新硬盘扇区每块为4096字节(4KByte)]
2048*512Byte = 1024 KByte = 1 Mbyte
4、用fdisk –l 命令查看分区表
2、创建PV
建好分区后,用pvcreate命令在新建的分区上创建PV
先安装
lvm2,yum -y install lvm2
把上面创建的4个分区创建了 4个PV
pvcreate /dev/sdb1 /dev/sdb2 /dev/sdc1 /dev/sdc2
查看pv基奔信息
pvscan
查看PV详细信息
pvdisplay
3、创建vg
使用vgcreate命令创建一个名为vgdata的VG,并且将所有的新建的PV加入vgdata
把4个PV创建到一个vg中 vgcreate vgdata /dev/sdb1 /dev/sdb2 /dev/sdc1 /dev/sdc2
如果要把新的pv加入到vg中可以使用
vgextend vgdata newpv
4、创建LV
用lvcreate –L 11G –n lv01 vgdata 命令从VG vgdata中创建一个大小为11G的名为lv001的LV
lvcreate -L 11G -n lv001 vgdata
我们创建的第一个LV所在的目录为 /dev/vgdata/lv001
5、格式化LV
使用mkfs /dev/vgdata/lv01命令格式化lv01
mkfs.xfs /dev/vgdata/lv001
6、挂载 LV
创建/data,把/dev/vgdata/lv001挂载上去
mkdir /data
mount /dev/vgdata/lv001 /data
挂载好后,可以正常使用了
5、扩容LVM
1、查看vg情況
vgs
2、从vg中扩容
1、 把vg中的剩余空间都添加到当前的lv中
lvextend -l 100%Free -n lv001 vgdata
2、逻辑卷扩容,增加1G的空间
lvextend -L +1G lv001
3、增加25个LE就是100M
lvextend -l +25 lv001
3、调整LV文件系统
查看你的逻辑卷是什么文件系统类型,如果是xfs文件系统,使用xfs_growfs命令扩展容量
xfs_growfs /dev/vgdata/lv001
查看你的逻辑卷是什么文件系统类型,如果是ext4文件系统,使用resize2fs命令扩展容量:
resize2fs /dev/vgdata/lv001
6、开机自动挂载!
设置开机自动挂载!也可以通过UUID来指定设备
编辑 /etc/fstab 通过 blkid 查看设备的 UUID
blkid
输出如下:
/dev/vda1: SEC_TYPE="msdos" UUID="1E62-2A35" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="dd9667d6-3625-4fd7-adb8-bd19be76841d"
/dev/vda2: UUID="21e62a57-7744-4066-bb16-b7524f6df7de" TYPE="xfs" PARTUUID="df3e4992-bc1e-4868-8d30-ba4bd338a687"
/dev/vdb: UUID="2023-04-26-02-33-50-00" LABEL="cidata" TYPE="iso9660