传统磁盘管理的问题
当分区大小不够用时无法扩展其大小,只能通过添加硬盘、创建新的分区来扩充空间,但是新添加的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统,只能让现有磁盘下线,换上新的磁盘之后,再将原始数据导入。
LVM基本原理
lvm(logical volume manager)逻辑卷管理通过底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据,新加入的硬盘也不会改变现有的上层的逻辑卷。
作为一种动态的磁盘管理机制,逻辑卷技术大大的提高了磁盘管理的灵活性。
PE(physical extend)
逻辑卷空间最基本单位,默认是4M大小
PV(physical volume)
物理磁盘被格式化为PV,空间被分为一个个PE
VG(volume group)
卷组,可以理解为空间,用来装PE的,可以把一个或者多个PE放在VE中,当创建好VG之后,就可以在 dev下面就会多出来一个以卷组为命名的文件夹,/dev/vgname
LV(logical volume)
LV 是基于PE创建,大小是PE的整数倍。当创建好LV之后,就可以在 dev/vgname下面就会多出来一个以卷组为命名的文件夹,/dev/vgname/lvname(最终),可以格式化再挂载。 LV的扩充缩减实际上就是增加或者减少组成该LV的PE的数量,其过程不会丢失原始数据。
把底层磁盘格式化为物理卷,分割为 PE,组合好之后放入至VG,之后可以指定多少PE至LV
每一个逻辑卷空间,可以来自不同的物理硬盘,因为组成VG的PE来自不同的物理硬盘。
LVM基本操作
1.将物理卷磁盘设备初始化为物理卷
pvcreate /dev/sdb /dev/sdc
2.创建卷组,并将PV加入到卷组中
vgcreate linux /dev/sdb /dev/sdc
3.基于卷组创建逻辑卷
lvcreate -n mylv -L 2G linux
4.为创建好的逻辑卷创建文件系统
mkfs.ext4 /dev/linuv/mylv
5.将格式化好的逻辑卷挂载使用。
mount /dev/linux mylv /mnt
删除LVM
1.删除LV
lvremove /dev/linux/mylv
2.删除VG
vgremove linux
3.删除物理卷
pvremove /dev/sdb
拉伸一个逻辑卷
1.保证VG中有足够的空闲空间
vgdisplay
2.扩充逻辑卷
lvextend -L +1G /dev/linux/mylv
3.查看扩充后LV大小
lvdisplay
4.更新文件系统
resize2fs /dev/linux/mylv
5.查看更新后的文件系统
df -h
拉伸一个卷组
1.将要添加到VG的硬盘格式化为PV
pvcreate /dev/sdd
2.将新的PV添加到指定卷组中
vgextend linux /dev/sdd
3.查看扩充后的VG大小
vgdisplay
缩小一个逻辑卷 (必须要离线,umount),尽量不要缩
1.挂载已经存在的逻辑卷
umount /dev/linux/mylv
2.缩小文件系统 (会提示需要运行fsck检查文件系统)
resize2fs /dev/linux/mylv 1G
3.缩小LV
lvreduce -L -1G /dev/linux/mylv
4.查看缩小后的LV
lvdisplay
5..挂载
mount /dev/linux/mylv /mnt
缩小卷组 --需要拿掉一个硬盘
1.将一个PV从定制卷组中移除
vgreduce linux /dev/sdd
2.查看缩小后的卷组大小
vgdisplay