centos7.x磁盘扩容之一

条件:

针对虚机、云主机等,磁盘是lvm分区方式

前言:

PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。

背景:

今天在影子环境做mongodb数据库恢复的时候,恢复失败了,排查后发现是磁盘空间不足导致的,于是让信息部给sdb磁盘增加了200G空间,增加后重启机器df -TH 发现挂载点空间没变,原来是需要格式化挂载使用,接下来就把sdb新增的空间加到逻辑卷上。

操作步骤:
一、查看磁盘空间使用情况
$ sudo -s
# df -HT

centos7 分区逻辑卷 centos7逻辑卷扩容_磁盘扩容

二、创建物理卷pv
# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               199.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              51074
  Free PE               0
  Allocated PE          51074
  PV UUID               bMJYI7-koji-x1eG-Jam8-3yGa-OMxd-y6rfTo

  --- Physical volume ---
  PV Name               /dev/sdb     ###创建成功
  VG Name               centos
  PV Size               200.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              51199
  Free PE               15
  Allocated PE          51184
  PV UUID               tBxiGC-Hl72-Wk4e-oHuU-8Uvn-pAWc-HzfauQ
二、新增分区/dev/sdb加入到根目录分区centos中
# vgextend centos /dev/sdb
  Volume group "centos" successfully extended
# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  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               399.50 GiB           ###卷组成功增加到400G大小
  PE Size               4.00 MiB
  Total PE              102273
  Alloc PE / Size       102258 / 399.45 GiB
  Free  PE / Size       15 / 60.00 MiB
  VG UUID               10V8G0-hff1-2A6q-S4gB-noJL-sD5X-VvYYWh
三、逻辑卷扩容

因为这里是要扩容home目录,所以先用lvdisplay命令查看home目录对应的逻辑卷地址(LV Path),通过查看得到的地址是 /dev/centos/home,所以直接扩容这个地址就好了。

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                fUvooS-iOMb-7gX6-3fSX-FVEz-GzSP-iYy5gH
  LV Write Access        read/write
  LV Creation host, time centos, 2016-03-03 00:51:48 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                r16z2g-pCgX-Xodv-dvgM-4wFt-eqn2-Vh61kL
  LV Write Access        read/write
  LV Creation host, time centos, 2016-03-03 00:51:48 +0800
  LV Status              available
  # open                 1
  LV Size                347.45 GiB
  Current LE             88946
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                fW6l26-s9QC-2P8c-96is-BpYI-9RT3-Uze7x7
  LV Write Access        read/write
  LV Creation host, time centos, 2016-03-03 00:51:49 +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

# lvextend -L +200G /dev/centos/home          --扩容命令
  Size of logical volume centos/home changed from 147.45 GiB (37746 extents) to 347.45 GiB (88946 extents).
  Logical volume home successfully resized.
四、重新识别文件系统
# xfs_growfs /dev/centos/home
meta-data=/dev/mapper/centos-home isize=256    agcount=4, agsize=9662976 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=38651904, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=18873, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 38651904 to 91080704

注意:
 我的逻辑卷的文件系统为xfs所以用xfs_growfs来识别,如果你的是ext4文件系统,则应该使用:
 resize2fs /dev/centos/home

五、验证
# df -HT

centos7 分区逻辑卷 centos7逻辑卷扩容_逻辑卷_02


推荐博客:

好了,这就是centos7.x磁盘扩容的方法了,如有问题,可与博主一起交流讨论!