在Linux服务器中使用LVM管理磁盘

大家好!LVM (Logic Volume Manager)是Linux系统中的逻辑卷管理器。使用LVM, 我们可以方便地在Linux系统中创建与更改逻辑磁盘,并按照自己的需求来进行分区。

考虑下面的一个场景,如果我们的服务器上安装了两块512 GB的硬盘,但是我们想将这两块硬盘合并为一个1TB的分区并挂载:如果使用传统的物理卷管理,这个操作是无法实现的。而如果使用LVM, 我们可以轻松将这两块硬盘合并成一个1TB的逻辑分区,并且挂载。

之前,我们介绍过如何在Linux中使用物理卷管理来对第二块磁盘进行分区、格式化、挂载。今天,我将介绍如何使用LVM在Linux系统中创建和管理逻辑卷。

本文作者为香菇肥牛,原文链接为https://qing.su/article/linux-manage-volume-lvm.html, 转载请注明原文链接,谢谢。


以我手头这台服务器为例。我们来查看一下服务器上当前安装的磁盘。

1
fdisk -l

可见,现在服务器上安装了三块硬盘,/dev/vda, /dev/vdb, /dev/vdc.  其中,/dev/vda是系统盘,而/dev/vdb/dev/vdc是两块还未分区的500GB磁盘。下面我们来用LVM配置并且挂载这两块硬盘。

首先,安装LVM.  以Debian 12系统为例,执行

1
apt-get install lvm2 -y

使用lvmdiskscan来扫描一下系统上的磁盘

1
lvmdiskscan

可以看到还没有新建卷的/dev/vdb/dev/vdc

使用pvcreate,先将/dev/vdb/dev/vdc添加为lvm2格式的物理卷

1
2
pvcreate /dev/vdb /dev/vdc
pvs

 

然后,使用vgcreate命令将这两个卷添加进同一个虚拟卷组

1
vgcreate VGroup /dev/vdb /dev/vdc

使用pvsvgs命令可以查看当前的磁盘分区和卷组信息

1
2
pvs
vgs

可见,/dev/vdb/dev/vdc都同属于VGroup虚拟卷组,我们可以在这个卷组中新建分区了。这里我将全部容量都分配给一个分区,您也可以自由调整。

1
lvcreate -l 100%FREE VGroup

再次使用vgs查看,可见一个1TB容量的逻辑分区lvol0已经建立好了。可以使用 /dev/group_name/volume_name 或者 /dev/mapper/group_name-volume_name 的格式调用这个分区,比如我这里就是 /dev/VGroup/lvol0 或者 /dev/mapper/VGroup-lvol0 .

1
vgs -o +lv_size,lv_name

最后,我们按照自己的需求格式化这个分区,然后将其挂载至需要的目录上。这里,我将格式化为ext4文件系统,并且挂载至/opt目录。

1
2
3
mkfs.ext4 /dev/VGroup/lvol0
mount /dev/VGroup/lvol0 /opt
echo "/dev/VGroup/lvol0 /opt ext4 defaults,nofail 0 0" >> /etc/fstab

此时,执行df -h, 就可以看到我们新建的逻辑卷已经成功挂载了。

1
df -h


至此,我们使用LVM, 在Linux中实现了逻辑分区的创建与管理。如果您在操作中遇到了任何问题,欢迎在这里留言讨论,我将尽力解答。

本文作者为香菇肥牛,原文链接为https://qing.su/article/linux-manage-volume-lvm.html, 转载请注明原文链接,谢谢。

Leave a Comment