Think Deep,Work Lean

linux之lvm讲解

Posted on By zack

前言

简单来说lvm就是linux下磁盘分区,将物理硬盘分成逻辑分区供linux使用,优点是方便扩容</p>

参考 参考 参考

概念

几个概念要清楚:

  • 物理存储介质: 如 /dev/sda /dev/hda1等,是存储系统最底层的存储单元
  • PE: 每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小是可设置的,默认为4MB。
  • PV: Pythical Volume 物理卷,就是磁盘、硬盘分区,或是RAID,基本存储逻辑块,但和基本物理存储介质(如分区、磁盘等)比较,却包含和LVM相关的管理参数
  • VG:Voume Group 卷组,LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。
  • LV: Logica Volume 逻辑卷

原理

(1)物理磁盘被格式化为PV,空间被划分为一个个的PE</p> (2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内</p> (3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘</p> (4)LV现在就直接可以格式化后挂载使用了</p> (5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据</p>

操作

查看

pes、pedisplay                查看pe的大小(pes==pescan)

pvs、pvdisplay                查看物理卷

vgs、vgdisplay、              查看卷组

lvs、lvdisplay、              查看逻辑卷

fdisk -L                     查看磁盘分区

创建:

pvcreate 设备路径               创建物理卷
vgcreate 名字 pv路径            创建卷组

lvcreate -n 名字 -L 大小 vg名   创建逻辑卷
格式化:mkfs.ext4 lv完整路径               格式化逻辑卷(mkfs.文件系统格式或-t 文件系统格式)
挂载:mount  lv完整路径  挂载点          挂载使用(可以使用/etc/fstab或autofs)

逻辑卷删除:

  1. 卸载:umount
  2. 删lv:lvremove lv完整路径
  3. 删vg:vgremove vg名
  4. 删PV:pvremove 设备完整路径 去硬盘

逻辑卷扩展:

  1. 扩展pv:相当于创建pv
  2. 扩展vg: vgextend vg名 新增pv路径
  3. 扩展lv: lvextend -L +扩展量 lv完整名
  4. 刷新文件系统:resize2fs lv完整路径 注意:灵活运用,看实际情况,注意顺序 (支持在线操作)

逻辑卷的缩小:

  1. 首先进行卸载 umount 检查文件系统:e2fsck -f lv完整路径
  2. 减少文件系统:resize2fs lv完整路径 减少到的大小
  3. 减少lv卷大小:lvreduce -L -减少量的大小 lv的完整路径
  4. 挂载使用

减小需谨慎,文件系统的减小后大小一定要和lv卷最终大小相等