zoukankan      html  css  js  c++  java
  • 【转载】在Linux中扩展/缩减LVM(第二部分)

    声明:只是找个地儿把用过的有用的东西堆一起,不喜勿喷。

    原文地址:https://linux.cn/article-3974-1.html

    前面我们已经了解了怎样使用LVM创建弹性的磁盘存储。这里,我们将了解怎样来扩展卷组,扩展和缩减逻辑卷。在这里,我们可以缩减或者扩展逻辑卷管理(LVM)中的分区,LVM也可称之为弹性卷文件系统。

    前置需求

    什么时候我们需要缩减卷?

    或许我们需要创建一个独立的分区用于其它用途,或者我们需要扩展任何空间低的分区。遇到这种情况时,使用 LVM我们可以很容易地缩减大尺寸的分区,以及扩展空间低的分区,只要按下面几个简易的步骤来即可。

    我的服务器设置 —— 需求

    • 操作系统 – 安装有LVM的CentOS 6.5
    • 服务器IP – 192.168.0.200

    如何扩展卷组以及缩减逻辑卷

    扩展逻辑卷

    目前,我们已经有一个PV,VG和2个LV。让我们用下面的命令来列出它们。

    1. # pvs
    2. # vgs
    3. # lvs

    逻辑卷扩展

    逻辑卷扩展

    在物理卷和卷组中没有空闲空间可用了,所以,现在我们不能扩展逻辑卷的大小。要扩展,我们需要添加一个物理卷(PV),然后通过扩展vg来扩展卷组,这样我们就会得到足够大的空间来扩展逻辑卷大小了。所以,首先我们应该去添加一个物理卷。

    要添加一个新PV,我们必须使用fdisk来创建一个LVM分区。

    1. # fdisk -cu /dev/sda
    • 选择n来创建新分区。
    • 选择p来创建主分区。
    • 选择我们需要创建的分区号。
    • 如果有其它可用磁盘,请按1。
    • 使用t来修改分区类型。
    • 输入8e来将分区类型修改为Linux LVM。
    • 使用p来打印创建的分区(这里我们没有使用该选项)。
    • 按w写入修改。

    完成后重启系统。

    创建LVM分区

    创建LVM分区

    使用fdisk列出并检查我们创建的分区。

    1. # fdisk -l /dev/sda

    验证LVM分区

    验证LVM分区

    接下来,使用下列命令来创建新PV(物理卷)。

    1. # pvcreate /dev/sda1

    使用下面的命令来验证pv。

    1. # pvs

    创建物理卷

    创建物理卷

    扩展卷组

    添加该pv到vg_tecmint卷组来扩展卷组的大小,以获取更多空间来扩展lv。

    1. # vgextend vg_tecmint /dev/sda1

    让我们检查现在正在使用的卷组的大小。

    1. # vgs

    扩展卷组

    扩展卷组

    我们甚至可以看到哪个PV用于创建使用中的特定卷组。

    1. # pvscan

    检查卷组

    检查卷组

    这里,我们可以看到卷组所处的物理卷。我们已经添加了一个pv,而且它完全空着。在扩展逻辑卷之前,让我们先看看我们所拥有的各个卷组的大小。

    检查所有逻辑卷

    检查所有逻辑卷

    • LogVol00用于Swap。
    • LogVol01用于/。
    • 现在我们有16.50GB大小的空间用于/(root)。
    • 当前有4226物理扩展(PE)可用。

    现在,我们打算去扩展/分区LogVol01。在扩展后,我们可以像上面那样列出它的大小以确认。我们能可以使用GB或PE来扩展,这一点我已经在LVM第一部分解释过了,这里我使用PE来扩展。

    要获取可用的物理扩展大小,运行以下命令。

    1. # vgdisplay

    检查可用的物理扩展

    检查可用的物理扩展

    总共有4607空闲PE可用,亦即有18GB空间空间可用。因此,我们可以将我们的逻辑卷扩展到18GB这么大。让我们使用PE大小来扩展。

    1. # lvextend -l +4607 /dev/vg_tecmint/LogVol01

    使用+来添加更多空间。在扩展后,我们需要改变文件系统大小,使用以下命令。

    1. # resize2fs /dev/vg_tecmint/LogVol01

    Expand Logical Volume扩展逻辑卷

    Expand Logical Volume

    • 用来使用物理扩展扩展逻辑卷的命令。
    • 这里我们可以看到它从16.51GB扩展到了34GB。
    • 如果文件系统已被挂载并处于使用中,改变文件系统大小。
    • 要扩展逻辑卷,我们不需要卸载文件系统

    现在,让我们看看当前使用的改变大小后的逻辑卷。

    1. # lvdisplay

    改变逻辑卷大小

    改变逻辑卷大小

    • LogVol01用于扩展的卷 /。
    • 扩展后,从16.50GB上升到了34.50GB。
    • C当前扩展,在扩展前有4226,我们已经添加了4607个扩展,因此现在有8833。

    现在,如果我们检查可用的vg的话,空闲PE将会是0。

    1. # vgdisplay

    查看扩展的结果。

    1. # pvs
    2. # vgs
    3. # lvs

    验证分区大小改变

    验证分区大小改变

    • 添加的新物理卷。
    • 卷组vg_tecmint从17.51GB扩展到了35.50GB。
    • 逻辑卷LogVol01从16.51GB扩展到了34.50GB。

    这里,我们已经完成扩展卷组和逻辑卷的过程。让我们一起迈向逻辑卷管理中一些有趣的部分。

    缩减逻辑卷(LVM)

    这里,我们将了解如何缩减逻辑卷。人人都说它很危险,在缩减lvm的时候可能会导致灾难。缩减lvm在逻辑卷管理中比其它部分要来得确实有趣得多。

    • 在开始之前,备份好数据总是对的,这样如果出错,就不会头痛了。
    • 要缩减逻辑卷,需要小心翼翼地完成5个步骤。
    • 在扩展一个卷的时候,我们可以在该卷挂载时扩展它(在线),但对于缩减,我们必须在缩减前卸载文件系统。

    让我们来了解一下下面这5个步骤。

    • 卸载文件系统以便缩减。
    • 在卸载后检查文件系统。
    • 缩减文件系统。
    • 5减少当前逻辑卷大小。
    • 再检查文件系统以防出错。
    • 将文件系统再次挂载回去。

    为了演示,我已经创建了独立的卷组和逻辑卷。这里,我将缩减逻辑卷tecmintreducetest。现在它有18GB大小,我们需要将它缩减到10GB而不丢失数据。也就是说,我们需要从18GB中减少8GB。卷中已经有4GB被使用。

    1. 18GB ---> 10GB

    在缩减大小的时候,我们只需要缩减8GB,所以在缩减后它总计会有10GB。

    1. # lvs

     缩减逻辑卷

    缩减逻辑卷

    这里,我们可以看到文件系统信息。

    1. # df -h

    检查文件系统大小

    检查文件系统大小

    • 卷大小是18GB。
    • 它已经使用了3.9GB。
    • 可用空间是13GB。

    首先,卸载挂载点。

    1. # umount -v /mnt/tecmint_reduce_test/

    卸载分区

    卸载分区

    然后,使用以下命令来检查文件系统错误。

    1. # e2fsck -ff /dev/vg_tecmint_extra/tecmint_reduce_test

    扫描分区错误

    扫描分区错误

    注意:必须通过所有文件系统检查的5个步骤,若未完全通过,则你的文件系统可能存在问题。

    接下来,缩减文件系统。

    1. # resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test 8GB

    缩减文件系统

    缩减文件系统

    使用GB来缩减逻辑卷。

    1. # lvreduce -L -8G /dev/vg_tecmint_extra/tecmint_reduce_test

    缩减逻辑分区

    缩减逻辑分区

    要使用PE来缩减逻辑卷,我们需要知道默认PE大小和卷组的总PE大小,以进行一次小小的计算来得出准确的缩减大小。

    1. # lvdisplay vg_tecmint_extra

    这里,我们需要使用bc命令来做一些小计算来获得10GB的PE大小。

    1. 1024MB x 10GB = 10240MB or 10GB
    2.  
    3. 10240MB / 4PE = 2048PE

    按CTRL+D来退出BC。

    计算PE大小

    计算PE大小

    使用PE来缩减大小。

    1. # lvreduce -l -2048 /dev/vg_tecmint_extra/tecmint_reduce_test

     使用PE来缩减大小

    使用PE来缩减大小

    将文件系统大小调整回去。在这一步中,如果发生任何错误,这就意味着我们已经将文件系统搞乱了。

    1. # resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test

    Resize File System

    Resize File System

    将文件系统挂载回同样的挂载点。

    1. # mount /dev/vg_tecmint_extra/tecmint_reduce_test /mnt/tecmint_reduce_test/

    挂载文件系统

    挂载文件系统

    检查分区和文件的大小。

    1. # lvdisplay vg_tecmint_extra

    这里,我们可以看到最后的结果,逻辑已经被缩减到10GB。

    Verify Logical Volume Size

    Verify Logical Volume Size

    在本文中,我们已经了解了如何来扩增卷组、逻辑卷以及缩减逻辑卷。在下一部分(第三部分)中,我们将了解如何为逻辑卷做快照并将它恢复到更早的状态。

  • 相关阅读:
    广域网(ppp协议、HDLC协议)
    0120. Triangle (M)
    0589. N-ary Tree Preorder Traversal (E)
    0377. Combination Sum IV (M)
    1074. Number of Submatrices That Sum to Target (H)
    1209. Remove All Adjacent Duplicates in String II (M)
    0509. Fibonacci Number (E)
    0086. Partition List (M)
    0667. Beautiful Arrangement II (M)
    1302. Deepest Leaves Sum (M)
  • 原文地址:https://www.cnblogs.com/chaos-li/p/10830576.html
Copyright © 2011-2022 走看看