day26学习笔记(4月8日)
lvm逻辑卷管理
lvm是什么
LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以事项一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
基于分区创建lvm
- 硬盘的
多个分区
由lvm统一为卷组
,可以弹性的调整卷组的大小,充分利用硬盘容量 - 文件系统创建在逻辑卷上,逻辑卷可以根据需求改变大小(卷组总容量范围内)
基于硬盘创建lvm
- 多块硬盘做成逻辑卷,将整个逻辑卷同意管理,可以动态对分区进行扩缩空间容量
图解lvm工作流程
LVM和raid图解
LVM原理名词
- PP(Physical Parttion):物理分区,LVM建立在物理分区之上
- PV(Physical Volume):物理卷,处于LVM最底层,一般一个PV对应一个PP
- PE(physical Extends):物理区域,PV中可以用于分配的最小存储单元,同一个VG中所有的PV的PE大小相同,如1M、2M
- VG(Volume Group):卷组,建立在PV之上,可以划分多个PV
- LE(Logical Extends):逻辑扩展单元,组成LV的基本单元,一个LE对应一个PE
- LV(Logical Volume):逻辑卷,建立在VG之上,是一个可以动态改变大小的分区
LVM重点概念
- 物理卷(Physical Volume,PV)
物理卷是底层真正提供容量的,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。
- 卷组(Volume Group, VG)
卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。 一个LVM系统中可以只有一个卷组,也可以包含多个卷组。
- 逻辑卷(Logical Volume, LV)
逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。
- 物理区域 PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4 MB。 PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小是一致的。 4MB=4096kb=4096kb/4kb=1024个block
说明:
1、硬盘读取数据最小单位1个扇区512字节
2、操作读取数据最小单位1个数据块=8*512字节=4096字节=4KB
3、lvm寻址最小单位1个PE=4MB
LVM扩容原理
LVM是通过交换PE的方式,达到弹性变更文件系统大小的
- 剔除原本LV中的PE,就可以减少LV的容量
- 把其他PE添加到LV,就可以扩容LV容量
- 一般默认PE大小是4M,LVM最多有65534个PE,所以LVM最大的VG是256G单位
- PE是LVM最小的存存储单位,类似文件系统的block单位,因此PE大小影响VG容量
- LV如同/dev/sd[a-z]的分区概念。
LVM优点
- 文件系统可以跨多个磁盘,大小不会受到磁盘限制
- 可在系统运行的情况下,动态扩展文件系统大小
- 可以增加新的磁盘到LVM的存储池中
LVM使用流程
- 物理分区阶段:将物理磁盘
fdisk
格式化修改System ID为LVM标记(8e) - PV阶段:通过
pvcreate
、pvdisplay
将Linux分区处理为物理卷PV - VG阶段:接下来通过
vgcreate
、vgdisplay
将创建好的物理卷PV处理为卷组VG - LV阶段:通过
lvcreate
将卷组分成若干个逻辑卷LV - 开始使用:通过
mkfs
对LV格式化,最后挂载LV使用
LVM管理命令
前提是需要安装lvm命令
yum install lvm2 -y
-
pv(物理卷管理)
命令 | 功能 |
---|---|
pvcreate | 创建物理卷 |
pvscan | 查看物理卷信息 |
pvdisplay | 查看各个物理卷的详细参数 |
pvremove | 删除物理卷 |
-
vg(卷组管理)
命令 | 功能 |
---|---|
vgcreate | 创建卷组 |
vgscan | 查看卷组信息 |
vgdisplay | 查看卷组的详细参数 |
vgreduce | 缩小卷组,把物理卷从卷组中删除 |
vgextend | 扩展卷组,把某个物理卷添加到卷组中 |
vgremove | 删除卷组 |
-
lv(逻辑卷管理)
命令 | 功能 |
---|---|
lvcreate | 创建逻辑卷 |
lvscan | 查看逻辑卷信息 |
lvdisplay | 查看逻辑卷的具体参数 |
lvextend | 增大逻辑卷大小 |
lvreduce | 减小逻辑卷大小 |
lvremove | 删除逻辑卷 |
lvcreate
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(LE个数)
-n 后面跟逻辑卷名
-s 创建快照
LVM动态扩容(实操)
需求:
- 使用2块硬盘,容量分别是30G, 30G
实践使用虚拟机添加硬盘
开机使用lsblk命令查看
- 创建卷组,名字是vg0224
yum install lvm2 -y
pvcreate /dev/sdb /dev/sdc
pvs #查看pv数量
vgcreate vg0224 /dev/sdb /dev/sdc
vgs #查看vg卷组
- 创建3个Iv,名字依次是0224-1v1,0224-1v2,0224-Iv3,容量分别是10G, 15G, 25G. 3个逻辑卷,挂载点分别是/test1, /test2 /test3, 文件系统分别是xfs. xfs. ext4.要求分别查看3个逻辑卷的文件系统信息
-n:指定逻辑卷的名字
-L:指定逻辑卷的大小
-l:指定逻辑卷的大小
举例:
-l 100 100个PE,每个PE大小默认4M,故逻辑卷大小为400M
-l 50%free 卷组剩余空间的50%
lvcreate -n 0224-1v1 -L 10G vg0224
lvcreate -n 0224-1v2 -L 15G vg0224
lvcreate -n 0224-1v3 -L 125G vg0224
lvs #查看逻辑卷分区情况
#添加文件系统
mkfs.xfs /dev/vg0224/0224-1v1
mkfs.xfs /dev/vg0224/0224-1v2
mkfs.ext4 /dev/vg0224/0224-1v3
#创建文件夹进行挂载动作
mkdir -p /test{1..3}
mount /dev/vg0224/0224-1v1 /test1
mount /dev/vg0224/0224-1v2 /test2
mount /dev/vg0224/0224-1v3 /test3
- 要求分别查看3个逻辑卷文件系统信息
#xfs文件系统用xfs_info命令
xfs_info /dev/vg0224/0224-1v1
xfs_info /dev/vg0224/0224-1v2
#ext4文件系统用dumpe2fs
dumpe2fs /dev/vg0224/0224-1v3 |grep -Ei '^inode|^block'
- 要求扩容0224-lv1,扩大到30G容量
#增加一块硬盘
#添加至卷组
pvcreat /dev/sdd
vgextend vg0224 /dev/sdd
vgs
#动态扩容
lvextend -L +20G /dev/vg0224/0224-1v1
#磁盘已经扩容成功,但是系统还未同步信息
#使用命令,同步文件系统,只针对xfs系统
xfs_growfs /dev/vg0224/0224-1v1
- 要求扩容0224-1v3,扩容到,也扩客到30G
#动态扩容
lvextend -L +5G /dev/vg0224/0224-1v3
#磁盘已经扩容成功,但是系统还未同步信息
#使用命令,同步文件系统,只针对xfs系统
resize2fs /dev/vg0224/0224-1v3
#查看磁盘挂载情况及文件系统
df -Th
删除lvm
1、取消挂载
umount /test1
umount /test2
umount /test3
2、删除逻辑卷lv
lvremove /dev/vg0224/0224-1v1
lvremove /dev/vg0224/0224-1v2
lvremove /dev/vg0224/0224-1v3
3、删除卷组
vgremove /dev/vg0224
4、删除物理卷
pvremove /dev/sdb /dev/sdc /dev/sdd
5、删除相关配置文件如开机自动挂载