估计了一下,使用中的虚拟机空间将不够了,需要给根目录扩容,虚拟机整个就一块盘,通过安装时自动分区,非LVM。本文记录扩容过程。
备注: 本虚拟机使用virt-manager创建
1. 增加磁盘大小
root@virt-amd64:/data/# qemu-img resize xxxx.qcow2 +100G
通过qemu-img增加100G磁盘大小
2. fdisk操作磁盘分区
① 查看当前磁盘
[root@host159 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 8.9M 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda3 xfs 56G 32G 24G 58% /
/dev/vda1 xfs 1014M 176M 839M 18% /boot
tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0
② fdisk查看当前分区
[root@host159 ~]# fdisk /dev/vda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/vda:171.8 GB, 171798691840 字节,335544320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b04f1
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 10227711 4064256 82 Linux swap / Solaris
/dev/vda3 10227712 125829119 57800704 83 Linux
③ 删除根分区
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):
分区 3 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/vda:171.8 GB, 171798691840 字节,335544320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b04f1
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 10227711 4064256 82 Linux swap / Solaris
④ 创建新的根分区
创建新的根分区,分区大小都使用默认,直接扩容到最大
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (10227712-335544319,默认为 10227712):
将使用默认值 10227712
Last 扇区, +扇区 or +size{K,M,G} (10227712-335544319,默认为 335544319):
将使用默认值 335544319
分区 3 已设置为 Linux 类型,大小设为 155.1 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/vda:171.8 GB, 171798691840 字节,335544320 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b04f1
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 10227711 4064256 82 Linux swap / Solaris
/dev/vda3 10227712 335544319 162658304 83 Linux
⑤ 保存并刷新分区
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
刷新:
[root@host159 ~]# partprobe /dev/vda
[root@host159 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 160G 0 disk
├─vda1 253:1 0 1G 0 part /boot
├─vda2 253:2 0 3.9G 0 part [SWAP]
└─vda3 253:3 0 155.1G 0 part /
⑥ 刷新分区状态
查看分区状态,发现显示出来的容量不是分区后的,需要刷新。
[root@host159 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.9M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda3 56G 32G 24G 58% /
/dev/vda1 1014M 176M 839M 18% /boot
tmpfs 3.2G 0 3.2G 0% /run/user/0
[root@host159 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 8.9M 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda3 xfs 56G 32G 24G 58% /
/dev/vda1 xfs 1014M 176M 839M 18% /boot
tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0
刷新:
[root@host159 ~]# xfs_growfs /dev/vda3
meta-data=/dev/vda3 isize=512 agcount=4, agsize=3612544 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=14450176, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=7055, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 14450176 to 40664576
再次查看:
[root@host159 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 160G 0 disk
├─vda1 253:1 0 1G 0 part /boot
├─vda2 253:2 0 3.9G 0 part [SWAP]
└─vda3 253:3 0 155.1G 0 part /
[root@host159 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.9M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda3 156G 32G 124G 21% /
/dev/vda1 1014M 176M 839M 18% /boot
tmpfs 3.2G 0 3.2G 0% /run/user/0
完成。