大家好!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 |
使用pvs和vgs命令可以查看当前的磁盘分区和卷组信息
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, 转载请注明原文链接,谢谢。