dguthai 2019-08-17
逻辑卷管理器(英语:Logical Volume Manager,缩写为LVM),又译为逻辑卷宗管理器、逻辑扇区管理器、逻辑磁盘管理器,是Linux核心所提供的逻辑卷管理(Logical volume management)功能。它在硬盘的硬盘分区之上,又创建一个逻辑层,以方便系统管理硬盘分割系统。
最先由IBM开发,在AIX系统上实现,OS/2 操作系统与 HP-UX也支持这个功能。在1998年,Heinz Mauelshagen 根据在 HP-UX 上的逻辑卷管理器,写作出第一个 Linux 版本的逻辑卷管理器。
LVM基本术语:
我们可以通过LVM灵活便捷的管理系统中的磁盘,并且根据需求快速、无感得扩容目标磁盘,并且几乎不会影响性能。
创建lvm分区的方法其实非常的简单,主要分为以下几个步骤:
目前做LVM分区比较推荐的工具还是fdisk,不是说parted不能做,而是fdisk可能更加方便一点。流程如下:
# fdisk /dev/nvme0n1 Command (m for help): n ## 新建 Command action e extended p primary partition (1-4) p ## 主分区 Partition number (1-4): 1 ## 分区号 First cylinder (2048-543352123, default 2048): ## 回车用默认的1 Last cylinder, +cylinders or +size{K,M,G} (2048-543352123, default 543352123): ## 回车默认大小大小 Command (m for help): t ## 改变toggle类型 Selected partition 1 Hex code (type L to list codes): 8e ## LVM 的分区代码8e Changed system type of partition 1 to 8e (Linux LVM)
在分区完成之后需要做的就是创建物理卷,直接将刚才创建的分区进行
pvcreate:
# pvcreate /dev/nvme0n1p1
在创建玩物理卷之后,需要对该磁盘进行虚拟卷的创建。需要注意的是一个虚拟卷可以由多个物理卷构成。例如:
# vgcreate nvme /dev/nvme0n1p1 /dev/nvme1n1p1 /dev/nvme2n1p1
该命令的意义就在于创建一个叫做nvme的虚拟卷,由/dev/nvme0n1p1、 /dev/nvme1n1p1、 /dev/nvme2n1p1三个做了pv的分区构成
到了这一步,基本上LVM的创建已经到了尾声了,最后一步就是从虚拟卷中创建一个逻辑卷。如下:
# lvcreate -L 2.91T -n data nvme
这条命令的意思为从虚拟卷nvme中创建一个2.91T的逻辑卷作为lvm分区并命名为data,如果想一次性全部用完所有的容量,也可以这样:
# lvcreate -l -n data nvme
此时在linux的/dev/文件夹下面我们可以看到有/nvme/data的文件结构。
在创建完lvm分区后,我们需要将分区挂在到系统中的路径中。假设需要挂载的路径是/data。
# mkdir /data ##创建该路径 # mount /dev/mapper/nvme-data /data ##需要注意的时候这里推荐使用/dev/mapper/nvme-data作为挂载的设备路径,而不是/dev/nvme/data
之后通过blkid命令获取这个新的lvm分区的UUID,然后更新到/etc/fstab中就可以了
上述的LVM实现过程可以直接通过shell脚本进行实现: