基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。

VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

PE(Physical Extent)- 物理块

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

一、增加新硬盘并分区

[root@test ~]# df -h

文件系统                                                         容量    已用   可用  已用%  挂载点

/dev/mapper/centos_test2-root                        28G     14G   15G    48%    /

devtmpfs                                                         1.9G     0    1.9G    0%   

 /dev/dev/xvda1                                           497M    267M  231M   54%    /boot

[root@test ~]# fdisk -l            #新添加一块100G硬盘并查看是否已有新磁盘/dev/sdb
[root@test ~]# fdisk /dev/sdb     #对新磁盘进行分区

在fdisk的交互模式中,依次输入:

n      --创建新分区

p      --创建主分区

分区号   --默认分区编号 1

<回车>   --默认起始扇区位置。

<回车>   --默认结束扇区位置。 如果要把100G全部分给这个分区,直接两次回车。如果分60G输入+60GFDISK
t     --修改分区类型
8e    --修改为LVM
p     --打印分区查看类型
w       --保存

这样就把整个磁盘分成了一个区。再看一下现有磁盘情况:

[root@test ~]# fdisk -l

已经多出了一个新分区:

 Device Boot      Start         End      Blocks     Id  System

/dev/sdb1        2048     6291455     3144704       8e  Linux

二、初始化分区,加入卷组

  1. 创建PV
[root@test ~]#pvcreate /dev/sdb1  

有可能会提示是否擦除xfs签名,我选了y:

WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n] y

  Wiping xfs signature on /dev/sdb1.

  Physical volume "/dev/sdb1" successfully created
  查看结果:

[root@test ~]#pvdisplay
  1. 查看卷组,并将初始化的分区加入到虚拟卷组
为卷组"centos"添加新的物理卷sdb1增加卷组的容量."centos"是vgdisplay命令查到的卷分组名:

[root@test ~]#vgextend centos /dev/sdb1

下面查看一下逻辑卷:

# lvdisplay

可以看到/dev/centos/root目前的LV Size是1000MiB。

下面扩展逻辑卷/dev/centos/root:

# lvextend -L +60G /dev/centos/root

注:+60G是我们新增加的分区大小。

扩展后,还要执行一步:

# xfs_growfs /dev/centos/root

将文件系统扩大。

命令总结:


fdisk /dev/sdb
fdisk -l
vgdisplay -v
fdisk -l
pvcreate /dev/xvdb1
 pvdisplay 
vgextend centos /dev/sdb1
lvextend -L +20G /dev/centos/root 
xfs_growfs /dev/mapper/centos-root