云计算&虚拟化-kvm-扩缩容cpu

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作系统,磁盘,网络资源。虚拟化是一个很庞大的系统,我的介绍主要是帮助你入门,让你了解基本技术原理,具备搭建操作虚拟化的能力。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个小节进行目录列出,主要涉及的分类包括以下几个方面:

1.虚拟化介绍

2.kvm基本使用

3.kvm进阶使用(本小节属于)

4.kvm技术原理

5.vmware介绍&使用

6.小结

我们通过前面的几个小节学习,我们已经具备创建虚拟机及安装系统的能力,并且也了解了每个虚拟机对应的xml的解释,但是如果这个配置不满足要求,我们需要对他进行升级或者降级的时候怎么办呢?

KVM(Kernel-based Virtual Machine)环境下虚拟机的扩缩容操作通常指的是调整虚拟机的资源(如CPU、内存、磁盘空间)。这些操作可以分为两类:在线扩缩容(也称为热添加或热调整)和离线扩缩容(也称为冷调整)。下面分别介绍这两种情况下的操作方法:

在线扩缩容 (Hot Plugging)

扩容

  • 增加CPU核心数

  • 使用virsh setvcpus <domain> <cpu-count> --live命令可以在线增加CPU核心数。

  • 需要确保虚拟机支持热添加CPU功能。

  • 如果虚拟机操作系统支持,那么新增加的CPU核心会自动被识别并使用。

出现这个错误是因为我们前面默认创建的cpu只是静态配置,不允许扩容。

ini 复制代码
#原cpu配置
<vcpu placement='static'>1</vcpu>
#修改后配置,最大只能扩展到4
<vcpu placement='auto' current='1'>4</vcpu>

#修改成功以后,在虚拟机关机状态下执行下面命令
#然后就能在运行状态下扩容
[root@localhost qemu]# virsh define /etc/libvirt/qemu/kvm31.202.xml 
Domain 'kvm31.202' defined from /etc/libvirt/qemu/kvm31.202.xml

缩容

  • 减少CPU核心数

  • 使用virsh setvcpus <domain> <cpu-count> --live命令可以在线减少CPU核心数。命令和扩容实际是一样的。

  • 通常需要先减少虚拟机内的进程数量,确保不会超过新的CPU核心数限制。

注意:缩容操作需要慎重,尤其是生产环境。

离线扩缩容 (Cold Adjusting)

离线实际上和在线一样,并不区分扩容和缩容,因为他是通过修改配置文件实现的,只是修改方式有两种而已。

命令方式修改

  • 使用virsh edit kvm31.202 命令可以修改虚拟机配置文件中的CPU核心数。

  • 重启虚拟机后,新的CPU核心数设置生效,这里的重启是指出的通过kvm命令而非在系统内部重启。

修改文件方式

  • 修改虚拟机配置文件中的CPU核心数。

  • 重启虚拟机后,新的CPU核心数设置生效。

    #前提条件是先关机。 #编辑配置文件,修改核心数。 vi /etc/libvirt/qemu/kvm31.202.xml #重新定义虚拟机,然后在开机。 virsh define /etc/libvirt/qemu/kvm31.202.xml

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
GeW12 小时前
不只靠技术:RHCE考试的5个隐藏得分点
linux
老当益壮梁奶奶12 小时前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
祖力5513 小时前
进程间通信(IPC机制):消息队列与共享内存
linux·消息队列·共享内存·通信·进程间通信
从入门到退休13 小时前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制
Learn-Share_HY13 小时前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
小王C语言15 小时前
Windows 无法使用 ssh 连接虚拟机(ubuntu),网络没问题的情况下
运维·ssh
java_logo15 小时前
Docker 部署 MinIO:轻松搭建 S3 兼容对象存储平台
运维·docker·容器·对象存储·minio·轩辕镜像·minio部署
祖力5515 小时前
进程间通信(IPC机制):信号
linux·运维·服务器·进程·进程间通信·多任务·ipc
GKxx15 小时前
在 HarmonyOS 上给 QEMU 搭一个最小 aarch64 Linux guest(内核 + busybox initramfs)
linux·华为·qemu·harmonyos·鸿蒙·鸿蒙pc
Neighbor_OldY15 小时前
线上服务CPU飙高接口超时应急处置实战:从load爆表到快速定位根因,一次线上救火全记录
大数据·运维