LVM 是 Logical Volume Manager(逻辑卷管理)的简写,与 LVM 相比,普通的分区管理方式在逻辑分区划分好之后,无法改变其大小、不能跨越分区存放、不能对空间在线伸缩。

简介

  • LVM 是 Logical Volume Manager(逻辑卷管理)的简写,与 LVM 相比,普通的分区管理方式在逻辑分区划分好之后,无法改变其大小、不能跨越分区存放、不能对空间在线伸缩。
  • LVM Logical Volume Manager(逻辑卷管理)功能的出现,很好的解决了这些问题,LVM 可以将多个物理设备和磁盘分区组成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,系统无需停机的情况下动态对分区进行 扩展 和 压缩 空间的大小。

“LV Logical Volume (逻辑卷) 通过的组成 

    1. Physical Volume (PV) 物理卷:将物理磁盘通过 pvcreate 初始化的卷
    1. Logical Group(VG) 卷组:“Logical Group(VG)” 是一个或多个物理设备的集合
    1. Logical Volume (LV) 逻辑卷:(Logical Volume) 是可以被系统或应用程序使用的虚拟块设备
    1. Physical Extent (PE) 物理扩展:可分配给逻辑卷的物理卷中最小的大小(默认为4 MiB)

描述

  • Logical Group(VG) 卷组: “Logical Group(VG)” 是一个或多个物理设备的集合,每个物理磁盘设备都称为 “Physical Volume (PV) 物理卷”。

  • Logical Volume (LV) 逻辑卷:(Logical Volume) 是可以被系统或应用程序使用的虚拟块设备。LV卷中的每个数据块都存储在 “VG(卷组)” 中的一个或多个PV(物理卷)上,这是根据内核中设备映射器(DM)实现的算法实现的。

  • Physical Volume (PV) 物理卷: 硬盘上的分区(甚至磁盘本身或回送文件),您可以在该分区上设置卷组。它有一个特殊的标头,并分为物理区段。把物理卷看作是用来构建硬盘的大构件。

  • Physical Extent (PE) 物理扩展:可分配给逻辑卷的物理卷中最小的大小(默认为4 MiB)。把物理区段看作可以分配给任何分区的磁盘的一部分。

相关命令

命令 命令描述
pvchange Change attributes of a Physical Volume.
pvck Check Physical Volume metadata.
pvcreate Initialize a disk or partition for use by LVM.
pvdisplay Display attributes of a Physical Volume.
pvmove Move Physical Extents.
pvremove Remove a Physical Volume.
pvresize Resize a disk or partition in use by LVM2.
pvs Report information about Physical Volumes.
pvscan Scan all disks for Physical Volumes.
vgcfgbackup Backup Volume Group descriptor area.
vgcfgrestore Restore Volume Group descriptor area.
vgchange Change attributes of a Volume Group.
vgck Check Volume Group metadata.
vgconvert Convert Volume Group metadata format.
vgcreate Create a Volume Group.
vgdisplay Display attributes of Volume Groups.
vgexport Make volume Groups unknown to the system.
vgextend Add Physical Volumes to a Volume Group.
vgimport Make exported Volume Groups known to the system.
vgimportclone Import and rename duplicated Volume Group (e.g. a hardware snapshot).
vgmerge Merge two Volume Groups.
vgmknodes Recreate Volume Group directory and Logical Volume special files
vgreduce Reduce a Volume Group by removing one or more Physical Volumes.
vgremove Remove a Volume Group.
vgrename Rename a Volume Group.
vgs Report information about Volume Groups.
vgscan Scan all disks for Volume Groups and rebuild caches.
vgsplit Split a Volume Group into two, moving any logical volumes from one Volume Group to another by moving entire Physical Volumes.
lvchange Change attributes of a Logical Volume.
lvconvert Convert a Logical Volume from linear to mirror or snapshot.
lvcreate Create a Logical Volume in an existing Volume Group.
lvdisplay Display attributes of a Logical Volume.
lvextend Extend the size of a Logical Volume.
lvmconfig Display the configuration information after loading lvm.conf(5) and any other configuration files.
lvmdiskscan Scan for all devices visible to LVM2.
lvmdump Create lvm2 information dumps for diagnostic purposes.
lvreduce Reduce the size of a Logical Volume.
lvremove Remove a Logical Volume.
lvrename Rename a Logical Volume.
lvresize Resize a Logical Volume.
lvs Report information about Logical Volumes.
lvscan Scan (all disks) for Logical Volumes.

FILES

  • /etc/lvm/lvm.conf
  • /etc/lvm/lvmlocal.conf
  • $HOME/.lvm_history

SEE ALSO

  • lvm(8) lvm.conf(5) lvmconfig(8)

  • pvchange(8) pvck(8) pvcreate(8) pvdisplay(8) pvmove(8) pvremove(8) pvresize(8) pvs(8) pvscan(8)

  • vgcfgbackup(8) vgcfgrestore(8) vgchange(8) vgck(8) vgcreate(8) vgconvert(8) vgdisplay(8) vgexport(8) vgextend(8)

  • vgimport(8) vgimportclone(8) vgmerge(8) vgmknodes(8) vgreduce(8) vgremove(8)

  • vgrename(8) vgs(8) vgscan(8) vgsplit(8)

  • lvcreate(8) lvchange(8) lvconvert(8) lvdisplay(8) lvextend(8) lvreduce(8) lvremove(8) lvrename(8) lvresize(8) lvs(8) lvscan(8)

  • lvm-fullreport(8) lvm-lvpoll(8) lvm2-activation-generator(8) blkdeactivate(8) lvmdump(8)

  • dmeventd(8) lvmetad(8) lvmpolld(8) lvmlockd(8) lvmlockctl(8) clvmd(8) cmirrord(8) lvmdbusd(8)

  • lvmsystemid(7) lvmreport(7) lvmraid(7) lvmthin(7) lvmcache(7)

  • dmsetup(8), dmstats(8), readline(3)

示例 创建 vg 逻辑卷组

  • parted 初始化设备分区表类型为 GPT

  • pvcreate 初始化 PV 卷

  • vgcreate 创建 VG 逻辑卷组

  • lvcreate 创建 LV 逻辑卷

  • mkfs.xfs 格式化指定的 LV 逻辑卷为 XFS 文件系统

示例 扩容 LV 逻辑卷

  • vgextend 添加物理盘到LVM卷组

  • lvextend 从VG卷组中添加空间到LV逻辑卷

!

  • 在线扩容,LV 逻辑卷 和 挂载点 的实际空间并不会变更,这是应为 LV 逻辑 卷的文件系统空间并为发生变化,也就是说需要通过对 LV 逻辑卷 进行文件系统的填充
  • 对于不同的文件系统,有不同的填充方式。
  • XFS 的文件系统使用 xfs_growfs 命令进行文件系统的填充。
  • 对于 EXT4 文件系 统请使用 resize2fs: resize2fs /dev/VG_name/LV_name

示例 缩减 LV 逻辑卷为 EXT4 的文件系统

  • 缩减 LV 逻辑卷为 EXT4 的文件系统

!

  • 对于缩减 LV 逻辑卷 必须先缩减文件系统,再缩减 LV 逻辑卷
  • 对于 XFS 文件系统,目前还不支持缩减文件系统,强制缩减文件系统将导致系统损坏
  • 对于 EXT4 文件系统,请严格按照下面所示进行
    1. 必选先缩减文件系统
    1. 在缩减 LV 逻辑卷,且在缩减 LV逻辑卷 时,缩减的空间不能超过缩减文件系统的空间

发表评论