zoukankan      html  css  js  c++  java
  • lvm空间扩容

    打算给系统装一个oracle,发现磁盘空间不足。在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区。为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这样做。

    参于LVM基本介绍与常用命令请参考:http://www.cnblogs.com/jackruicao/p/6258812.html


    LVM结构图

    扩容之前的磁盘状况

    [root@localhost ~]# df -h

    文件系统             容量 已用 可用已用%%挂载点

    /dev/mapper/VolGroup-lv_root 5.3G  2.5G  2.6G  50% /

    tmpfs                 538M     0  538M   0% /dev/shm

    /dev/sda1             485M   30M  430M   7% /boot

    [root@localhost ~]# fdisk -l

    Disk /dev/sda: 8589 MB, 8589934592 bytes

    ...............

    Device Boot      Start         End      Blocks   Id  System

    /dev/sda1   *           1          64      512000   83  Linux

    Partition 1 does not end on cylinder boundary.

    /dev/sda2              64        1045     7875584   8e  Linux LVM

    Disk /dev/mapper/VolGroup-lv_root: 5779 MB, 5779750912 bytes

    ........

    Disk /dev/mapper/VolGroup-lv_swap: 2281 MB, 2281701376 bytes

    .........

    此次扩容的方案为:

    1、加1个5G的空间给/

    2、加1个10G的空间给/oracle

    (一)   VM中加一个15G的磁盘

    重启后#fdisk –l可以看到新的磁盘已经认出来了。

    Disk /dev/sdb: 16.1 GB, 16106127360 bytes

    ............................

    Disk /dev/sdb doesn't contain a valid partition table

    (二)创建物理卷(PV)

    #pvcreate /dev/sdb

    查看系统PV的情况:

    [root@localhost ~]# pvdisplay

    --- Physical volume ---

    PV Name               /dev/sda2  //原有硬盘上的PV

    VG Name               VolGroup

    PV Size               7.51 GiB / not usable 3.00 MiB

    Allocatable           yes (but full)

    PE Size               4.00 MiB

    Total PE              1922

    Free PE               0

    Allocated PE          1922

    PV UUID               SGH1dY-4tp2-Nr1a-w93Z-V4LA-pQBh-VGzzTH

    "/dev/sdb" is a new physical volume of "15.00 GiB"

    --- NEW Physical volume ---

    PV Name               /dev/sdb

    VG Name                //新建的PV的VG name是空的,下一步就是把PV加入VG

    PV Size               15.00 GiB

    Allocatable           NO

    PE Size               0

    Total PE              0

    Free PE               0

    Allocated PE          0

    PV UUID               8TZUlz-YyUp-RBvf-lSzm-7MgG-DSZS-qNqX1Z

    查看原VG的情况

    [root@localhost ~]# vgdisplay

    --- Volume group ---

    VG Name               VolGroup //注意记录此名字,扩容时将新的pv加入指定的名字

    System ID

    Format                lvm2

    Metadata Areas        1

    Metadata Sequence No  3

    VG Access             read/write

    VG Status             resizable

    MAX LV                0

    Cur LV                2

    Open LV               2

    Max PV                0

    Cur PV                1

    Act PV                1

    VG Size               7.51 GiB

    PE Size               4.00 MiB

    Total PE              1922

    AllocPE / Size       1922 / 7.51 GiB

    Free  PE / Size       0 / 0

    VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

    (三)#扩展卷组,/dev/sdb物理卷添加到VolGroup卷组中

    [root@localhost ~]# vgextend VolGroup /dev/sdb

    Volume group "VolGroup" successfully extended

    再查看VG情况,可以看到VG大小变化,空余空间。

    [root@localhost ~]# vgdisplay

    --- Volume group ---

    VG Name               VolGroup

    System ID

    Format                lvm2

    Metadata Areas        2

    Metadata Sequence No  4

    VG Access             read/write

    VG Status             resizable

    MAX LV                0

    Cur LV                2

    Open LV               2

    Max PV                0

    Cur PV                2

    Act PV                2

    VG Size               22.50 GiB

    PE Size               4.00 MiB

    Total PE              5761

    AllocPE / Size       1922 / 7.51 GiB

    Free  PE / Size       3839 / 15.00 GiB

    VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

    (四)将新的VG空间划入LV(扩容lv_root

    #直接扩展5G给/root分区,不用umount,也不需要重启

    # lvextend -L +5G  /dev/mapper/VolGroup-lv_root

    Extending logical volume lv_root to 10.38 GiB

    Logical volume lv_root successfully resized

    也可以使用命令

     # lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root

    此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.

    #检查/root逻辑卷

    #e2fsck -f /dev/mapper/VolGroup-lv_root

    #重新定义分区大小

    #resize2fs /dev/mapper/VolGroup-lv_root

    以往的centos使用的文件系统是  ext2/ext3/ext4   
    其对应的的调整命令是resize2fs

    CentOS7.0的默认文件系统类型是 Xfs 其对应的调整命令是 xfs_growfs 不同文件系统类型对应的创建、检查、调整命令不同,要注意区分。

    
    
    看下系统文件类型
    # df -hT
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root xfs        23G  1.4G   22G   6% /
    devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
    tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
    tmpfs                   tmpfs     1.9G  8.6M  1.9G   1% /run
    tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
    /dev/sda1               xfs       497M  125M  373M  26% /boot
    tmpfs                   tmpfs     379M     0  379M   0% /run/user/0
    
    
     使用新命令 
    # xfs_growfs /dev/centos/root 
    meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=1144832 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0        finobt=0
    data     =                       bsize=4096   blocks=4579328, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal               bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 4579328 to 5890048
    
    [root@localhost host0]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   23G  1.4G   22G   6% /
    devtmpfs                 1.9G     0  1.9G   0% /dev
    tmpfs                    1.9G     0  1.9G   0% /dev/shm
    tmpfs                    1.9G  8.6M  1.9G   1% /run
    tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
    /dev/sda1                497M  125M  373M  26% /boot
    tmpfs                    379M     0  379M   0% /run/user/0
    扩容成功!

     

    查看/目录大小


    可以看到/目录已经从原来的5.3G扩容到了11G。

    (五)LV卷空间分配(新增lv_oracle

    在VG中还有新增的10G没有用,可以将VG中的空余空间划分为LV,并将新的LV挂载在目录下。

    # vgs

    VG       #PV #LV #SN Attr   VSize  VFree

    VolGroup   2   2   0 wz--n- 22.50g10.00g

    //可以通过#vgs命令查看vg信息统计,可以看到VFree还有10G。

    将VG空余的空间化分为LV

    #lvcreate -L 10G -n lv_oracle VolGroup


    图四

    //少了一点点空间…

    //可以用-l 分,它是按pv块数来分的。一个pv默认是4M,可是从vgdisplay中去查vg中还剩多少pv以及总数是多少。


    图五

    //查到剩余2559个PE,于是执行

    # lvcreate -l 2559 -n lv_oracle VolGroup

    Logical volume "lv_oracle" created

    提示创建成功后,用vgs和lvs命令分别查看。

    图六

     

    (五)挂载LV到目录下

    接下来就是要把lv_oracle挂到/oracle,目录下

    #cd /
    #mkdir oracle
    #chmod 777 /oracle

    创建/oracle目录并修改权限

    # vi /etc/fstab

    可以看到目前挂载分区的情况

    图七

    //我们可以参照/的分区把oracle的加上去。加入这行:

    /dev/mapper/VolGroup-lv_oracle      /oracle    ext4 defaults  0 0

     然后把lv_oracle格式化成ext4

    #mkfs.ext4 /dev/mapper/VolGroup-lv_oracle

    图八

    将lv_oracle  mount到目录/oracle上

    # mount /dev/mapper/VolGroup-lv_oracle /oracle之后查看一下分区情况


    图九

    可以重启系统检查一下是否正常。


    图十

  • 相关阅读:
    animation——鼠标放上图片旋转
    docker安装Redis并设置密码
    Docker安装MySQL详细教程(mysql是5.7版本,可以根据自己需要修改版本)
    Linux安装jdk(两种方式)
    Nginx http 反向代理高级应用
    jenkins 远程启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    从一个Git仓库转移到另外一个仓库
    使用Spring @DependsOn控制bean加载顺序
    Swagger2异常:Illegal DefaultValue null for parameter type integer java
    springboot的实体类Integer和int如何选择
  • 原文地址:https://www.cnblogs.com/baiquan/p/7700221.html
Copyright © 2011-2022 走看看