VPS测评 VPS推荐 VPS优惠
Linux运维

linux的逻辑卷管理器LVM

LVM介绍

卷组和逻辑卷

LVM: Logical Volume Manager 可以允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小,允许在多个物理设备间重新组织文件系统。

LVM可以弹性的更改LVM的容量。

通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量。

逻辑卷的实现过程

逻辑卷的实现过程

  1. 将设备指定为物理卷(PV)
  2. 用一个或者多个物理卷来创建一个卷组,物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
  3. 在物理卷上创建的逻辑卷, 由物理区域(PE)组成
  4. 可以在逻辑卷上创建文件系统并挂载

逻辑卷对应的设备名

/dev/dm-#
dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块

设备的软链接

/dev/mapper/VG_NAME-LV_NAME
/dev/VG_NAME/LV_NAME

实现逻辑卷

相关命令工具都来自lvm2包

物理卷管理工具

显示物理卷

pvs
pvdisplay

创建物理卷,可以是分区也可以是硬盘

pvcreate /dev/DEVICE

删除物理卷

pvremove /dev/DEVICE

卷组管理工具

显示卷组

vgs
vgdisplay

创建卷组,-s指定PE的大小,默认4M

vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

管理卷组

vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

删除卷组

vgremove #需要先删除物理卷

逻辑卷管理工具

显示逻辑卷

lvs
lvdisplay

创建逻辑卷,-L指定大小,-l指定PE个数或百分比,两种方法都可以

lvcreate -L #[mMgGtT] -n NAME VolumeGroup

例子

lvcreate -l 60%VG -n lv1 vg0
lvcreate -l 100%FREE -n lv2 vg0
lvcreate -l 256 -n lv3 vg0
lvcreate -L 700M -n lv4 vg0

删除逻辑卷

lvremove /dev/VG_NAME/LV_NAME

扩展和缩减逻辑卷

在线扩展逻辑卷

先扩展逻辑卷再扩展文件系统

lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
#ext文件系统
resize2fs /dev/VG_NAME/LV_NAME 
#xfs文件系统
xfs_growfs MOUNTPOINT

同时扩展逻辑卷和文件系统(两种方法二选一)

lvextend -r -L 1G /dev/VG_NAME/LV_NAME

缩减逻辑卷(需要先取消挂载)

注意:缩减有数据损坏的风险,建议先备份再缩减,xfs文件系统不支持缩减

取消挂载

umount /dev/VG_NAME/LV_NAME

检查文件系统

e2fsck -f /dev/VG_NAME/LV_NAME

缩减文件系统,假设缩减到1G

resize2fs /dev/VG_NAME/LV_NAME 1G

缩减逻辑卷

lvreduce -L 1G /dev/VG_NAME/LV_NAME

重新挂载

mount /dev/VG_NAME/LV_NAME mountpoint

跨主机迁移卷组

  1. 在旧系统中,umount 所有卷组上的逻辑卷
  2. 禁用卷组
   vgchange -a n vg0
   lvdisplay
  1. 导出卷组
   vgexport vg0
   pvscan
   vgdisplay
  1. 拆下旧硬盘在目标计算机上,并导入卷组
   vgimport vg0   
  1. 启用卷组
   vgchange -a y vg0
  1. 挂载所有卷组上的逻辑卷

拆除指定的PV存储设备

先移走数据,需要其他的物理卷的剩余空间足够存放被移走的数据

pvmove /dev/DEVICE

数据迁移完后,把物理卷从卷组vg0中移除

vgreduce vg0 /dev/DEVICE

删除物理卷

pvremove /dev/DEVICE

拆除设备

逻辑卷快照

快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝,对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适的选择。快照只有在它们和原来的逻辑卷不同时才会消耗空间,建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照。

逻辑卷快照工作原理

  • 在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
  • 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
  • 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
  • 由于快照区与原本的LV共用很多PE的区块,因此快照与被快照的LV必须在同一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量

快照特点

  • 备份速度快,瞬间完
  • 应用场景是测试环境,不能完成代替备份
  • 快照后,逻辑卷的修改速度会一定有影响

实现逻辑卷快照

为现有逻辑卷data创建快照,注意ext4必须使用-p r 实现只读

lvcreate -l 64 -s -n data-snapshot /dev/vg0/data

挂载快照,xfs注意要使用-o ro实现只读,访止快照被修改

mkdir -p /mnt/snap
mount -o ro,nouuid /dev/vg0/data-snapshot /mnt/snap

恢复快照

umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert --merge /dev/vg0/data-snapshot

删除快照

umount /mnt/snap
lvremove /dev/vg0/data-snapshot
未经允许不得转载:青蛙主机 » linux的逻辑卷管理器LVM

VPS相关常用工具

PING测试工具自用毛子接码站