虚拟机qcow2磁盘扩容

这两天在编译Linux内核源码,无奈用的虚拟机是从原先的虚拟机克隆得到的,磁盘可用空间只有8G左右,结果因为磁盘空间不够而导致编译报错,因此有了对磁盘扩容的需求.

虚拟机的分区为vda,虚拟机系统为Ubuntu 16.04,虚拟机磁盘格式为qcow2.

在宿主机对磁盘扩容

给磁盘增加20G的容量

1
qemu-img resize ubuntu16.04-node3.qcow2 +20G

然后可以查看磁盘信息

1
2
3
4
5
6
7
8
9
10
11
12
➜ KVM qemu-img info ubuntu16.04-node3.qcow2
image: ubuntu16.04-node3.qcow2
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 23G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
refcount bits: 16
corrupt: false

可以看到virtual size由原来的10G变为了30G.

分区

启动虚拟机,开始分区.

执行

1
sudo fdisk /dev/vda

p命令可以查看当前的分区情况:

n命令添加分区

特别注意: 因为上图中已经存在vda1、vda2、vda5三个分区,而vda1和vda2之间是存在一小段扇区的,所以下图中的First sector默认是接在vda1扇区后的,这样的话新增的分区只能分配到vda1和vda2之间的一点空间,因此First sector不能选择默认,需要手动输入,即vda2’s End + 1.

t命令将新增分区vda3的类型由“Linux”更改为“Linux LVM”

最后用w命令写入保存,下图中的报错不用管.

重启系统.

创建物理卷、加入卷组、扩展逻辑卷

创建物理卷

1
2
3
4
5
6
7
szh@ubuntu-node3:~$ sudo pvcreate /dev/vda3
Physical volume "/dev/vda3" successfully created
szh@ubuntu-node3:~$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/vda3 lvm2 --- 5.00g 5.00g
/dev/vda5 ubuntu-node1-vg lvm2 a-- 9.52g 24.00m

加入卷组

1
2
3
4
5
6
7
8
9
szh@ubuntu-node3:~$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu-node1-vg 1 2 0 wz--n- 9.52g 24.00m
szh@ubuntu-node3:~$ sudo vgextend ubuntu-node1-vg /dev/vda3
Volume group "ubuntu-node1-vg" successfully extended
szh@ubuntu-node3:~$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu-node1-vg 2 2 0 wz--n- 14.52g 5.02g

扩展逻辑卷

1
2
3
4
5
6
7
8
9
10
11
szh@ubuntu-node3:~$ sudo lvextend -l +100%FREE /dev/ubuntu-node1-vg/root
Size of logical volume ubuntu-node1-vg/root changed from 8.50 GiB (2176 extents) to 13.52 GiB (3462 extents).
Logical volume root successfully resized.
szh@ubuntu-node3:~$ sudo resize2fs /dev/ubuntu-node1-vg/root
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/ubuntu-node1-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/ubuntu-node1-vg/root is now 3545088 (4k) blocks long.

确认磁盘是否扩容成功

1
2
3
4
5
6
7
8
9
10
11
szh@ubuntu-node3:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 477M 0 477M 0% /dev
tmpfs tmpfs 100M 3.2M 97M 4% /run
/dev/mapper/ubuntu--node1--vg-root ext4 14G 1.8G 11G 15% /
tmpfs tmpfs 496M 0 496M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 ext2 472M 58M 391M 13% /boot
tmpfs tmpfs 100M 0 100M 0% /run/user/1000

大功告成!

参考:qcow2 磁盘在线扩容方法


版权声明

作者:萝卜姓胡
许可协议:Creative Commons Attribution-ShareAlike 4.0 International License
本文永久链接:http://hw2007.com/2018/09/06/虚拟机qcow2磁盘扩容/