一、LVM简介
LVM2(LogicalVolume Manage,Version2):它是Linux环境下对磁盘分区进行管理的一种机制,将一个或多个底层块设备组织成一个逻辑设备。通过LVM管理员可以轻松管理磁盘分区,使用LVM与传统的分区方法相比有很多的优势,如:容量的分配更加灵活、逻辑卷的扩展和缩减更加方便、使用snapshot(快照)来备份数据也非常方便。通过本文你可以快速了解LVM2的使用方法。
二、LVM2使用详解

(该图片来源于网络)
PV:Physical Volume 物理卷
VP:Volume Group 卷组
LV:Logical Volume 逻辑卷
操作环境:通过fdisk命令已创建了3个大小分别为10G的磁盘分区/dev/sda5、/dev/sda6和/dev/sda7。
1.PV管理工具
pvcreate /dev/DEVICE: 创建PV

pvs:显示简要PV信息

pvdisplay:显示PV的详细信息(在命令后不输入具体PV名默认显示所有PV详细信息)

pvremovePhysicalVolumeName:删除PV

2.VG管理工具
vgcreate -s #[指定PE大小] VolumeGroupName PhysicalDevicePath:创建VG

vgs:显示简要VG信息

vgdisplay:显示VG的详细信息(在命令后不输入具体VG名默认显示所有VG详细信息)

vgextend VolumeGroupName PhysicalDevicePath:扩展VG大小


vgreduce VolumeGroupName PhysicalDevicePath:缩减VG大小

注:在缩减VG之前需要先确认在缩减后VG的容量是否足够存储VG现有的数据。然后做pvmove操作,把存储在要移除的PV上的数据转移到该VG其它PV上,确保数据不会丢失。
vgremove VolumeGroupName:删除VG
3.lv管理工具:
lvcreate -L #[指定LV大小] -n LVNAME VolumeGroup:创建LV

lvs:显示简要LV信息

lvdisplay:显示LV的详细信息(在命令后不输入具体LV名默认显示所有LV详细信息)

lvremove /dev/VG_NAME/LV_NAME:删除LV

扩展逻辑卷:
lvextend -L #[+扩大多少容量或扩展到多少容量] /dev/VG_NAME/LV_NAME

resize2fs /dev/VG_NAME/LV_NAME:扩展完成后需要对该LV文件系统重新定义

缩减逻辑卷:
注:在缩减LV前需要先确认在缩减后LV的容量是否足够存储LV现有的数据,否则会造成数据丢失或损坏。
umount /dev/VG_NAME/LV_NAME:先确保需要缩减的LV解除挂载
e2fsck -f /dev/VG_NAME/LV_NAME:强制对该LV进行文件系统检查

resize2fs /dev/VG_NAME/LV_NAME [缩减后LV的容量大小]:对该LV文件系统重新定义

lvreduce -L #[-缩减多少容量或缩减到多少容量] /dev/VG_NAME/LV_NAME

mount:挂载
4.快照:snapshot
lvcreate -L #[需要建立快照的容量] -p r -s -n snapshot_name /dev/VG_NAME/LV_NAME

