KVM虚拟机磁盘无损扩容(非LVM)

2019年6月26日10:49:40KVM虚拟机磁盘无损扩容(非LVM)已关闭评论 508 views

1.1 磁盘无损扩容

说明:本次在CentOS中扩容的/分区是这块磁盘上的最后一个分区,也就是磁盘扩展后增加的空间是加在附加在磁盘的最后的,所以可以通过growpart工具修改硬盘的分区表,将这部分空间直接append到最后一个分区(也就是我这里原本/分区的后面了)所以如果你要扩容的分区在你的系统上,并非是磁盘上的最后一个分区的话,可能无法直接无损扩充分区。

1.1.1 虚拟机磁盘扩(缩)容

注意:执行此操作前需先关机删除快照(参看《KVM日常使用》操作)后再执行后续操作!

1.1.1.1 关闭虚拟机

1
[root@test ~]# shutdown -h now

1.1.1.2 宿主机中对虚拟机磁盘扩(缩)容

提示:qcow2格式可直接扩容,但不支持直接缩容,需转化为raw格式(参看《KVM日常使用》)后方可进行缩容操作。

1
[root@KVM ~]# qemu-img resize /kvm/CentOS7.4-Test.qcow2 +100G

1.1.1.3 启动虚拟机并查看磁盘容量

1
2
3
4
5
6
7
8
9
10
11
12
[root@KVM ~]# virsh start CentOS7.4-Test-192.168.10.101

[root@test ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 200G 0 disk
├─vda1 253:1 0 1G 0 part /boot
├─vda2 253:2 0 8G 0 part [SWAP]
└─vda3 253:3 0 91G 0 part /

[root@test ~]# fdisk -l
Disk /dev/vda: 214.7 GB, 214748364800 bytes, 419430400 sectors

1.1.2 系统无损识别扩容容量

1.1.2.1 虚拟机安装growpart工具

1
[root@test ~]# yum install -y cloud-utils-growpart

1.1.2.2 对扩容分区进行容量扩展

1
[root@test ~]# growpart /dev/vda 3

1.1.2.3 重启虚拟机并查看分区结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@test ~]# reboot

# 使用lsblk命令可以查看已经进行分区扩展,但是使用df –h命令查看分区空间无变化
[root@test ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 200G 0 disk
├─vda1 253:1 0 1G 0 part /boot
├─vda2 253:2 0 8G 0 part [SWAP]
└─vda3 253:3 0 191G 0 part /

[root@test ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 91G 2.8G 89G 4% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 28K 497M 1% /dev/shm
tmpfs 497M 6.7M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 1014M 119M 896M 12% /boot
tmpfs 100M 0 100M 0% /run/user/0
tmpfs 100M 0 100M 0% /run/user/994

1.1.2.4 识别扩展后分区

1
2
3
4
5
# xfs分区命令(centos7)
[root@test ~]# xfs_growfs /dev/vda3

# ext4及以下分区命令(centos6)
[root@test ~]# resize2fs /dev/vda3

1.1.3 查看最终分区后效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@test ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 191G 2.8G 189G 2% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 252K 496M 1% /dev/shm
tmpfs 497M 6.7M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 1014M 119M 896M 12% /boot
tmpfs 100M 0 100M 0% /run/user/0
tmpfs 100M 0 100M 0% /run/user/994

[root@test ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 200G 0 disk
├─vda1 253:1 0 1G 0 part /boot
├─vda2 253:2 0 8G 0 part [SWAP]
└─vda3 253:3 0 191G 0 part /

[root@test ~]# fdisk -l
Disk /dev/vda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bdce2
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 18876415 8388608 82 Linux swap / Solaris
/dev/vda3 18876416 419430366 200276975+ 83 Linux

参考资料

https://www.moonfly.net/archives/49.html

https://blog.csdn.net/qq_22083251/article/details/80417097

weinxin
我的微信
如果有技术上的问题可以扫一扫我的微信