5.kvm热添加内存、磁盘(及扩容)、CPU和网卡
孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。
1.热添加磁盘
#查看磁盘数量
[root@test ~]# virsh domblklist --domain web03
Target Source
------------------------------------------------
vda /opt/web03.qcow2
vdc /opt/qqq.qcow2
hda -
#创建磁盘
[root@test ~]# qemu-img create -f qcow2 /opt/web03_vdd.qcw2 3G
Formatting '/opt/web03_vdd.qcw2', fmt=qcow2 size=3221225472 encryption=off cluster_size=65536 lazy_refcounts=off
#添加磁盘至web03
[root@test ~]# virsh attach-disk web03 /opt/web03_vdb.qcw2 vdd --subdriver qcow2 --persistent#永久生效
#添加磁盘推荐使用如下命令
[root@test ~]# virsh attach-disk web03 /opt/web03_vdb.qcw2 vdd --subdriver qcow2 #默认先添加当前生效
[root@test ~]# virsh attach-disk web03 /opt/web03_vdb.qcw2 vdd --subdriver qcow2 --config#下次启动生效
#查看是否添加成功
[root@test ~]# virsh domblklist --domain web03
Target Source
------------------------------------------------
vda /opt/web03.qcow2
vdc /opt/qqq.qcow2
vdd /opt/web03_vdb.qcw2
hda -
2.云硬盘扩容
1.虚拟机卸载挂载点
2.宿主机从虚拟机剥离硬盘
[root@test ~]# virsh detach-disk web03 vdd
Disk detached successfully
3.宿主机对硬盘扩容
[root@test ~]# qemu-img resize /opt/web03_vdb.qcw2 +1G
4.宿主机对虚拟机上附加硬盘
[root@test ~]# virsh attach-disk web03 /opt/web03_vdb.qcw2 vdd --subdriver qcow2
5.虚拟机更新block信息
[root@web03 ~]# xfs_growfs /dev/vdd
3.热添加网卡
#查看已有网卡
[root@test ~]# virsh domiflist --domain web01
Interface Type Source Model MAC
-------------------------------------------------------
vnet0 network default virtio 52:54:00:b5:fc:bf
vnet1 network default virtio 52:54:00:d2:ed:0b
#添加网卡
[root@test ~]# virsh attach-interface --domain web01 --type network --source default --model virtio
#添加网卡是临时生效的,重启虚拟机网卡失效
建议执行上面命令后再执行--config,意思是下次开机生效
还可以直接添加--persistent永久生效
4.热添加内存
##使用命令添加
[root@test ~]# virsh setmem
error: command 'setmem' requires <domain> option
error: command 'setmem' requires --size option
[root@test ~]# virsh setmem --domain web01 --size 512M
##注意重启虚拟机修改的内存会失效
跟网卡磁盘一样需要加--config或者--persistend参数
#当我想给虚拟机添加为2G内存时报错了
[root@test ~]# virsh setmem --domain web01 --size 2G
error: invalid argument: cannot set memory higher than max memory
#因为在创建文件时没有指定虚拟机的最大内存,默认与设置的内存大小一致。
[root@test ~]# virsh dumpxml --domain web01 |grep -A1 "memory"
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>524288</currentMemory>
#当我使用命令设置最大内存时又报错
[root@test ~]# virsh setmaxmem --domain web01 --size 2G
error: Unable to change MaxMemorySize
error: Requested operation is not valid: cannot resize the maximum memory on an active domain
#原因是开机不能修改最大内存,需要先关机后设置最大内存
[root@test ~]# virsh destroy web01
Domain web01 destroyed
[root@test ~]# virsh setmaxmem --domain web01 --size 2G
[root@test ~]# virsh start web01
Domain web01 started
5.热添加CPU
##使用命令添加
[root@test ~]# virsh setvcpus --domain web01 –count 2
##注意重启虚拟机修改的内存会失效
跟网卡磁盘一样需要加--config参数
##直接设置会报错,只能设置下次开机生效
[root@test ~]# virsh setvcpus --domain web01 --maximum 10
error: Option --config is required by option --maximum
[root@test ~]# virsh setvcpus --domain web01 --maximum 10 --config
#因为只能下次生效,所以执行报错
[root@test ~]# virsh setvcpus --domain web01 --count 3
error: invalid argument: requested vcpus is greater than max allowable vcpus for the live domain: 3 > 2
#关机后重启再次设置
[root@test ~]# virsh destroy web01
Domain web01 destroyed
[root@test ~]# virsh start web01
Domain web01 started
[root@test ~]# virsh setvcpus --domain web01 --count 3
#添加CPU后移除
[root@test ~]# virsh setvcpus --domain web01 --count 2
error: unsupported configuration: failed to find appropriate hotpluggable vcpus to reach the desired target vcpu count
##CPU不支持热删除,所以报错了,需要添加--config参数
[root@test ~]# virsh setvcpus --domain web01 --count 2 --config
未经允许不得转载:孙某某的运维之路 » 5.kvm热添加内存、磁盘(及扩容)、CPU和网卡
评论已关闭