一、lvm
1、简介
是逻辑卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义: “development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
2、原理
PV(Physical Volume,物理卷)
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4M大小的PE(Physical Extent,基本单元)
VG(Volume Group,卷组)
一个或多个物理卷组合而成的整体
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统
二、、创建lvm卷的一般步骤
PE>>PV>>VG>>LV>>格式化>>挂载
我们用watch -n 1 'pvs;echo======;vgs;echo======;lvs;df -h /date' 监控命令来监控
1、新建两个磁盘,改变磁盘id为8e(lvm)
2、将pe物理分区摄制成pv物理卷
pvcreate /dev/vdb1
pvcreate /dev/vdb2
3、创建lvm卷组
vgcreate vg0 /dev/vdb1 使用/dev/vdb1 创建vg卷组 起名为vg0
4、创建lvm逻辑卷
lvcreate -L 20M -n lv0 vg0 创建一个20M大小的名字为lv0的lvm逻辑卷(使用的卷组为vg0)
5、格式化后挂载
mkfs.xfs /dev/vg0/lv0 格式化
mount /dev/vg0/lv0 /date/ 挂载
查看监控图:
三、拉伸逻辑卷或卷组设备
1、拉伸逻辑卷
lvextend -L 50M /dev/vg0/lv0 改变lvm卷的大小
xfs_growfs /dev/vg0/lv0 作改变操作后需要同步文件
2、拉伸卷组
当需要拉伸的逻辑卷大小已经超过了卷组的大小,需要给卷组作拉伸
pvcreate /dev/vdb2 将物理硬盘分区vdb2初始化为物理卷
vgextend vg0 /dev/vdb2 将物理卷加到vg0卷组里
lvextend -L 800M /dev/vg0/lv0 改变lvm卷的大小
xfs_growfs /dev/vg0/lv0 作改变操作后需要同步文件
四、缩减设备
缩减卷组大小
如果需要删除卷组里的设备,必须在挂载之前就将lvm卷格式化为.ext4格式
mkfs.ext4 /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0 扫描
resize2fs /dev/vg0/lv0 resize2fs命令用来增大或收缩未加载的文件系统的大小,如果文件系统是处于挂载状态,那么它只能作扩容
mount /dev/vg0/lv0 /date/ 挂载
lvreduce -L 20M /dev/vg0/lv0 缩减lvm卷占用的空间大小
如果想要删除掉正在使用的物理卷,需要将使用的物理卷同步到另一个物理卷
pvmove /dev/vdb1 /dev/vdb2
vgreduce vg0 /dev/vdb1 将vdb1物理卷从vg0卷组重删除