作者 | 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