zoukankan      html  css  js  c++  java
  • [linux] LVM磁盘管理(针对xfs和ext4不同文件系统)

    简单来说就是:
    PV:是物理的磁盘分区
    VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘
    LV:也就是从VG中划分的逻辑分区
    如下图所示PV、VG、LV三者关系:

    -----------------------------------------------------------------------

    特别注意的是:
    resize2fs命令            针对的是ext2、ext3、ext4文件系统
    xfs_growfs命令         针对的是xfs文件系统

    -----------------------------------------------------------------------

      一、LVM在线扩容

      0.查看/home大小为96G

    [root@PT233v184 ~]# df -h
    Filesystem           Size  Used Avail Use% Mounted on
    /dev/mapper/cl-root   50G  1.7G   49G   4% /
    devtmpfs             3.9G     0  3.9G   0% /dev
    tmpfs                3.9G   12K  3.9G   1% /dev/shm
    tmpfs                3.9G  8.4M  3.9G   1% /run
    tmpfs                3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/vda1           1014M  139M  876M  14% /boot
    /dev/mapper/cl-home   96G   32G   64G  34% /home
    tmpfs                783M     0  783M   0% /run/user/1000

      1.假设新增的磁盘为/dev/vdb,对磁盘分区。这一步不分区也可行,后文另有说明。

    [root@PT233v184 ~]# fdisk /dev/vdb 
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    Device does not contain a recognized partition table
    Building a new DOS disklabel with disk identifier 0x304ff336.
    
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    Partition number (1-4, default 1): 
    First sector (2048-629145599, default 2048): 
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): 
    Using default value 629145599
    Partition 1 of type Linux and of size 300 GiB is set
    
    Command (m for help): t
    Selected partition 1
    Hex code (type L to list all codes): 8e
    Changed type of partition 'Linux' to 'Linux LVM'
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    

      2.创建PV

    [root@PT233v184 ~]# pvcreate /dev/vdb1
      Physical volume "/dev/vdb1" successfully created
    

      3.加入VG,lvdisplay查看已存在的"VG Name",cl

    [root@PT233v184 ~]# vgdisplay 
      --- Volume group ---
      VG Name               cl
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                3
      Open LV               3
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               149.00 GiB
      PE Size               4.00 MiB
      Total PE              38143
      Alloc PE / Size       38142 / 148.99 GiB
      Free  PE / Size       1 / 4.00 MiB
      VG UUID               dGSxPy-2MJ2-TgiB-n3f8-tRCb-NAco-ZCcoSo
       
    [root@PT233v184 ~]# vgextend cl /dev/vdb1
      Volume group "cl" successfully extended
    

      4.扩容LV分区,lvdisplay查看要扩容的"LV Path",/dev/cl/home

    [root@PT233v184 ~]# lvdisplay 
      --- Logical volume ---
      LV Path                /dev/cl/swap
      LV Name                swap
      VG Name                cl
      LV UUID                NCfBQB-hUSM-ISL0-GUL0-KNru-2qsC-qqoBuE
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2017-10-13 09:24:40 +0800
      LV Status              available
      # open                 2
      LV Size                3.88 GiB
      Current LE             992
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:1
       
      --- Logical volume ---
      LV Path                /dev/cl/home
      LV Name                home
      VG Name                cl
      LV UUID                KUyFmw-TeAX-EcBd-fOX3-vJ00-ceCQ-tHcL4I
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2017-10-13 09:24:40 +0800
      LV Status              available
      # open                 1
      LV Size                95.12 GiB
      Current LE             24350
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:2
       
      --- Logical volume ---
      LV Path                /dev/cl/root
      LV Name                root
      VG Name                cl
      LV UUID                7u7ZgM-Zn2l-n2ET-y3Ec-EFHx-bzyP-sNVsJK
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2017-10-13 09:24:41 +0800
      LV Status              available
      # open                 1
      LV Size                50.00 GiB
      Current LE             12800
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0
       
    #vgdisplay查看可用空间"Free PE / Size",76800
    [root@PT233v184 ~]# vgdisplay 
      --- Volume group ---
      VG Name               cl
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  5
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                3
      Open LV               3
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               448.99 GiB
      PE Size               4.00 MiB
      Total PE              114942
      Alloc PE / Size       38142 / 148.99 GiB
      Free  PE / Size       76800 / 300.00 GiB
      VG UUID               dGSxPy-2MJ2-TgiB-n3f8-tRCb-NAco-ZCcoSo
       
    [root@PT233v184 ~]# lvextend -l +76800 /dev/cl/home
      Size of logical volume cl/home changed from 95.12 GiB (24350 extents) to 395.12 GiB (101150 extents).
      Logical volume cl/home successfully resized.
    

      4.a.多种lvextend扩容参数

    lvextend -L 390G /dev/cl/home      #增大至390G
    lvextend -L +300G /dev/cl/home     #增加300G
    lvextend -l 100126 /dev/cl/home    #增加至100126个PE
    lvextend -l +76800 /dev/cl/home    #增加76800个PE
    lvextend -l +100%FREE /dev/cl/home #剩余的空间全部增加给LV
    

      5.执行重设大小

    ext2/ext3/ext4文件系统的调整命令是resize2fs
    resize2fs /dev/cl/home
    xfs文件系统的调整命令是xfs_growfs
    xfs_growfs /dev/cl/home
    [root@PT233v184 ~]# xfs_growfs /dev/cl/home
    meta-data=/dev/mapper/cl-home    isize=512    agcount=4, agsize=6233600 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=24934400, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=12175, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 24934400 to 103577600
    

      6.再次查看/home大小

    [root@PT233v184 ~]# df -h
    Filesystem           Size  Used Avail Use% Mounted on
    /dev/mapper/cl-root   50G  1.7G   49G   4% /
    devtmpfs             3.9G     0  3.9G   0% /dev
    tmpfs                3.9G   12K  3.9G   1% /dev/shm
    tmpfs                3.9G  8.4M  3.9G   1% /run
    tmpfs                3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/vda1           1014M  139M  876M  14% /boot
    /dev/mapper/cl-home  396G   34G  362G   9% /home
    tmpfs                783M     0  783M   0% /run/user/1000
    

      二、LVM初次增加

    #磁盘分区
    无论新挂载点或者现有挂载点在线扩容,不需要分区,直接pvcreate走起,我也不知道磁盘分区的目的是什么了,可能是不想把整块磁盘的空间全部扩容给lv吧。
    
    # 创建PV、VG、LV
    pvcreate /dev/vdb
    vgcreate vg_data /dev/vdb
    lvcreate -l 25599 -n lv_data vg_data
    lvcreate -l +100%FREE -n lv_data vg_data
    
    # 格式化磁盘
    mkfs.xfs /dev/vg_data/lv_data
    
    # 修改/etc/fstab,挂载磁盘
    echo "/dev/vg_data/lv_data                      /data                   xfs     defaults        0 0" >> /etc/fstab
    mkdir -p /data
    mount -a
    df -h

      三、LVM减小磁盘

  • 相关阅读:
    在vue中使用pug
    【心无旁骛】vuex-simple
    Property 'validate' does not exist on type 'Element | Element[] | Vue | Vue[]'. Property 'valid...
    【心无旁骛】vue-ts-daily
    Vuex持久化存储之vuex-persist
    canvas 水滴图、液体进度条、仿加速球、圆球水波图
    stackoverflow愚人节彩蛋效果
    Windows平台网站图片服务器架构的演进[转]
    SQL Server AlwaysOn架构及原理
    AlwaysON同步的原理及可用模式
  • 原文地址:https://www.cnblogs.com/hjfeng1988/p/7799741.html
Copyright © 2011-2022 走看看