Linux中 LVM 逻辑盘卷管理

2024-06-03 17:57:53 浏览数 (2)

前言

LVM 代表逻辑卷管理器,它是一种用于 Linux 和类 Unix 操作系统的磁盘管理和存储技术。LVM 允许用户独立于底层物理存储创建逻辑卷 (LV)、调整大小和移动逻辑卷 (LV),从而提供了一种灵活、动态的磁盘空间管理方式。

目录

LVM的组成

LVM的优点

LVM的使用场景

LVM的实战流程

创建物理卷(PV)

创建卷组 (VG)

创建逻辑卷(LV)

格式化挂载

扩展卷组

KVM相关命令

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)
代码语言:javascript复制
#查看硬盘
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)
代码语言:javascript复制
#创建卷组(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)
代码语言:javascript复制
#创建逻辑卷(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
格式化挂载
代码语言:javascript复制
#自动挂载
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
扩展卷组
代码语言:javascript复制
[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

停用交换空间

0 人点赞