当服务器某个目录空间不足以支持后续使用,而需要进一步扩容,可以将多块磁盘合并到一个逻辑卷上进行挂载,挂载到指定的目录下

基本概念

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

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

  • LV(Logical Volume)- 逻辑卷
    逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组

  • PE(Physical Extent)- 物理块

扩容操作

1. 创建物理卷(PV)

将需要合并的磁盘创建为物理卷 ,如本次的 /dev/sdb1 /dev/sdc1

注意

  • 创建物理卷时,会将需要创建物理卷的磁盘格式化掉
  • 创建物理卷的磁盘不能处于挂载状态(如处于挂载状态,需要先umount掉)
pvcreate /dev/sdb1 /dev/sdc1

执行可能的结果:(磁盘会被格式化)

ARNING: vfat signature detected on /dev/sdc1 at offset 82. Wipe it? [y/n]: n
  Aborted wiping of vfat.
  1 existing signature left on the device.
[root@alianga-server data]# pvcreate /dev/sdc1
WARNING: vfat signature detected on /dev/sdc1 at offset 82. Wipe it? [y/n]: y
  Wiping vfat signature on /dev/sdd1.
WARNING: vfat signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
  Wiping vfat signature on /dev/sdd1.
WARNING: vfat signature detected on /dev/sdc1 at offset 510. Wipe it? [y/n]: y
  Wiping vfat signature on /dev/sdc1.
  Physical volume "/dev/sdc1" successfully created.

2. 查看物理卷(PV)

pvdisplay

可能的执行结果:

 --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos_alianga-server
  PV Size               <237.28 GiB / not usable 0   
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              60743
  Free PE               1
  Allocated PE          60742
  PV UUID               2Jp8ia-5Iv0-fr5g-isem-hOBK-soD5-e1s9V2
   
  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               lvm_data
  PV Size               57.84 GiB / not usable 3.98 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              14807
  Free PE               0
  Allocated PE          14807
  PV UUID               1sJV4x-Sewr-ToWc-RSeD-dEQp-hhp8-fIRW84
   
  --- Physical volume ---
  PV Name               /dev/sdd1
  VG Name               lvm_data
  PV Size               <14.47 GiB / not usable 3.63 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              3703
  Free PE               2638
  Allocated PE          1065
  PV UUID               Fk8osv-xF9N-NjIp-wyTy-YITC-fARu-aoitxI

3. 创建卷组

创建一个名为lvm_data的vg组(名字可以随便改),并将/dev/sdb1/dev/sdc1物理卷添加到该卷组中

vgcreate lvm_data /dev/sdb1 /dev/sdc1 

返回结果:

  Volume group "lvm_data" successfully created

4. 创建逻辑卷

  • L 指定逻辑卷的大小
  • n 自定义逻辑卷组的名称
# lvmdata 重命名的逻辑卷名字 
# lvm_data 物理卷组名字
lvcreate -L 57G -n lvmdata lvm_data

返回结果:

 Logical volume "lvmdata" created

5. 查看分区

fdisk -l

返回结果

可以看到新的逻辑卷位置 /dev/mapper/lvm_data-lvmdata

设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1              32   121307135    60653552    c  W95 FAT32 (LBA)

磁盘 /dev/mapper/lvm_data-lvmdata:61.2 GB, 61203283968 字节,119537664 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

6. 格式化分区

mkfs.ext4 /dev/mapper/lvm_data-lvmdata

7. 挂载到指定的目录

将逻辑分区挂载到需要保存文件的目录即可

mount /dev/mapper/lvm_data-lvmdata /data/test

8.检查确认

df -h

返回结果

文件系统                                 容量  已用  可用 已用% 挂载点
devtmpfs                                  16G     0   16G    0% /dev
tmpfs                                     16G     0   16G    0% /dev/shm
tmpfs                                     16G  1.6G   14G   11% /run
tmpfs                                     16G     0   16G    0% /sys/fs/cgroup
/dev/mapper/centos_alianga--server-root   50G   21G   30G   42% /
/dev/mapper/lvm_data-lvmdata              56G   53M   54G    1% /data/test

9. 开机自动挂载

/etc/fstab中添加挂载信息,实现开机自动挂载

/dev/mapper/lvm_data-lvmdata  /data    ext4 defaults 0 0

二次扩容

将新的磁盘挂载到现有的逻辑卷中,以进一步扩容

1. 创建物理卷(PV)

pvcreate /dev/sdd1

2. 添加到现有物理卷组

将新的物理卷添加到卷组中,因为物理卷组 在于逻辑卷的底层,即lvm_data已经和lvmdata 关联上,只需要向卷组中添加新的磁盘(物理卷),然后就可以直接扩容逻辑卷

vgextend lvm_data /dev/sdd1

返回结果

  Volume group "lvm_data" successfully extended

3.逻辑块扩容

①这里先以扩容5G为例

lvresize -L +5G /dev/mapper/lvm_data-lvmdata

返回结果

  Size of logical volume lvm_data/lvmdata changed from 57.00 GiB (14592 extents) to 62.00 GiB (15872 extents).
  Logical volume lvm_data/lvmdata successfully resized.

②查看是否扩容

文件系统                                 容量  已用  可用 已用% 挂载点
devtmpfs                                  16G     0   16G    0% /dev
tmpfs                                     16G     0   16G    0% /dev/shm
tmpfs                                     16G  1.6G   14G   11% /run
tmpfs                                     16G     0   16G    0% /sys/fs/cgroup
/dev/mapper/centos_alianga--server-root   50G   21G   30G   42% /
/dev/mapper/lvm_data-lvmdata              56G   53M   54G    1% /data/test

③ 刷新扩容后的大小

resize2fs  /dev/mapper/lvm_data-lvmdata

返回结果

esize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/lvm_data-lvmdata is mounted on /data/test; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 8
The filesystem on /dev/mapper/lvm_data-lvmdata is now 16252928 blocks long.

④ 查看挂载情况

df -h

返回结果

文件系统                                 容量  已用  可用 已用% 挂载点
devtmpfs                                  16G     0   16G    0% /dev
tmpfs                                     16G     0   16G    0% /dev/shm
tmpfs                                     16G  1.6G   14G   11% /run
tmpfs                                     16G     0   16G    0% /sys/fs/cgroup
/dev/mapper/centos_alianga--server-root   50G   21G   30G   42% /
/dev/mapper/lvm_data-lvmdata              61G   53M   58G    1% /data/test

至此扩容结束

Q.E.D.


寻门而入,破门而出