Linux LVM的基本使用

Linux LVM的基本使用

LVM介绍

LVM(Logical Volume Manager),即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

一般来说,物理磁盘或分区之间是分隔的,数据无法跨盘或分区,而各磁盘或分区的大小固定,重新调整比较麻烦。LVM可以将这些底层的物理磁盘或分区整合起来,抽象成容量资源池,以划分成逻辑卷的方式供上层使用,其最主要的功能即是可以在无需关机无需重新格式化(准确地说,原来的部分无需格式化,只格式化新增的部分)的情况下弹性调整逻辑卷的大小。

LVM优点

文件系统可以跨多个磁盘,因此大小不会受物理磁盘的限制。
可以在系统运行状态下动态地扩展文件系统大小。
可以增加新磁盘到 LVM 的存储池中。
可以以镜像的方式冗余重要数据到多个物理磁盘上。
可以很方便地导出整个卷组,并导入到另外一台机器上。

LVM 的限制

在从卷组中移除一个磁盘时必须使用 reducevg,否则会出问题。
当卷组中的一个磁盘损坏时,整个卷组都会受影响。
不能减小文件系统大小(受文件系统类型限制)。
因为加入了额外的操作,存储性能会受影响(使用 Stripe 的情况另当别论)。

LVM的基本组成

1、物理卷 (PV,Physical Volume)
一个可供存储LVM的块设备. 如硬盘分区(MBR或GPT分区)、SAN 的硬盘、RAID 或 LUN,一个回环文件, 一个被内核映射的设备 (例如 dm-crypt),它包含一个特殊的LVM头,它是 LVM 构建的实际硬件或存储系统。

2、卷组 (VG,Volume Group)
卷组是对一个或多个物理卷的集合,并在设备文件系统中显示为 /dev/VG_NAME。

3、逻辑卷 (LV,Logical Volume)
逻辑卷是可供系统使用的最终元设备,它们在卷组中创建和管理,由物理块组成,实际上就是一个虚拟分区,并显示为 /dev/VG_NAME/LV_NAME,通常在其上可以创建文件系统。

4、物理块 (PE,Physical Extends)
一个卷组中最小的连续区域(默认为4 MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。

创建LVM的过程

  1. 如果使用的是磁盘分区,则需先把磁盘分区格式化为lvm格式的分区,如果直接使用磁盘,则不需要格式化这一步
  2. 然后把磁盘分区或者磁盘,创建成PV(通过pvcreate、pvdisplay、pvscan、pvs等命令)
  3. 再把PV创建成VG(通过vgcreate、vgdisplay、vgscan、vgs等命令)
  4. 再把VG创建成LV(通过lvcreate、lvdisplay、lvscan、lvs等命令)

图示

lvm

LVM使用

插入硬盘

首先在宿主机中添加了两块盘sdb(10G) sdc(15G),原来的sda是系统盘

  • 使用fdisk -l查看

image-20230707111516127

  • 使用lsblk查看

image-20230707112114885

使用df -h查看

image-20230707112259990

创建PV

常用命令

pvchange、pvck、pvcreate、pvdisplay、pvmove、pvremove、pvresize、pvs、pvscan

利用/dev/sdb创建pv

这里直接使用整个磁盘/dev/sdb,所以不用格式化为lvm格式

pvcreate /dev/sdb

再次使用lsblkdf -hfdisk -l命令查看,看不到明显变化

image-20230707131226746

使用pvspvdisplaypvscan查看

image-20230707141446401

使用/dev/sdc再创建一个PV

pvcreate /dev/sdc

使用pvspvdisplaypvscan查看,可以看到未使用的PV

image-20230707141830296

创建VG

常用命令

vgcfgbackupvgchangevgconvertvgdisplayvgextendvgimportclonevgmknodesvgremovevgsvgsplitvgcfgrestorevgckvgcreatevgexportvgimportvgmergevgreducevgrenamevgscan

使用/dev/sdb创建vg

vgcreate VG01 /dev/sdb

使用vgsvgdisplayvgscan查看

image-20230707150236216

添加/dev/sdc整个PV到VG01整个VG里

vgextend VG01 /dev/sdc

使用vgsvgdisplayvgscan查看

image-20230707150625531

创建LV

从VG01整个VG中创建出一个LV,大小是5G,名称是LV01

lvcreate -L 5G -n LV01 VG01

使用lvslvdisplaylvscan查看

image-20230707160228449

使用vgsvgdisplayvgscan查看,看到已分配了5G,还可以分配20G

image-20230707160409679

再次使用lsblkdf -hfdisk -l命令查看,可以看到创建的逻辑卷了

image-20230707160812984

把VG01剩余的都分出去,创建出一个LV,大小是20G,名称是LV02

lvcreate -l 100%VG -n LV02 VG01

使用lvslvdisplaylvscan查看

image-20230707161417987

使用vgsvgdisplayvgscan查看,看到VG都分光了

image-20230707161547967

再次使用lsblkdf -hfdisk -l命令查看

image-20230707161828904

使用LV

直接格式化lv,然后挂载

mkfs.ext4 /dev/mapper/VG01-LV01
mkdir -p /home/mnt1
 mount /dev/mapper/VG01-LV01 /home/mnt1/

image-20230707163149402

链接

LVM (Logical Volume Manager)的优势_使用整个磁盘并配置lvm好用吗_arun_yh的博客-CSDN博客

Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令_yg@hunter的博客-CSDN博客

Linux—LVM - 知乎 (zhihu.com)

Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令_yg@hunter的博客-CSDN博客

posted @ 2023-07-10 11:10  南风丶轻语  阅读(1286)  评论(0编辑  收藏  举报