日前遇到個問題,有臺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虛擬機中,編輯添加如下內容:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/vm/libvirt/data/vm1-data.qcow2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</disk>
保存後,如果正確會提示:
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原創,未經許可不得在任何平臺轉載,侵權必究。
如需轉載,可關注微信公衆號:智識訓練營,在後臺留言,與作者聯繫,取得許可才能轉載~