如何在Linux中配置LVM(pvcreate,lvcreate,vgcreate)

时间:2020-03-05 15:28:53  来源:igfitidea点击:

逻辑卷管理(LVM)在物理存储上创建抽象层,使我们可以创建逻辑存储卷。
有了LVM,我们就不会再为物理磁盘大小而烦恼,因为硬件存储对软件而言是隐藏的,因此可以在不停止应用程序或者卸载文件系统的情况下调整和移动它的大小。
我们可以将LVM视为动态分区。

例如,如果服务器上的磁盘空间不足,则可以添加另一个磁盘并动态扩展逻辑卷。

与直接使用物理存储相比,使用逻辑卷具有以下优点:

  • 调整存储池大小:我们可以在不重新格式化磁盘的情况下扩展和减少逻辑空间。
  • 灵活的存储容量:我们可以通过添加更多磁盘并将其添加到物理存储池中来增加更多空间,从而拥有灵活的存储容量。
  • 使用条带化,镜像和快照卷:在两个或者多个磁盘上对数据进行条带化的条带化逻辑卷可以显着提高吞吐量。镜像逻辑卷提供了一种方便的方法来为数据配置镜像。我们可以拍摄设备快照以进行备份或者测试更改的效果,而不会影响实际数据。

LVM有3个概念

  • 物理卷(PV):它是整个磁盘或者磁盘的分区
  • 卷组(VG):对应一个或者多个PV
  • 逻辑卷(LV):代表VG的一部分。一个LV只能属于一个VG。我们可以在LV上创建文件系统。

1)创建物理卷

物理卷是将在LVM配置中使用的实际存储设备。
它可以是整个磁盘,磁盘上的分区或者SAN上的LUN。
我们可以使用pvcreate创建物理卷。
在此示例中,我添加了两个磁盘,分别为1 GB的'/dev/sdb'和'/dev/sdc'。
我将使用这些作为示例。

pvcreate命令初始化这些磁盘,以便它们可以构成卷组。

显示物理卷:

我们也可以使用pvs命令以可配置的形式显示输出。

2)创建卷组

物理卷被合并为卷组(VG)。
它创建了一个磁盘空间池,可以其中分配逻辑卷。
卷组中可用于分配的磁盘空间被划分为固定大小(称为扩展区)的单位。
范围是可以分配的最小存储单位。
在物理体积内,范围称为物理范围。

逻辑卷被分配到与物理盘区大小相同的逻辑盘区中。
因此,卷大小对于卷组中的所有逻辑卷都相同。
卷组将逻辑盘区映射到物理盘区。

# vgcreate vg-01 /dev/sdb /dev/sdc
 Volume group "vg-01" successfully created

显示有关VG的信息

我们还可以使用vgs命令以可配置的形式显示输出。

3)创建逻辑卷

卷组分为逻辑卷。
因此,如果我们早先创建了vg-01,则可以从该VG创建逻辑卷。
我们要分配的空间量取决于要求。
我们可能想要创建200MB,1GB等的LV。
在此示例中,我将讨论三种类型的逻辑卷。

  • 线性卷
  • 条带化卷
  • 镜像卷

线性逻辑卷

线性卷将一个或者多个物理卷中的空间聚合为一个逻辑卷。
例如,如果我们有两个2GB磁盘,则可以创建4GB逻辑卷。
物理存储已连接。
该应用程序将看到一个大小为4 GB的设备。
默认情况下,我们在LVM中创建线性卷。
请考虑以下示例:

# lvcreate -L 1G -n lv_linear vg-01
 Logical volume "lv_linear" created

显示有关逻辑卷的信息。

我们也可以使用lvs命令,该命令将以可配置的形式显示输出。

条带化逻辑卷

当我们将数据写入逻辑卷时,文件系统将数据分布在基础物理卷上。
我们可以通过创建带区逻辑卷来控制将数据写入物理卷的方式。
对于较大的顺序读取和写入,这可以提高数据I/O的效率。

通过条带化,可以并行完成I/O。
下面的命令用于创建条带化卷:

# lvcreate -L 1G -i2 -I64 -n lv_stripe vg-01
 Logical volume "lv_stripe" created

现在我们可以用lvdisplay命令检查

“ -i”表示条纹的数量。
这确定了逻辑卷将分割多少个物理卷。
条带数量不能大于卷组中物理卷的数量。
“ -I”表示带材尺寸。
上面的命令在2个物理卷之间创建一个条带化逻辑卷,条带化为64kB。

镜像逻辑卷

镜像在不同设备上维护相同的数据副本。
当数据被写入一个设备时,它也被写入另一设备。
这为设备故障提供了保护。
当镜像的一个分支发生故障时,逻辑卷将变为线性卷,并且仍可以对其进行访问。

LVM镜像将要复制的设备划分为大小通常为512KB的区域。
LVM维护一个小的日志,用于跟踪哪些区域与镜像同步。
该日志可以保存在磁盘上,从而在重新启动后保持持久性,也可以保存在内存中。
以下命令将创建一个镜像逻辑卷。

# lvcreate -L 200M -m1 -n lv_mirror vg-01
 Logical volume "lv_mirror" created

4)激活LVM

可以使用lvchange命令使内核知道逻辑卷。
重新引导系统或者运行vgchange -an之后,我们将无法访问VG和LV。
要重新激活卷组,请运行'-a'选项用于激活或者停用逻辑卷。
将y与'-a'方法一起使用将使内核知道它,而n将使其不可用。

注意:创建卷组/逻辑卷时,默认情况下它是激活的。
因此,仅根据特定要求运行此命令。
指示LV激活。

类似的命令vgchange(带有-ay选项)用于激活卷组。

5)在新硬盘上创建LVM

可以将更多物理卷添加到现有卷组,从而增加其大小。
通常,使用LVM,一个分区可以跨越多个磁盘。
逻辑卷的大小也可以扩展和减小,而该卷上的数据不会丢失。

首先使用fdisk命令创建一个分区,然后将该分区切换到LINUX LVM(8e)标签。

然后使用pvcreate命令创建一个物理卷。

#pvcreate /dev/sdb1

显示物理卷的大小

#pvdisplay /dev/sdb1

创建名称测试的卷组

#vgcreate test /dev/sdb1

显示创建的卷组的详细信息

#vgdisplay test

创建大小为100 MB的逻辑卷,名称为data,/etc/test/data * /

#lvcreate -L 100M -n data test

显示有关逻辑卷的信息

#lvdisplay /dev/test/data

将逻辑分区转换/格式化为ext3文件系统

#mke2fs -j /dev/test/data

将卷挂载到任何目录

#mount /dev/test/data /mnt

或者

如果我们有设备映射器

#mount /dev/mapper/test-data /oracle

6)扫描PV,LV和VG的命令

lvscan命令扫描主机上的所有逻辑卷

vgscan命令扫描所有磁盘上的卷组并重建LVM缓存文件。

pvscan命令扫描所有lvm块设备以查找物理卷。

注意:所有这些命令都可以在Redhat/Centos/Ubuntu系统上正常工作