日前遇到个问题,有台KVM虚拟机(安装的是CentOS8操作系统)运行的业务,提示磁盘空间不足了。需要添加一块磁盘扩容解决,以下介绍添加磁盘的过程。
一、在物理机上创建、添加磁盘
注:物理机安装的是CentOS8系统,安装了KVM虚拟化。
创建磁盘(容量设为10G):
[root@server ~]# qemu-img create -f qcow2 /vm/libvirt/data/vm1-data.qcow2 10G
Formatting '/vm/libvirt/data/vm1-data.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
执行虚拟机编辑(vm1为虚拟机名字):
[root@server ~]# virsh edit vm1
注意:为什么要执行这个命令编辑,而不是直接vim vm1.xml编辑呢?因为这个命令可以自行校验,验证配置是否存在错误!有校验可以确保配置正确无误。
把新创建的磁盘加到vm1虚拟机中,编辑添加如下内容:
保存后,如果正确会提示:
Domain vm1 XML configuration edited.
启动虚拟机:
[root@server ~]# virsh start --domain vm1
Domain vm1 started
二、虚拟机进行磁盘分区、格式化、挂载
注:虚拟机安装的是CentOS8 系统。
列出磁盘信息(可以看到vdb已经加进来了,但还没有分区):
[root@vm1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
├─vda1 253:1 0 512M 0 part /boot
├─vda2 253:2 0 7.5G 0 part /
└─vda3 253:3 0 2G 0 part [SWAP]
vdb 253:16 0 10G 0 disk
分区过程(只分一个区):
[root@vm1 ~]# parted /dev/vdb
GNU Parted 3.2
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) mklabel
New disk label type? y
parted: invalid token: y
New disk label type? gpt
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart
Partition name? []? data
File system type? [ext2]? xfs
Start? 0%
End? 100%
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 10.7GB 10.7GB xfs data
(parted) quit
Information: You may need to update /etc/fstab.
分区格式化:
[root@vm1 ~]# mkfs -t xfs /dev/vdb1
meta-data=/dev/vdb1 isize=512 agcount=4, agsize=655232 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2620928, 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
挂载:
[root@vm1 ~]# mount /dev/vdb1 /data
列出磁盘信息:
[root@vm1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
├─vda1 253:1 0 512M 0 part /boot
├─vda2 253:2 0 7.5G 0 part /
└─vda3 253:3 0 2G 0 part [SWAP]
vdb 253:16 0 10G 0 disk
└─vdb1 253:17 0 10G 0 part /data
如需要系统启动时自动挂载,需要添加到/etc/fstab:
[root@vm1 ~]# echo "/dev/vdb1 /data xfs defaults 0 0" >>/etc/fstab
到此,新添加的磁盘可以使用了。
欢迎您的加入,QQ群号linux零基础交流群:734638086。
注:本文为Toyo Lau原创,未经许可不得在任何平台转载,侵权必究。
如需转载,可关注微信公众号:智识训练营,在后台留言,与作者联系,取得许可才能转载~