一、概念

LVM(Logical Volume Manager) 辑卷管理

PE(Physical Extend) 物理拓展
PV(Physical Volume) 物理卷
VG(Volume Group) 卷组
LV(Logical Volume) 逻辑卷

1,1  什么是LVM

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

1.2  什么是PE

LVM 默认使用 4MB 的 PE 区块,而 LVM 的 LV 在 32 位系统上最多仅能含有 65534 个 PE(lvm1 的格式),因此默认的 LVM 的 LV 会有 4M*65534/(1024M/G)=256G。这个 PE 很有趣喔!他是整个 LVM 最小的储存区块,也就是说,其实我们的文件数据都是借由写入 PE来处理的。简单的说,这个 PE 就有点像文件系统里面的 block 大小啦。 这样说应该就比较好理解了吧?所以调整 PE 会影响到 LVM 的最大容量喔!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,以及系统转为 64 位,因此这个限制已经不存在了。

1.3  什么是PV

物理卷即物理磁盘分区就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。若是想要使用LVM来管理这个分区,可使用fdisk将其ID改成LVM能够识别的值,即8e。

1.4  什么是VG、

PV的集合,所谓的 LVM 大磁盘就是将许多 PV 整合成 VG ,所以 VG 就是 LVM 组合起来的大磁盘! 那么这个大磁盘最大可以到多少容量呢?这与下面要说明的PE 以及 LVM 的格式版本有关,在默认的情况下, 使用 32位的 Linux 系统时,基本上 LV最大仅能支持到 65534 个 PE 而已,若使用默认的 PE 为 4MB 的情况下, 最大容量则仅能达到约 256GB 而已~ 不过,这个问题在 64位的 Linux 系统上面已经不存在了!LV 几乎没有啥容量限制了!

1.5   什么是LV

逻辑卷,是从卷组VG中划分出来的存放数据的磁盘空间。最终的 VG 还会被切成 LV,其中LV 是不可以随意指定大小,既然 PE 是整个 LVM 的最小储存单位,那么 LV的大小就与在此 LV 内的 PE 总数有关。 为了方便使用者利用 LVM 来管理其系统,因此 LV的设备文件名通常指定为“ /dev/vgname/lvname ”的样式!

二、实战演练

1、新环境、新磁盘挂载

前沿:

(1)新的的 /dev/sdb 磁盘

(2)新的项目使用目录 /ceshi

(3)将新的磁盘挂载在新的目录,不使用系统盘

centos逻辑卷和磁盘空间不一致_运维

centos逻辑卷和磁盘空间不一致_服务器_02

 1.1、操作

(1)对新加磁盘进行初始化,全部为默认

   命令:fdisk /dev/sdb

 

centos逻辑卷和磁盘空间不一致_服务器_03

 (2)将新创建的分区格式化为xfs格式

    命令:mkfs.xfs /dev/sdb1

centos逻辑卷和磁盘空间不一致_运维_04

 

centos逻辑卷和磁盘空间不一致_逻辑卷_05

 (3)挂载

   命令:mount  /dev/sdb1  /ceshi

centos逻辑卷和磁盘空间不一致_逻辑卷_06

 

2、对新的分区扩容

前沿:

(1)正在使用的磁盘空间不足,针对根分区进行扩容

2.1 查看卷组信息,当前的卷组分组信息为centos

命令: vgdisplay -v

centos逻辑卷和磁盘空间不一致_centos逻辑卷和磁盘空间不一致_07

 2.2 给新添加的磁盘创建新的分区,并创建新的物理卷

命令:pvcreate /dev/sdb1

centos逻辑卷和磁盘空间不一致_逻辑卷_08

2.3  查看新创建的逻辑卷

命令:pvdisplay  (查看物理卷信息)

centos逻辑卷和磁盘空间不一致_运维_09

 2.4  将新创建的逻辑卷加入到刚查询的cetos卷组中

命令: vgextend centos /dev/sdb1

            vgdisplay    (查看卷组信息)

centos逻辑卷和磁盘空间不一致_centos逻辑卷和磁盘空间不一致_10

2.5  查看当前根分区挂载信息和逻辑卷信息

命令:lsblk 

           lvdisplay

centos逻辑卷和磁盘空间不一致_逻辑卷_11

centos逻辑卷和磁盘空间不一致_服务器_12

 2.6 给根分区使用的逻辑卷扩容,并执行xfs_growfs增加系统空间

命令:lvextend -L +10G /dev/centos/root

           xfs_growfs /dev/centos/root

注明:因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小。

centos逻辑卷和磁盘空间不一致_centos逻辑卷和磁盘空间不一致_13

 2.7  查询结果,根分区已经增加

命令:df -Th

centos逻辑卷和磁盘空间不一致_运维_14

3、创建LVM

  3.1 创建新的分区,修改分区类型为LVM

命令:fdisk /dev/sdb

 

centos逻辑卷和磁盘空间不一致_centos逻辑卷和磁盘空间不一致_15

 3.2  初始化为物理卷

命令: pvcreate /dev/sdb1

centos逻辑卷和磁盘空间不一致_运维_16

3.3  创建新的卷组,并加入新的物理卷 

命令:vgcreate ceshi01 /dev/sdb1

centos逻辑卷和磁盘空间不一致_centos逻辑卷和磁盘空间不一致_17

 3.4  基于新的卷组创建新的逻辑卷

命令:lvcreate -n ceshi02 -L 6G ceshi01

           lvcreate -n 新的逻辑卷名 -L 指定大小 新的卷组名

[root@localhost ~]# lvcreate -n ceshi02 -L 6G ceshi01
  Logical volume "ceshi02" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                dpPK5X-cgtR-Iy9N-9o8g-MTeW-UZT4-7tUVN0
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-02-16 19:48:51 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                iv6V17-clV9-rr3Z-9AXA-GDrc-mdNW-WuvFAD
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-02-16 19:48:51 +0800
  LV Status              available
  # open                 1
  LV Size                26.99 GiB
  Current LE             6910
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/ceshi01/ceshi02
  LV Name                ceshi02
  VG Name                ceshi01
  LV UUID                fAGOGp-Tmvw-4vHO-cOqR-UEDN-Pux7-fyp6zs
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-08-04 18:06:48 +0800
  LV Status              available
  # open                 0
  LV Size                6.00 GiB
  Current LE             1536
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

3.5  格式化新创建的逻辑卷,并挂载到新创建的目录,查看结果

[root@localhost ~]# mkfs.xfs /dev/ceshi01/ceshi02
meta-data=/dev/ceshi01/ceshi02   isize=512    agcount=4, agsize=393216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1572864, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount /dev/ceshi01/ceshi02 /abc/
[root@localhost ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   30G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0   29G  0 part
  ├─centos-root     253:0    0   27G  0 lvm  /
  └─centos-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                   8:16   0   20G  0 disk
└─sdb1                8:17   0   20G  0 part
  └─ceshi01-ceshi02 253:2    0    6G  0 lvm  /abc
sr0                  11:0    1 1024M  0 rom
[root@localhost ~]# df -Th
文件系统                    类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root     xfs        27G  1.8G   26G    7% /
devtmpfs                    devtmpfs  899M     0  899M    0% /dev
tmpfs                       tmpfs     911M     0  911M    0% /dev/shm
tmpfs                       tmpfs     911M  9.6M  902M    2% /run
tmpfs                       tmpfs     911M     0  911M    0% /sys/fs/cgroup
/dev/sda1                   xfs      1014M  143M  872M   15% /boot
tmpfs                       tmpfs     183M     0  183M    0% /run/user/0
/dev/mapper/ceshi01-ceshi02 xfs       6.0G   33M  6.0G    1% /abc

3.6  永久保存挂载信息

注:不写入fstab文件,重启之后挂载就会失效!

centos逻辑卷和磁盘空间不一致_服务器_18