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
二、创建物理卷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.x磁盘扩容的方法了,如有问题,可与博主一起交流讨论!