linux vgcreate vgchange vgconvert vgreduce vgextend vgmerge vgsplit vgrename和vgremove 命令

时间:2020-03-21 11:47:30  来源:igfitidea点击:

如果我们是Linux用户或者Linux系统管理员,或者在生产环境中工作,则必须了解软件磁盘管理以及在存储管理中提供灵活性的所有方法。
在存储管理中,我们必须对LVM有深入的了解。
但是在使用lvm之前,我们必须对卷组有全面的了解。

这是有关Linux卷组的详细教程。
本文中提到的所有内容都将直接或者间接与Linux卷组相关。
我们将学习如何使用命令行来管理与卷组有关的存储设备。
vgcreate vgremove vgchange vgconvert vgreduce vgextend vgmerge vgsplit和vgrename是我们将在本教程内部详细讨论的那些linux命令。

首先,我们需要创建用于创建卷组的物理卷。

[root@localhost ~]# pvcreate /dev/hda{6,7,8}
  Physical volume "/dev/hda6" successfully created
  Physical volume "/dev/hda7" successfully created
  Physical volume "/dev/hda8" successfully created

要检查是否已创建物理卷,请使用pvscan命令。

[root@localhost ~]# pvscan
  PV /dev/hda6                      lvm2 [482.83 MB]
  PV /dev/hda7                      lvm2 [862.84 MB]
  PV /dev/hda8                      lvm2 [1.13 GB]
  Total: 3 [2.44 GB]/in use: 0 [0   ]/in no VG: 3 [2.44 GB]

然后,我们创建名为vg00的卷组。

[root@localhost ~]# vgcreate vg00 /dev/hda{6,7,8}
  Volume group "vg00" successfully created

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg00   3   0   0 wz--n- 2.43G 2.43G

[root@localhost ~]# pvscan
  PV /dev/hda6   VG vg00   lvm2 [480.00 MB/480.00 MB free]
  PV /dev/hda7   VG vg00   lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG vg00   lvm2 [1.12 GB/1.12 GB free]
  Total: 3 [2.43 GB]/in use: 3 [2.43 GB]/in no VG: 0 [0   ]

[root@localhost ~]# vgdisplay
  --- Volume group --
  VG Name               vg00
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.43 GB
  PE Size               4.00 MB
  Total PE              623
  Alloc PE/Size       0/0   
  Free  PE/Size       623/2.43 GB
  VG UUID               7rDn7R-vnAv-aFQv-XlrP-CDha-h2tz-sNptkj

了解如何使用“ vgchange命令”限制卷组的最大逻辑卷数

[root@localhost ~]# vgchange -l 110 /dev/vg00
  Volume group "vg00" successfully changed

现在,使用vgdisplay命令,我们可以检查该组中允许的最大逻辑卷数。
只需在下面的输出中看到“ MAX LV 110”即可。

[root@localhost ~]# vgdisplay
  --- Volume group --
  VG Name               vg00
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                110
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.43 GB
  PE Size               4.00 MB
  Total PE              623
  Alloc PE/Size       0/0   
  Free  PE/Size       623/2.43 GB
  VG UUID               7rDn7R-vnAv-aFQv-XlrP-CDha-h2tz-sNptkj

如何使用“ vgreduce”命令从卷组中删除物理卷。

[root@localhost ~]# pvscan
  PV /dev/hda6   VG vg00   lvm2 [480.00 MB/480.00 MB free]
  PV /dev/hda7   VG vg00   lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG vg00   lvm2 [1.12 GB/1.12 GB free]
  Total: 3 [2.43 GB]/in use: 3 [2.43 GB]/in no VG: 0 [0   ]

现在,我将在此处从卷组vg00中删除“/dev/hda6”物理卷。

[root@localhost ~]# vgreduce vg00 /dev/hda6
  Removed "/dev/hda6" from volume group "vg00"

现在,我们可以使用pvscan命令检查是否已删除物理卷/dev/hda6.

[root@localhost ~]# pvscan
  PV /dev/hda7   VG vg00            lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG vg00            lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 3 [2.44 GB]/in use: 2 [1.96 GB]/in no VG: 1 [482.83 MB]

现在,我们可以非常清楚地看到,物理卷/dev/hda6现在不是卷组vg00的一部分。

如何使用“ vgextend”命令将物理卷添加到卷组。

现在,我想向现有的卷组vg00中添加一个新的物理卷/dev/hda9.

在添加任何新的物理卷之前,让我们先看一下卷组详细信息。

[root@localhost ~]# pvscan
  PV /dev/hda7   VG vg00            lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG vg00            lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  PV /dev/hda9                      lvm2 [964.81 MB]
  Total: 4 [3.38 GB]/in use: 2 [1.96 GB]/in no VG: 2 [1.41 GB]

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg00   2   0   0 wz--n- 1.96G 1.96G

现在,我将新的物理卷/dev/hda9添加到卷组vg00。

[root@localhost ~]# vgextend vg00 /dev/hda9
  Volume group "vg00" successfully extended

在向其添加新的物理卷之后,现在检查卷组详细信息。

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg00   3   0   0 wz--n- 2.91G 2.91G

如何使用“ vgsplit”命令拆分卷组的物理卷。

在拆分卷组vg00之前,让我们看一下卷组。

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg00   3   0   0 wz--n- 2.91G 2.91G

[root@localhost ~]# pvscan
  PV /dev/hda7   VG vg00            lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG vg00            lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda9   VG vg00            lvm2 [964.00 MB/964.00 MB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 4 [3.38 GB]/in use: 3 [2.91 GB]/in no VG: 1 [482.83 MB]

现在我们可以清楚地看到,这里只有一个卷组,名为vg00,大小为2.91GB。
现在,我将使用vgsplit命令拆分此卷组vg00。

[root@localhost ~]# vgsplit vg00 vg11 /dev/hda7
  New volume group "vg11" successfully split from "vg00"

现在,在拆分卷组之后查看卷组详细信息,以确认成功拆分。

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize   VFree  
  vg00   2   0   0 wz--n-   2.07G   2.07G
  vg11   1   0   0 wz--n- 860.00M 860.00M

现在我们可以清楚地看到现在有两个卷组vg00和vg11.

[root@localhost ~]# pvscan
  PV /dev/hda8   VG vg00            lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda9   VG vg00            lvm2 [964.00 MB/964.00 MB free]
  PV /dev/hda7   VG vg11            lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 4 [3.38 GB]/in use: 3 [2.91 GB]/in no VG: 1 [482.83 MB]

我们可以清楚地看到两个卷组vg00和vg11,其中vg00由/dev/hda8组成,而/dev/hda9和vg11由/dev/hda7组成。

注意:无法在卷组之间拆分逻辑卷。
vgsplit仅移动完整的物理卷。

现在出现了一个问题,当我们要移动一部分物理体积时该怎么办?

答案非常简单,如果要移动一部分物理卷,只需使用pvmove命令。

如何使用vgmerge“命令”合并两个卷组。

在上面的pvscan输出中,我们可以清楚地看到现在有两个卷组“ vg00”和“ vg11”。
现在我要做的是合并或者可以说将这两个卷组合并在一起。
所以让我们看看如何合并或者合并使用“ vgmerge”命令合并这两个卷组。

[root@localhost ~]# vgmerge -v vg00 vg11
    Checking for volume group "vg00"
    Checking for volume group "vg11"
    Archiving volume group "vg11" metadata (seqno 2).
    Archiving volume group "vg00" metadata (seqno 5).
    Writing out updated volume group
    Creating volume group backup "/etc/lvm/backup/vg00" (seqno 6).
  Volume group "vg11" successfully merged into "vg00"

现在,我们可以使用vgs命令或者vgdisplay命令或者pvscan命令检查卷组状态或者卷组信息以进行确认。

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg00   3   0   0 wz--n- 2.91G 2.91G
[root@localhost ~]# pvscan
  PV /dev/hda8   VG vg00            lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda9   VG vg00            lvm2 [964.00 MB/964.00 MB free]
  PV /dev/hda7   VG vg00            lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 4 [3.38 GB]/in use: 3 [2.91 GB]/in no VG: 1 [482.83 MB]

如何使用“ vgrename”命令重命名卷组。

现在其中将介绍如何使用vgrename命令重命名卷组。

例如,我要将卷组vg00重命名为shivangi。

[root@localhost ~]# vgrename /dev/vg00 /dev/shivangi
  Volume group "vg00" successfully renamed to "shivangi"

为了进行确认,请使用vgs或者pvscan命令检查卷组信息。

[root@localhost ~]# vgs
  VG       #PV #LV #SN Attr   VSize VFree
  shivangi   3   0   0 wz--n- 2.91G 2.91G

[root@localhost ~]# pvscan
  PV /dev/hda8   VG shivangi        lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda9   VG shivangi        lvm2 [964.00 MB/964.00 MB free]
  PV /dev/hda7   VG shivangi        lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 4 [3.38 GB]/in use: 3 [2.91 GB]/in no VG: 1 [482.83 MB]

如何使用“ vgconvert”将lvm1转换为lvm2

[root@localhost ~]# vgconvert -M2 shivangi
  Volume group "shivangi" already uses format lvm2

因为我已经在使用lvm版本2,所以我们可以看到上面的输出。

现在如何将lvm2转换为lvm1.

如何降级LVM版本。

[root@localhost ~]# vgconvert -M1 shivangi
  Volume group shivangi successfully converted

为了进行确认,我们可以使用pvscan命令进行检查。

[root@localhost ~]# pvscan
  PV /dev/hda7   VG shivangi        lvm1 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG shivangi        lvm1 [1.12 GB/1.12 GB free]
  PV /dev/hda9   VG shivangi        lvm1 [964.00 MB/964.00 MB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 4 [3.38 GB]/in use: 3 [2.91 GB]/in no VG: 1 [482.83 MB]

因此,现在我们可以清楚地看到lvm版本为1,显示为lvm1.

我们也可以使用vgconvert命令将lvm版本1转换回lvm版本2.

[root@localhost ~]# vgconvert -M2 shivangi
  Volume group shivangi successfully converted

为了确认,请使用pvscan再次检查。

[root@localhost ~]# pvscan
  PV /dev/hda7   VG shivangi        lvm2 [860.00 MB/860.00 MB free]
  PV /dev/hda8   VG shivangi        lvm2 [1.12 GB/1.12 GB free]
  PV /dev/hda9   VG shivangi        lvm2 [964.00 MB/964.00 MB free]
  PV /dev/hda6                      lvm2 [482.83 MB]
  Total: 4 [3.38 GB]/in use: 3 [2.91 GB]/in no VG: 1 [482.83 MB]

因此,我们可以看到它已转换回lvm version2.