1、需求来源
* 笔者在建议虚拟机的时候,是从ova格式的镜像中导入的,没有修改配置,磁盘默认大小为20G,完全不够用,需要对根目录进行磁盘扩容;计划从20G扩容到50G
2、扩容之前先备份,如果数据很重要,建议导出镜像
* 备份方式和导出镜像的方式网上很多,这里不再赘述
3、扩容磁盘(关机操作)
* 点击左上角“管理--虚拟介质管理”进入介质管理界面
* 选中磁盘,点击属性,将大小调整到需要进行扩容后的大小,点击应用(笔者这里需要做两次)
4、启动虚拟机
5、磁盘扩容
5.1 划新分区并格式化
* 将新扩容的磁盘剩余空间全部加入到新的分区中
[root@k8smaster ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):m
帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助):F
未分区的空间 /dev/sda:30 GiB,32212254720 个字节,62914560 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
起点 末尾 扇区 大小
41943040 104857599 62914560 30G
命令(输入 m 获取帮助):n
分区类型
p 主分区 (2个主分区,0个扩展分区,2空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (3,4, 默认 3): 3
第一个扇区 (41943040-104857599, 默认 41943040): p
值超出范围。
第一个扇区 (41943040-104857599, 默认 41943040): 41943040
上个扇区,+sectors 或 +size{K,M,G,T,P} (41943040-104857599, 默认 104857599): 104857599
创建了一个新分区 3,类型为“Linux”,大小为 30 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8a77db32
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM
/dev/sda3 41943040 104857599 62914560 30G 83 Linux
命令(输入 m 获取帮助):w
分区表已调整。
正在同步磁盘。
5.2 格式化新分区
* 新分区格式化为原来lvm中磁盘分区对应的文件系统格式,本文是xfs,可以使用df -hT获取到
[root@k8smaster ~]# mkfs.xfs /dev/sda3
meta-data=/dev/sda3 isize=512 agcount=4, agsize=1966080 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=7864320, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=3840, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
5.3 将新分区新建为一个pv, 并加入原来的vg中
[root@k8smaster ~]# pvcreate /dev/sda3
WARNING: xfs signature detected on /dev/sda3 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sda3.
Physical volume "/dev/sda3" successfully created.
[root@k8smaster ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name ol
PV Size <19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID lJmJWB-RQcp-I4OD-Lgfa-ncWO-06hc-Ltp2Xk
"/dev/sda3" is a new physical volume of "30.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 30.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID BQUuUa-lQHR-gwD4-jWwQ-JIKh-CSYo-Wf2Ddv
[root@k8smaster ~]# vgextend ol /dev/sda3
Volume group "ol" successfully extended
[root@k8smaster ~]# vgdisplay
--- Volume group ---
VG Name ol
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 48.99 GiB
PE Size 4.00 MiB
Total PE 12542
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 7679 / <30.00 GiB
VG UUID QgNMmI-4mJi-RSVX-SlPW-uv2y-EAZR-ukYXND
5.3 新增容量扩展到lv
[root@k8smaster ~]# lvextend -L +30G /dev/mapper/ol-root
Insufficient free space: 7680 extents needed, but only 7679 available
[root@k8smaster ~]# lvextend -L +29G /dev/mapper/ol-root
Size of logical volume ol/root changed from <17.00 GiB (4351 extents) to <46.00 GiB (11775 extents).
Logical volume ol/root successfully resized.
[root@k8smaster ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 18M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/ol-root 17G 17G 91M 100% /
/dev/sda1 1014M 377M 638M 38% /boot
tmpfs 378M 1.2M 377M 1% /run/user/42
tmpfs 378M 4.6M 374M 2% /run/user/0
5.4 刷新文件系统使生效
* xfs 使用指令 xfs_growfs
* ext4 使用指令 resize2fs
[root@k8smaster ~]# xfs_growfs /dev/mapper/ol-root
meta-data=/dev/mapper/ol-root isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 12057600
[root@k8smaster ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 18M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/ol-root 46G 18G 29G 38% /
/dev/sda1 1014M 377M 638M 38% /boot
tmpfs 378M 1.2M 377M 1% /run/user/42
tmpfs 378M 4.6M 374M 2% /run/user/0