Linux磁盘管理之LVM磁盘操作命令怎么使用(linux磁盘管理常用命令)

Linux磁盘管理之LVM磁盘操作命令怎么使用(linux磁盘管理常用命令)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-04-10
文章简介

LVM,LogicalVolumeManger,是linux内核提供的一种逻辑卷管理功能,由内核驱动和应用层工具组成,它是在硬盘的分区基础上,创建了一个逻辑层,可以非常灵活且非常方便的管理存储设

2025阿里云双十一服务器活动

LVM,LogicalVolumeManger,是linux内核提供的一种逻辑卷管理功能,由内核驱动和应用层工具组成,它是在硬盘的分区基础上,创建了一个逻辑层,可以非常灵活且非常方便的管理存储设备。

LVM利用Linux内核的device-mapper功能来实现存储系统的虚拟化(系统分区独立于底层硬件)。通过LVM,可以实现存储空间的抽象化并在上面建立虚拟分区(virtualpartitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,避免为正在使用的磁盘重新分区的麻烦、为调整分区而不得不移动其他分区的不便,它相比传统的分区系统可以更灵活地管理磁盘。

1、物理卷(PV,PhysicalVolume)

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

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

3、逻辑卷(LV,LogicalVolume)

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

4、物理块(PE,PhysicalExtends)

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

下面我画了一张lvm在linux磁盘管理中的位置图:

依次为:disk->partition->PV->VG->LV->fs,也即磁盘->分区->物理卷->卷组->逻辑卷->文件系统。

其创建也是按照这个顺序,下面会详细介绍。

比起传统的硬盘分区管理方式,LVM更富于灵活性:

  • 使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。

  • 可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。

  • 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。

  • 在线进行逻辑卷和卷组的创建、删除、大小调整等操作是可行的。对于LVM上的文件系统,需要重新调整大小,但有些文件系统(例如ext4)支持在线操作。

  • 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。

  • 允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。

  • 支持各种设备映射目标(device-mappertargets),包括透明文件系统加密和缓存常用数据(cachingoffrequentlyuseddata)。这将允许你创建一个包含一个或多个磁盘、并用LUKS加密的系统,使用LVMontop可轻松地管理和调整这些独立的加密卷(例如./,/home,/backup等)并免去开机时多次输入密钥的麻烦。

  • 在系统设置时需要更复杂的额外步骤。

  • Windows系统并不支持LVM,若使用双系统,你将无法在Windows上访问LVM分区。

  • 在配置lvm之前,必须对存储设备进行分区,可以使用fdisk或者parted工具进行,创建分区时注意分区类型的设置(类型为linuxlvm):

  • 如果使用的是MBR,设置分区类型要为8e。

  • Linux磁盘管理之LVM磁盘操作命令怎么使用,linux磁盘管理常用命令

    我虚拟机新加了个磁盘/dev/sdb,下面我们创建一个8G的分区:

    以同样的方式,再创建一个10G的linuxlvm类型的分区:

    ①、通过lvmdiskscan命令列出可被用作pv的设备

    注:如果系统引导程序不支持LVM,则不能置于LVM中。此刻必须创建一个独立的分区并直接格式化后挂载到/boot。已知支持LVM的引导程序只有GRUB。

    从上图可以看到//dev/sda2已经是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用于创建PV,又因为/dev/sda1是boot引导区,所以下面我们可以对/dev/sdb1、/dev/sdb2创建PV

    ②、使用pvcreate命令创建pv

    rootvgcreatevg_namepv1pv2...

    创建卷组vg_fedora_yg,并把pv/dev/sdb1加入该卷组。

    此时,也可以通过pvs查看各个物理卷所在的卷组:

    root#lvcreate-L<lv_size><vg_name>-n<lv_name>

    #将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷

    rootlvcreate-L<lv_size><vg_name>-n<lv_name>

    该逻辑卷创建完后,你就可以通过或来访问它:

    命令lvs、lvscan、lvdisplay查看

    root#lvextend-L<extend_size><lv_path>

    注意:如果扩容的逻辑卷已经挂载到具体文件系统,则需要执行resize2fs或者xfs_growfs(针对xfs文件系统)命令使修改生效,可以通过df-Th或者blkid查看lv所挂载的文件系统类型。

    5、格式化并挂载LV(逻辑卷)

    上面逻辑卷LV创建之后,通常是已经可以在/dev/mapper/或者/dev/vg_name/下面找到该逻辑卷了,如果找不到的话,可以执行如下命令:

    mkfs.<filesystem_type>/dev/mapper/<vg_name>-<lv_name>

    mount/dev/mapper/<vg_name>-<lv_name><mount_point>

    注:挂载点请选择你所新建的逻辑卷(例如:),不要使用逻辑卷所在的实际分区设备(即不要使用:)

    我画了一张图,来展示linuxlvm:

    你可以对照上面内容,理解下linuxlvm的磁盘管理机制。

    ①、图中/dev/sda1是boot引导区,不能用lvm管理,所以直接格式化后挂载到目录/boot下,另外/dev/sdb2也是没有经过lvm直接格式化后挂载到目录的。

    ②、卷组vg_fedora1容量为139G,从其中分配出去了40+5+45=90G,还有49G空闲,这些空闲容量可以lvextend到下面的lv中;也可以再创建个lv,分配出去。

    ③、磁盘设置/dev/sdc还有50G空闲空间未分区,可以分区后使用。

    以上就是Linux磁盘管理之LVM磁盘操作命令怎么使用的详细内容,更多请关注主机测评网其它相关文章!

    标签:
  • web3.0和区块链(区块链的特点)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!