小樱 发表于 2026/2/23 09:33

linux centos7升级vps扩容硬盘容量lvm操作说明 growpart

linux centos7升级vps扩容硬盘容量lvm操作说明 growpart

以前介绍过centos6的扩容方法,创建新的分区然后扩容
https://bbs.itzmx.com/thread-21922-1-1.html

centos7可以不创建新分区直接扩容
df -h
文件系统               容量已用可用 已用% 挂载点
devtmpfs               989M   0989M    0% /dev
tmpfs                   1000M   0 1000M    0% /dev/shm
tmpfs                   1000M8.5M991M    1% /run
tmpfs                   1000M   0 1000M    0% /sys/fs/cgroup
/dev/mapper/centos-root   18G1.7G   15G   11% /
/dev/vda1                283M108M157M   41% /boot
tmpfs                  200M   0200M    0% /run/user/0

fdisk -l
磁盘 /dev/vda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c196c

   设备 Boot      Start         End      Blocks   IdSystem
/dev/vda1   *      2048      616447      307200   83Linux
/dev/vda2          616448    41943039    20663296   8eLinux LVM

磁盘 /dev/mapper/centos-root:19.0 GB, 19008585728 字节,37126144 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

yum -y install cloud-utils-growpart

当前/dev/vda2 是 20G,扩容到30G,注意有vda后面的空格不要删
LANG=en_US.UTF-8 growpart /dev/vda 2
pvresize /dev/vda2
lvextend -r -l +100%FREE /dev/mapper/centos-root

# LANG=en_US.UTF-8 growpart /dev/vda 2
CHANGED: partition=2 start=616448 old: size=41326592 end=41943040 new: size=62298079 end=62914527
# pvresize /dev/vda2
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
# lvextend -r -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 17.70 GiB (4532 extents) to 27.70 GiB (7092 extents).
Logical volume centos/root successfully resized.
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/centos-root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/mapper/centos-root is now 7262208 blocks long.

# df -h
文件系统               容量已用可用 已用% 挂载点
devtmpfs               989M   0989M    0% /dev
tmpfs                   1000M   0 1000M    0% /dev/shm
tmpfs                   1000M8.5M991M    1% /run
tmpfs                   1000M   0 1000M    0% /sys/fs/cgroup
/dev/mapper/centos-root   28G1.7G   25G    7% /
/dev/vda1                283M108M157M   41% /boot
tmpfs                  200M   0200M    0% /run/user/0
#

教程现已确认可用状态,但是操作前依旧请备份或打快照

试了几次centos6的方法 折腾了几次 一分区就爆了,研究了好久找到了具体原因
因为centos7用的不是磁盘柱面而是扇区,fdisk -l给出的End结果是41943039其实是错误的,在centos7中创建vda3分区的时候End填写+1也是错误的做法
因为centos7实际上真实扇区要被2048整除,也就是实际上41943040才是真正的End,要在41943040+1=41943041作为Start才能成功
页: [1]
查看完整版本: linux centos7升级vps扩容硬盘容量lvm操作说明 growpart