一、传统磁盘管理的问题
当分区大小不够用时无法扩展其大小,只能通过添加磁盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原始数据导入。
二、LVM逻辑卷的基本概念
LVM(Logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷。
作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
PE(physical extend)默认为4MB的基本块
PV(physical volume)硬盘或分区
VG(volume group)由一个或多个PV组成的整体
LV(logical volume)从VG中切割出的空间用于创建文件系统
三、LVM创建过程
1.物理磁盘被格式化为PV,空间被分为一个个PE
2.不通的PV加入同一个VG,不同PV的PE全部进入VG的PE池内
3.LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘
4.LV现在就直接可以格式化后挂载使用了
5.LV的扩充缩减实际上就是增加或减少组成该LV的PE的数量。其过程不丢失原始数据
四、创建LVM
将物理磁盘设备初始化为物理卷
pvcreate /dev/sdb /dev/sdc
创建卷组,并将PV加入卷组中
vgcreate vg0 /dev/sdb /dev/sdc
基于卷组创建逻辑卷
lvcreate -n lv0 -L 5G vg0
为创建好的逻辑卷创建文件系统
mkfs.ext4 /dev/vg0/lv0
将格式化好的逻辑卷挂载使用
mount /dev/vg0/lv0 /mnt/
将挂载信息写入/etc/fstab中重启依然生效
echo "/dev/vg0/lv0 /mnt ext4 defaults 0 0 " >> /etc/fstab
五、查看LVM
查看物理卷信息:pvs、pvdisplay(详细)
查看卷组信息:vgs、vgdisplay(详细)
查看逻辑卷信息:lvs、lvdisplay(详细)
六、删除LVM
删除LV:lvremove /dev/vg0/lv0
删除VG:vgremove vg0
删除PV:pvremove /dev/sdb
七、拉伸一个逻辑卷
逻辑卷的拉伸操作可以在线执行,不需要卸载逻辑卷
保证VG中有足够的空闲空间
vgs、vgdisplay
扩充逻辑卷
lvextend -L +5G /dev/vg0/lv0
查看扩充后LV大小
lvs、lvdisplay
更新文件系统
resize2fs /dev/vg0/lv0
查看更新后的文件系统
df –h
八、拉伸一个卷组
将要添加到VG的硬盘格式化为PV
pvcreate /dev/sdd
将新的PV添加到指定卷组中
vgextend vg0 /dev/sdd
查看扩充后VG大小
vgs、vgdisplay
九、缩小一个逻辑卷
逻辑卷的缩小操作必须离线执行,要卸载逻辑卷
卸载已经挂载的逻辑卷
umount /dev/vg0/lv0
缩小文件系统(原lv0为10G)
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 3G
缩小LV
lvreduce -L -7G /dev/vg0/lv0
查看缩小后的LV
lvs、lvdisplay
挂载
mount /dev/vg0/lv0 /mnt
十、缩小卷组
将一个PV从指定组中移除
vgreduce vg0 /dev/sdd
查看缩小后的卷组大小
vgs、vgdisplay
移除PV
pvremove /dev/sdd
Ubuntu 上使用 LVM 轻松调整分区并制作快照
在Linux中扩展/缩减LVM(第二部分)