记一次Linux机器centos7系统扩充root磁盘空间经历

CentOS虚拟机根分区磁盘扩容操作,我是用VMware虚拟机做的实验。

一、选择你需要扩容的虚拟机器,右击——编辑设置


根据需求扩容虚拟机的空间,我扩容是"60G"(根据个人需要填写空间大小)。


二、使用linux下的fdisk命令进行分区

用root用户登录到你的linux系统,查看你系统的分区

# fdisk -l


根据提示信息可以判断出此系统的磁盘接口为SCSI,对应"sdb"如果上面的红色字体是"hda",那么此系统的磁盘接口为IDE对应"hdb"所以我做一下操作:
# fdisk /dev/sdb

m #列出fdisk的帮助

n #命令n用于添加新分区
p #选择创建主分区"此时
Partition number (1-4): 3 #fdisk会让你选择主分区的编号,如果已经有了主分区sda1,sda2,那么编号就选3,即要创建的该分区为sda3
First sector (2048-125829119, default 2048):: #此时,fdisk又会让你选择该分区的开始值这个就是分区的Start 值(start cylinder);这里最好直接按回车,默认即可
Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119): #此时,fdisk又会让你选择该分区的开始值这个就是分区的End 值,这里也直接按回车
Using default value 7832

Command (m for help): w #保存所有并退出,分区划分完毕

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

三、我们的新建分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的
# fdisk /dev/sdb
Command (m for help): m
Command (m for help): t #改变分区系统id
Hex code (type L to list codes): 8e #指定要改成的id号,8e代表LVM
Changed system type of partition 3 to 8e (Linux LVM)
Command (m for help): w


四、reboot重启系统后,登陆系统。(一定要重启系统,否则无法扩充新分区)

五、格式化该新添加的分区
# fdisk -l #你会发现多了一块分区/dev/sdb3

# partprobe #更新分区表

# cat /proc/partitions #查看系统是否接收新的分区表



# mkfs.ext3 /dev/sdb3 #在硬盘分区"/dev/sdb3"上创建"ext3"文件系统

此时我们就可以使用该新增分区啦:

六、扩充新分区
# lvs #查看root分区是26G


  1. # pvcreate /dev/sdb3

WARNING: ext3 signature detected on /dev/sdb3 at offset 1080. Wipe it? [y/n]: y

Wiping ext3 signature on /dev/sdb3.

Physical volume "/dev/sdb3" successfully created.

pvcreate /dev/sdb3 #pvcreate指令用于将物理硬盘分区初始化为物理卷,以便被LVM使用。要创建物理卷必须首先对硬盘进行分区,并且将硬盘分区的类型设置为"8e"后,才能使用pvcreat指令将分区初始化为物理卷
2、#df -h

[root@ansible ~]# df -h

Filesystem Size Used Avail Use% Mounted on

devtmpfs 908M 0 908M 0% /dev

tmpfs 920M 0 920M 0% /dev/shm

tmpfs 920M 8.9M 911M 1% /run

tmpfs 920M 0 920M 0% /sys/fs/cgroup

/dev/mapper/centos-root 26G 5.4G 21G 21% /

/dev/sda1 1014M 150M 865M 15% /boot

tmpfs 184M 0 184M 0% /run/user/0

3、vgextend /dev/mapper/centos /dev/sdb3 #


其中是当前需要扩充的lvm组名,可以通过df -h查看,例如我的是: /dev/mapper/centos-root

#vgextend指令用于动态的扩展卷组,它通过向卷组中添加物理卷来增加卷组的容量
# vgextend /dev/mapper/centos /dev/sdb3 #原来这个组名,是-之前的字符串——这要是没有文章看着对比分析,谁知道啊?

4、#vgdisplay #用于显示LNM卷组的元数据信息


(主要查看Free PE / Size 15359 / <60.00 GiB,说明我们最多可以有60.00GB的扩充空间。我一般选择小于等于60.00GB)

5、# lvextend -L +59.00G /dev/mapper/centos-root /dev/sdb3

Size of logical volume centos/root changed from <26.00 GiB (6655 extents) to <85.00 GiB (21759 extents).

Logical volume centos/root successfully resized.


6、确认文件系统是xfs:
# cat /etc/fstab | grep centos-root

/dev/mapper/centos-root / xfs defaults 0 0

7、xfs用以下命令来扩磁盘空间:
#xfs_growfs /dev/mapper/centos-root


8、查看root空间是否扩大
#df -h

原来26G+扩容59G=85G,最终成功把root的空间扩容



原文链接:,转发请注明来源!