如何在Linux LVM上添加额外的第二个硬盘驱动器并增加存储容量

时间:2020-01-09 10:39:59  来源:igfitidea点击:

服务器原来硬盘250G,新购了一个250G的。
如何在现有LVM卷中添加一个新磁盘,以将其总大小增加到500GB。
如何在Linux操作系统上向LVM添加磁盘并扩展LVM卷?

Linux卷管理(LVM)在物理磁盘上创建易于使用的层。
您可以组合多个磁盘并创建逻辑存储卷。
这提供了特定的好处,例如:

  • 磁盘大小无限制
  • 磁盘吞吐量增加
  • 镜像业务关键数据的卷
  • 卷快照
  • 使用快照轻松备份和还原
  • 轻松进行数据重定位
  • 在不重新格式化磁盘的情况下调整存储池的大小(添加或删除磁盘)

本教程将向您展示如何对Linux上的LVM卷进行分区,格式化和添加新磁盘。
出于演示目的,我使用Ubuntu VM,但是对于裸机或任何其他虚拟化技术(例如KVM,Xen,VMware等),命令仍然相同。

警告:小心使用lvm/mkfs.ext4和其他命令,并且设备名称错误,因为设备名称会清除所有数据。
谨慎操作,并始终保留完整备份。

步骤1查找有关现有LVM的信息

LVM存储管理分为三个部分:

  • 物理卷(PV)实际磁盘(例如/dev/sda,/dev,sdb,/dev/vdb等)
  • "卷组(VG)"将物理卷合并为卷组。 (例如my_vg =/dev/sda +/dev/sdb。)
  • 逻辑卷(LV)将卷组划分为多个逻辑卷(例如,将my_vg分为my_vg/data,my_vg/backups,my_vg/home,my_vg/mysqldb等)

执行以下命令以查找有关每个零件的信息。

如何显示物理卷(PV)

执行以下pvs命令以查看有关物理卷的信息:

$ sudo pvs

因此,当前我的LVM包含一个名为/dev/vda5的物理卷(实际磁盘)。
查看物理卷(PV)的属性,请执行:

$ sudo pvdisplay

从上面的输出中可以明显看出,名为ubuntu-box-1-vg的卷组是由名为/dev/vda5的物理卷组成的。

如何显示有关LVM卷组(vg)的信息

执行以下任何vgs命令/vgdisplay命令以查看有关卷组及其属性的信息:

$ sudo vgs

或者

$ sudo vgdisplay

如何显示有关LVM逻辑卷(lv)的信息

执行以下lvs命令/lvdisplay命令之一,以查看有关卷组及其属性的信息:

$ sudo lvs

或者

$ sudo lvdisplay

我的ubuntu-box-1-vg卷组分为两个逻辑卷:

  • /dev/ubuntu-box-1-vg/root根文件系统
  • /dev/ubuntu-box-1-vg/swap_1交换空间

根据上述命令,您可以基本了解LVM如何将存储设备组织到物理卷(PV),卷组(VG)和逻辑卷(LV)中:
LVM如何将存储设备组织到物理卷(PV) ),卷组(VG)和逻辑卷(LV)

步骤2查找有关新磁盘的信息

您需要向服务器添加新磁盘。
在此示例中,出于演示目的,我添加了一个新的磁盘驱动器,它的大小为5GiB。
要查找有关新磁盘的信息,请运行:

$ sudo fdisk -l

或者

$ sudo fdisk -l | grep '^Disk /dev/'

另一个选择是扫描LVM2可见的所有设备:

$ sudo lvmdiskscan

输出示例:

/dev/ram0                   [      64.00 MiB] 
  /dev/ubuntu-box-1-vg/root   [      37.49 GiB] 
  /dev/ram1                   [      64.00 MiB] 
  /dev/ubuntu-box-1-vg/swap_1 [       2.00 GiB] 
  /dev/vda1                   [     487.00 MiB] 
  /dev/ram2                   [      64.00 MiB] 
  /dev/ram3                   [      64.00 MiB] 
  /dev/ram4                   [      64.00 MiB] 
  /dev/ram5                   [      64.00 MiB] 
  /dev/vda5                   [      39.52 GiB] LVM physical volume
  /dev/ram6                   [      64.00 MiB] 
  /dev/ram7                   [      64.00 MiB] 
  /dev/ram8                   [      64.00 MiB] 
  /dev/ram9                   [      64.00 MiB] 
  /dev/ram10                  [      64.00 MiB] 
  /dev/ram11                  [      64.00 MiB] 
  /dev/ram12                  [      64.00 MiB] 
  /dev/ram13                  [      64.00 MiB] 
  /dev/ram14                  [      64.00 MiB] 
  /dev/ram15                  [      64.00 MiB] 
  /dev/vdb                    [       5.00 GiB] 
  2 disks
  18 partitions
  0 LVM physical volume whole disks
  1 LVM physical volume

步骤3在名为/dev/vdb的新磁盘上创建物理卷(pv)

执行以下命令:

$ sudo pvcreate /dev/vdb

输出示例:

Physical volume "/dev/vdb" successfully created

现在运行以下命令进行验证:

$ sudo lvmdiskscan -l

输出示例:

WARNING: only considering LVM devices
  /dev/vda5                   [      39.52 GiB] LVM physical volume
  /dev/vdb                    [       5.00 GiB] LVM physical volume
  1 LVM physical volume whole disk
  1 LVM physical volume

步骤4将名为/dev/vdb的新创建的光伏添加到现有lv

执行以下命令,将物理卷/dev/vdb添加到ubuntu-box-1-vg卷组:

$ sudo vgextend ubuntu-box-1-vg /dev/vdb

输出示例:

Volume group "ubuntu-box-1-vg" successfully extended

最后,您需要扩展/dev/ubuntu-box-1-vg/root以创建总计45GB(/dev/vdb(5G)+现有的/dev/ubuntu-box-1-vg/root(40G))

$ sudo lvm lvextend -l +100%FREE /dev/ubuntu-box-1-vg/root

输出示例:

Size of logical volume ubuntu-box-1-vg/root changed from 37.49 GiB (9597 extents) to 42.52 GiB (10885 extents).
  Logical volume root successfully resized.

但是,如果您运行df -h或任何其他命令,您仍然会看到/dev/ubuntu-box-1-vg/root为40G。
您需要运行以下命令来扩大在根卷内创建的文件系统:

$ sudo resize2fs -p /dev/mapper/ubuntu--box--1--vg-root

输出示例:

resize2fs 1.42.13 (17-May-2014)
Filesystem at /dev/mapper/ubuntu--box--1--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/mapper/ubuntu--box--1--vg-root is now 11146240 (4k) blocks long.

验证一下:

$ df -H

输出示例:

Filesystem                           Size  Used Avail Use% Mounted on
udev                                 1.1G     0  1.1G   0% /dev
tmpfs                                146M   12M  135M   9% /run
/dev/mapper/ubuntu--box--1--vg-root   45G  2.3G   41G   6% /
tmpfs                                512M     0  512M   0% /dev/shm
tmpfs                                5.3M     0  5.3M   0% /run/lock
tmpfs                                512M     0  512M   0% /sys/fs/cgroup
/dev/vda1                            495M  109M  361M  24% /boot
tmpfs                                103M     0  103M   0% /run/user/0