陈奇网络工作室

Qemu/KVM虚拟机硬件热添加和缩小

云计算

本文件由成都征天科技有限公司天极云团队原创出品,请注明出处。 征天科技致力于为企业和个人提供专业的云计算IaaS和PaaS层产品和服务。 官方网站地址:欢迎访问www.tjiyun.com。

本文档主要介绍了Qemu/KVM虚拟机硬件的热添加和收缩操作。

一.基础环境要求

1 .软件版本要求

操作系统: CentOS7或更高版本

QEMU版本: 2.4以上

2 .虚拟机启动参数要求

要使Qemu虚拟机执行热添加操作,必须在虚拟机启动命令中添加以下配置,打开虚拟机控制台功能,然后登录到虚拟机控制台以执行热添加和收缩操作:

-monitor telnet:127.0.0.1:10001、server和nowait

二. CPU热添加

1 .云主机启动命令

要使qmu虚拟机执行CPU热添加操作,必须在虚拟机启动命令中添加以下配置:

-smp 2,maxcpus=32

#表示此虚拟机初始使用2个核心的CPU,最多可添加32个核心

2.CPU热添加操作

通过运行以下命令将CPU热添加到虚拟机

)1)登录虚拟机控制台

# telnet 127.0.0.1 10001

)2)执行CPU热附加命令

( qemu ) cpu-add cpu-id

注: cpu-id是热附加处理器在系统中的id号,范围为1到31。 最大值取决于为虚拟机启动参数设置的最大CPUs值。 添加到同一虚拟机的cpu-id号不能相同。 否则会发生id冲突

)3)退出虚机控制台

退出qemu控制台。 在使用quit命令退出telnet终端之前,按ctrl ]键退出qemu控制台,并将提示符从( qemu )更改为telnet。 请注意,不会直接在qemu控制台上输入quit退出。 否则,当前虚拟机系统将被强制完全关闭。

3 .登录虚拟机系统,激活并验证新添加的CPU

)1)激活新添加的CPU

登录虚拟机操作系统,执行以下命令激活新添加的CPU : 这里以CentOS系统为例

# echo1/sys/devices/system/CPU/CPU-id/online

注: cpu-id是系统中热添加的CPU的id号,范围为1到31,最大值取决于在虚拟机启动参数中设置的最大CPU值。

CentOS7系统支持自动联机添加的CPU,因此不需要执行上述激活操作。

)2)验证CPU热添加操作是否成功

# cat /proc/interrupts

3 .添加内存热

1 .云主机启动命令

qmu虚拟机必须执行内存热添加操作,并在虚拟机启动命令中添加以下配置:

-m 2G,slots=32,maxmem=64G

#表示此虚拟机初始使用2G内存,最多可添加到64G内存中

2 .内存热添加操作

通过运行以下命令将Mem热添加到虚拟机

)1)登录虚拟机控制台

# telnet 127.0.0.1 10001

)2)执行热添加Mem命令

( qemu ) object_add memory-backend-ram,id=ram2,size=2G

( qemu ) device_add pc-dimm,id=dimm2,memdev=ram2

注: ram2是热附加内存的设备id号,范围为1到31,最大值取决于在虚拟机启动参数中设置的slots值。 添加到同一虚拟机的mem-id号不能相同。 否则会发生id冲突。 每块新添加的内存容量最好不要超过4G,目前最多支持5G的容量。

)3)退出虚机控制台

参考CPU部分完成控制台操作。

3 .登录虚拟机系统,启用并验证新添加的内存块

)1)激活新添加的内存块

登录到虚拟机的操作系统,然后运行以下命令激活新添加的内存块: 这里以CentOS系统为例。

a .查看系统中现有的内存块

# ll /sys/devices/system/memory/

b .插入新内存后,会看到多余的内存块

c .启用新添加的内存块

# echo online/sys/devices/system/memory/memory2/state

注: memory2是热加载到操作系统的内存编号。

CentOS7.2或更高版本的系统支持通过自动联机添加的内存加速,因此不需要执行上述激活操作。

)2)检查内存块热添加操作是否成功

# free -m

四.磁盘热添加和减少

1 .磁盘热添加操作

通过运行以下命令将磁盘热添加到虚拟机

)1)登录虚拟机控制台

# telnet 127.0.0.1 10001

)2)执行磁盘热添加命令

( qemu ) drive _ a dd0 file=/home/VM/VM disk/data disk 02,format=qcow2,id=drive-virtio0-disk-01,if=none

( qemu ) device_add virtio-blk-pci,scsi=on,drive=drive-virtio0-disk-01,id=disk-01

)3)运行散热磁盘命令

( qemu ) device_del disk-01

注:磁盘- 01是热添加/精简磁盘的设备id号,在执行操作时必须匹配。

)4)退出虚机控制台

参考CPU部分完成控制台操作。

3 .登录虚拟机系统验证磁盘操作

运行以下命令以验证是否成功添加或删除磁盘

# parted -l

5 .热添加和减少网卡

1 .网卡热添加操作

通过运行以下命令将NIC热添加到虚拟机

)1)登录虚拟机控制台

# telnet 127.0.0.1 10001

)2)对网卡执行热添加命令

( qemu ) netdev_add tap,ifname=tap-7e03bc209a,id=hostnet-7e03bc209a,vnet_hdr=on,vhost=on,script=/

( qemu ) device_add virtio-net-pci,netdev=hostnet-7e03bc209a,id=net-7e03bc209a,MAC=52:54:00:00:00

)3)运行散热NIC命令

( qemu ) device_del net-7e03bc209a

( qemu ) netdev_del hostnet-7e03bc209a

注: 7e03bc209a是用于添加和折叠网卡的设备标识号,在执行操作时必须匹配。

)4)退出虚机控制台

参考CPU部分完成控制台操作。

3 .登录虚拟机系统验证网卡操作

运行以下命令以验证是否成功添加或删除了NIC

# ip addr

如果您有疑问,欢迎与我们交流。 微信号ztkj_tjiyun

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3