• LVM分区空间扩充


    老早之前自己整理的,今天有同事问起,再整理一下发出来。        

     LVM的全称为Logical Volume Manager,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

    PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。它只是在物理分区中划出了一个特殊的区域,用于记载与LVM相关的管理参数。 
    VG(volume group)
    :卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
    LV(logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
    PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
    LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。由于受内核限制的原因,一个逻辑卷(Logic Volume)最多只能包含65536PEPhysical Extent),所以一个PE的大小就决定了逻辑卷的最大容量,4 MB(默认) PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷,则创建卷组时需要指定更大的PE。在Red Hat Enterprise Linux AS 4PE大小范围为8 KB 16GB,并且必须总是 2 的倍数。 

    下面我们通过一个实例来说明如何创建LVM

    1.准备物理分区(Physical Partions 

      首先,我们需要选择用于 LVM 的物理存储器。这些通常是标准分区,但也可以是已创建的 Linux Software RAID 卷。这里我利用fdisk命令,将sdbsdc两块磁盘分了两个区sdb1sdc1 通过fdiskt指令指定分区为8e类型(Linux LVM) 。

    2.创建物理卷PVPhysical Volumes

    [root@cfbdb5 oracle]#pvcreate /dev/sdb1 
      Physical volume "/dev/sdb1" successfully created
    [root@cfbdb5 oracle]#
     pvcreate /dev/sdc1 
      Physical volume "/dev/sdc1" successfully created

    3.创建卷组VGVolume Groups,命名为vg_test

    [root@cfbdb5 ~]#vgcreate vg_test /dev/sdb1
      Volume group "vg_test" successfully created

    使用卷组查看命令vgdisplay显示卷组情况:

    [root@cfbdb5 oracle]# vgdisplay
      --- Volume group ---
      VG Name               vg_test
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  6
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               19.99 GB
      PE Size               4.00 MB
      Total PE              5118
      Alloc PE / Size       2560 / 10.00 GB
      Free  PE / Size       2558 / 9.99 GB
      VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

    4.创建逻辑卷LVLogical Volumes ,命名为test_lv

    创建逻辑卷的命令为lvcreate-l 参数为定PE数来设定逻辑分区大小,也可以使用-L参数直接指定逻辑分区大小,-n参数指定逻辑分区名称。

    [root@cfbdb5 oracle]# lvcreate -l 2000 -n lv_test vg_test
      Logical volume "lv_test" created

    也可以使用-L参数

    [root@cfbdb5 oracle]# lvcreate -L 10G -n lv_test vg_test
      Rounding up size to full physical extent 19.99 GB
      Logical volume "lv_test" created

    使用lvdisplay命令查看逻辑卷情况

    [root@cfbdb5 oracle]#lvdisplay
      --- Logical volume ---
      LV Name                /dev/vg_test/lv_test
      VG Name                vg_test
      LV UUID                kgUoMy-W1qG-7tAQ-dI5j-Z2KO-a8Td-mXAFbc
      LV Write Access        read/write
      LV Status              available
      # open                 0
      LV Size                19.99 GB
      Current LE             5118
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:2

    5.创建文件系统,并挂载

    在逻辑卷上创建ext3文件系统

    [root@cfbdb5 oracle]#mkfs -t ext3 /dev/vg_test/lv_test 

    [root@cfbdb5 oracle]#mount /dev/vg_test/lv_test /opt/oracle/
    [root@cfbdb5 oracle]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup00-LogVol00
                           16G  4.7G   11G  32% /
    /dev/sda1              99M   27M   67M  29% /boot
    tmpfs                 872M     0  872M   0% /dev/shm
    /dev/mapper/vg_test-lv_test
                          9.9G  151M  9.2G   2% /opt/oracle

    管理LVM 

      LVM的最大好处就是可以动态地调整分区大小,而无须重新启动机器,下面让我们来体验一下吧!继续上面的实例,现假设逻辑卷/dev/vg_test/lv_test空间不足,需要增加其大小,我们分两种情况讨论: 

    1.卷组中有剩余的空间 

      通过vgdisplay命令可以检查当前卷组空间使用情况

    [root@cfbdb5 oracle]# vgdisplay
      --- Volume group ---
      VG Name               vg_test
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  6
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               19.99 GB
      PE Size               4.00 MB
      Total PE              5118
      Alloc PE / Size       2560 / 10.00 GB
      Free  PE / Size       2558 / 9.99 GB
      VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

    确定当前卷组剩余空间9.99GB,剩余PE数量为2558个。在这里将所有的剩余空间全部增加给逻辑卷 /dev/vg_test/lv_test

    [root@cfbdb5 oracle]# lvextend -l +2558 /dev/vg_test/lv_test 
      Extending logical volume lv_test to 19.99 GB
      Logical volume lv_test successfully resized 

    也可以通过-L直接指定大小,通过 +/- 增加/减小 空间。

    修改逻辑卷大小后,通过resize2fs来修改文件系统的大小。

    [root@cfbdb5 oracle]#resize2fs /dev/vg_test/lv_test 
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/vg_test/lv_test is mounted on /opt/oracle; on-line resizing required
    Performing an on-line resize of /dev/vg_test/lv_test to 5240832 (4k) blocks.
    The filesystem on /dev/vg_test/lv_test is now 5240832 blocks long.

    再次查看文件系统的大小:
    [root@cfbdb5 oracle]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup00-LogVol00
                           16G  4.7G   11G  32% /
    /dev/sda1              99M   27M   67M  29% /boot
    tmpfs                 872M     0  872M   0% /dev/shm
    /dev/mapper/vg_test-lv_test
                           20G  156M   19G   1% /opt/oracle

    2.卷组中空间不足 

      当卷组中没有足够的空间用于扩展逻辑卷的大小时,就需要增加卷组的容量,而增加卷组容量的惟一办法就是向卷组中添加新的物理卷。 
      首先需要对新增加的磁盘进行分区创建物理卷等工作。),接下来是利用vgextend命令将新的物理卷加入到卷组中, 我们这里使用/dev/sdc1

    [root@cfbdb5 oracle]#vgextend vg_test /dev/sdc1  
      Volume group "vg_test" successfully extended

    [root@cfbdb5 oracle]# vgdisplay
      --- Volume group ---
      VG Name               vg_test
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  8
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               59.98 GB
      PE Size               4.00 MB
      Total PE              15356
      Alloc PE / Size       5118 / 19.99 GB
      Free  PE / Size       10238 / 39.99 GB
      VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

    完成卷组的扩容后,就可以按照第一种情况的方法完成逻辑卷的扩容,最终实现分区的动态调整。

    补充实际操作截图:

    虚拟机增加新的硬盘(一定要增加新的硬盘)

    1. 添加fdisk sdd 分区后 直接  加了分区后要分一下区 fdisk
    2. 分区后就自动产生了 /odev/sde1  
    3. vgextend  datavg /dev/sdd1(添加SDC 磁盘4)

      在查询的就可以看到  free 变大了

      lvextend -L +200G -n  /dev/mapper/datavg-lv—oracle

      lvextend -L +700G -n  /dev/mapper/vgoracle-lvoracle

      resize2fs  /dev/mapper/datavg-lv—oracle

      resize2fs /dev/mapper/vgoracle-lvoracle

  • 相关阅读:
    排序的本质:
    玩转Configmap配置应用的各种姿势
    Python-面向对象
    uniapp 放大中间图标
    面试秘籍 | 软件测试必备的mysql数据库技术
    Stereo R-CNN based 3D Object Detection for Autonomous Driving
    【Verilog基础】【计算机体系结构】深入理解Cache一致性(针对多核SoC系统)
    ggVennDiagram--绘制简单美观不同调色板的韦恩图1
    Flink--4、DateStream API(执行环境、源算子、基本转换算子)
    最强大脑记忆曲线(13)--应用程序的加密及授权码的实现
  • 原文地址:https://blog.csdn.net/nopicture/article/details/133096639