Linux 虚拟机根目录磁盘空间扩容

2022-07-14 08:51:23 浏览数 (1)

作者 | JiekeXu

来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)

因个人学习需要,两三年前在笔记本上安装了一套虚拟机但磁盘空间很小,只有30g,安装了一个 Oracle 12c 就已经没剩下多少空间了,也没其可清理的垃圾文件,故只有扩容了。以前扩容使用的是单独添加一块盘,感兴趣的可戳此了解[Oracle 12C 补丁升级中出现磁盘不足的解决办法],本次则直接在原来的磁盘基础上扩容。

0. 使用核心命令参考如下:

代码语言:javascript复制
df -Th
cat /etc/redhat-release
lsblk
fdisk /dev/sda
pvcreate /dev/sda
vgextend datavg01 /dev/sda
lvextend -l  100%free
/dev/mapper/datavg01-lvoradata01
resize2fs  /dev/mapper/datavg01-lvoradata01  #--Linux6
xfs_growfs  /dev/mapper/centos-root          #--Linux7

1. init 0 关机添加磁盘

说明:Linux 版本为 CentOS 7.6,VMware 16 虚拟机环境。

首先查看磁盘剩余大小,如下,根分区已剩下 3.9 G的空间,严重不足了,基本上不能干啥了。

那么就需要扩容,首先需要关闭虚拟机,对磁盘进行扩容。

VMware 里点击虚拟机设置,点击扩展,然后选择合适的扩展磁盘大小,我这里演示的是50G。

修改完成后,然后启动虚拟机,查看磁盘大小

fdisk -l lsblk

代码语言:javascript复制
[root@JiekeXu ~]# pvs
 PV         VG     Fmt Attr PSize   PFree
 /dev/sda2  centos lvm2 a--  <29.00g 4.00m
[root@JiekeXu ~]# lvs
 LV   VG     Attr      LSize  Pool Origin Data%  Meta% Move Log Cpy%Sync Convert
 root centos -wi-ao---- 26.99g                                                    
 swap centos -wi-ao----  2.00g                                                   
[root@JiekeXu ~]# vgs
 VG     #PV #LV #SN Attr   VSize  VFree
 centos   1   2   0
wz--n- <29.00g 4.00m
[root@JiekeXu ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

2. fdisk 磁盘分区

如上可以看到磁盘大小变为 50G,但并未扩展到根分区,接下来我们先将 /dev/sda 分区为 /dev/sda3。使用 fdisk 对其进行分区,fdisk /dev/sda 命令进行分区,输入 m 获取帮助。

接下来,添加一个新分区,默认大小。 fdisk /dev/sda n 添加新分区 p 主分区 Partition number 默认回车 first sector 默认回车 laster sector 默认回车 p 打印分区(列出分区) w 保存分区

fdisk -l查看分区

直接创建物理卷提示找不到,这里先reboot 重启下。

代码语言:javascript复制
[root@JiekeXu ~]# pvcreate /dev/sda3
 Device /dev/sda3 not found.
[root@JiekeXu ~]# reboot

3. pvcreate 创建物理卷

使用 pvcreate /dev/sda3,如下图所示,代表创建成功:

4. pvdisplay 查看物理卷

5. vgdisplay 查看卷组信息

如下,从图中可以看出卷组的名称为 centos

6. vgextend 扩展 vg 卷

将创建的物理卷加入到卷组中,命令

vgextend 虚拟卷组名新增的分区

vgextend centos /dev/sda3 如下图:

vgdisplay 查看卷组信息

7. lvextend 扩展逻辑卷大小

df -Th 查看逻辑卷

/dev/mapper/centos-root

lvextend -l 100%free /dev/mapper/centos-root /dev/sda3

代码语言:javascript复制
lvextend -l  100%free /dev/mapper/centos-root  /dev/sda3
Size of logical volume centos/root changed
from 26.99 GiB (6910 extents) to <46.99 GiB (12029 extents).
 Logical volume centos/root successfully resized.

8. cat fstab 查看文件系统格式

代码语言:javascript复制
cat /etc/fstab | grep centos-root
/dev/mapper/centos-root
/                       xfs     defaults        0 0

9. xfs_growfs 扩展磁盘空间

命令:# xfs_growfs 文件系统名,不同的文件系统要用不同的命令,不然会导致报错

xfs_growfs /dev/mapper/centos-root[root@JiekeXu ~]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1768960 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=7075840, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=3455, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7075840 to 12317696

0 人点赞