Linux中LVM逻辑盘卷管理

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
云原生网关 MSE Higress,422元/月
函数计算FC,每月15万CU 3个月
简介: LVM (Logical Volume Manager) 是Linux系统中的一种存储管理工具,它将物理硬盘组织成物理卷(PV),然后将物理卷组合成卷组(VG),最后从卷组中创建逻辑卷(LV)。逻辑卷可以按需调整大小,跨越多个物理卷,提供更高的灵活性和可扩展性。LVM的主要优点包括:

LVM的组成

  1. 物理卷(PV)
    物理卷是LVM管理的最小存储单元,可以是整个磁盘、磁盘分区或者RAID卷。物理卷用于存储逻辑卷的数据。
  2. 卷组( VG)
    卷组是由一个或多个物理卷组成的逻辑存储池。在卷组中,所有物理卷的空间都被合并在一起,供逻辑卷使用。
  3. 逻辑卷( LV)
    逻辑卷是LVM提供给用户使用的虚拟存储空间,可以被格式化为文件系统并挂载使用。逻辑卷的大小可以根据需要进行调整,并且可以跨越多个物理卷。
    LVM的优点
    灵活性:LVM可以将多个物理磁盘的空间聚合成一个虚拟的存储池,从而提供更大的灵活性。
    可扩展性:LVM可以根据需要动态扩充逻辑卷的大小,从而满足不断增长的存储需求。
    高可用性:LVM支持RAID技术,可以提高数据的安全性。
    易管理性:LVM提供了一系列的管理工具,可以简化磁盘管理的复杂性。


特性 LVM的 传统方式硬盘
灵活性 可以将多个物理磁盘的空间聚合成一个虚拟的存储池,从而提供更大的灵活性 每个物理磁盘只能独立使用
可扩展性 可以根据需要动态扩充逻辑卷的大小,从而满足不断增长的存储需求 需要预先规划好分区大小,一旦创建无法动态扩充
高可用性 支持RAID技术,可以提高数据的安全性 不支持RAID技术,数据安全性相对较低
易管理性 提供了一系列的管理工具,可以简化磁盘管理的复杂性 管理相对复杂,需要熟悉分区工具



LVM的使用场景

服务器虚拟化:LVM可以为虚拟机提供灵活、可扩展的存储空间。

数据库应用:LVM可以为数据库提供高性能、高可用的存储环境。

Web服务器:LVM可以为Web服务器提供高容量、高可靠性的存储空间。

云计算:LVM可以为云计算平台提供灵活、可扩展的存储资源



LVM的实战流程

创建物理卷(PV)

#查看硬盘
ls /dev/sd*    
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd
#创建物理卷(PV)
[root@localhost ~]# pvcreate /dev/sd[bc]
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
#查看
[root@localhost ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
  PV /dev/sdb                       lvm2 [10.00 GiB]
  PV /dev/sdc                       lvm2 [5.00 GiB]
  Total: 3 [<34.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 2 [15.00 GiB]
[root@localhost ~]# pvdisplay
  "/dev/sdb" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               zRj13S-ft4A-1PmG-93sB-mwHW-cIFW-VxoBlT
  "/dev/sdc" is a new physical volume of "5.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               5.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               8KO5VH-Ks28-U9hf-aSx7-CWHI-
n2Kt-ZOwHEF
#删除物理卷
#pvremove /dev/sdf

创建卷组 (VG)

#创建卷组(VG)
[root@localhost ~]# vgcreate csdn /dev/sd[bc]
  Volume group "csdn" successfully created
#查看
[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "csdn" using metadata type lvm2
  Found volume group "centos" using metadata type lvm2
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               csdn
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               14.99 GiB
  PE Size               4.00 MiB
  Total PE              3838
  Alloc PE / Size       0 / 0   
  Free  PE / Size       3838 / 14.99 GiB
  VG UUID               htUHbV-h2Ot-VIj0-w7zY-whJo-JRtK-UMkti8
#vgremove vgname

创建逻辑卷(LV)

创建逻辑卷(LV)

[root@localhost ~]# lvcreate -L 12G -n csdn_lv csdn
  Logical volume "csdn_lv" created.
#查看
[root@localhost ~]# lvscan
  ACTIVE            '/dev/csdn/csdn_lv' [12.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/centos/root' [<17.00 GiB] inherit
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/csdn/csdn_lv
  LV Name                csdn_lv
  VG Name                csdn
  LV UUID                ewQipt-2zcv-WS9n-fM03-Xvyu-0jsd-LknCF0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2024-02-28 10:53:31 +0700
  LV Status              available
  # open                 0
  LV Size                12.00 GiB
  Current LE             3072
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2


格式化挂载

#自动挂载
vim /etc/fstab
加入以下
/dev/csdn/csdn_lv  /data xfs defaults,usrquota,grpquota 0 0


查看是否成功
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
文件系统                  容量  已用  可用 已用% 挂载点
devtmpfs                  659M     0  659M    0% /dev
tmpfs                     676M     0  676M    0% /dev/shm
tmpfs                     676M   11M  665M    2% /run
tmpfs                     676M     0  676M    0% /sys/fs/cgroup
/dev/mapper/centos-root    17G  5.2G   12G   31% /
/dev/sda1                1014M  172M  843M   17% /boot
tmpfs                     136M   28K  136M    1% /run/user/0
/dev/sr0                  4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/csdn-csdn_lv   12G   33M   12G    1% /data

扩展卷组

[root@localhost ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd
#加入添加的硬盘
[root@localhost ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.
[root@localhost ~]# vgextend csdn /dev/sdd
  Volume group "csdn" successfully extended
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               csdn
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <19.99 GiB
  PE Size               4.00 MiB
  Total PE              5117
  Alloc PE / Size       3072 / 12.00 GiB
  Free  PE / Size       2045 / <7.99 GiB
  VG UUID               htUHbV-h2Ot-VIj0-w7zY-whJo-JRtK-UMkti8

扩展完成之后建议重新挂载一次


KVM相关命令

命令 功能
pvcreate 将物理卷添加到 LVM 中
pvdisplay 显示物理卷信息
pvscan 扫描所有物理卷
pvremove 从 LVM 中删除物理卷
vgcreate 创建卷组
vgdisplay 显示卷组信息
vgscan 扫描所有卷组
vgremove 从 LVM 中删除卷组
lvcreate 创建逻辑卷
lvdisplay 显示逻辑卷信息
lvscan 扫描所有逻辑卷
lvremove 从 LVM 中删除逻辑卷
lvextend 扩展逻辑卷大小
lvreduce 缩减逻辑卷大小
lvchange 更改逻辑卷属性
mkswap 创建交换空间
swapon 激活交换空间
swapoff 停用交换空间
相关文章
|
5月前
|
安全 Linux
Linux通配符及其在文件搜索和管理中的应用
Linux通配符及其在文件搜索和管理中的应用
|
5月前
|
存储 缓存 算法
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
|
3月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
4月前
|
存储 监控 Linux
|
5月前
|
Linux
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
系统启动以后一直存在且常驻内存没有界面的进程就是服务。Linux系统中的所有服务都保存在下列目录中:/usr/lib/systemd/system,进入该目录就能看到所有的服务。
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
|
4月前
|
存储 Linux
在Linux中,LVM是什么?
在Linux中,LVM是什么?
|
4月前
|
存储 监控 Linux
在Linux中,如何使用LVM管理逻辑卷?
在Linux中,如何使用LVM管理逻辑卷?
|
4月前
|
存储 数据挖掘 Linux
在Linux中,LVM(逻辑卷管理)的主要优势是什么?如何扩展LVM卷?
在Linux中,LVM(逻辑卷管理)的主要优势是什么?如何扩展LVM卷?
|
4月前
|
Linux
【Linux逻辑卷全解】带你玩转linux LVM 逻辑卷
【Linux逻辑卷全解】带你玩转linux LVM 逻辑卷
|
5月前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理