如何在Linux LVM上添加额外的第二个硬盘驱动器并增加存储容量
服务器原来硬盘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