万万哇 发表于 2025-3-1 08:13:04

云计算&虚拟化-kvm-扩缩容内存&磁盘

#扩容文件系统,如果是ext4则是另外命令
xfs_growfs /dev/vda2 作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当进步度(不定时更新)。
https://i-blog.csdnimg.cn/direct/c5e8f08410c643ac8f7982db437a49ec.png

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

1.虚拟化介绍
2.kvm基本利用
3.kvm进阶利用(本小节属于)
4.kvm技术原理
5.vmware介绍&利用
6.小结

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

内存和cpu相比较,cpu属于可以压缩资源,而内存一般认为是不可压缩的。这里的压缩可以理解我有2个cpu 我分给了2个人,在默认情况下如果这2个人都用满了,那么实际每个人就只能获得1个cpu,虚拟机会慢,但是不会崩溃。而内存则不一样,如果同样的情况,我们在前面讲Linux-sys虚拟文件体系的时间说过,内核为了保护体系的稳固性,会触发oom机制。所以一般情况下我们都不会对内存进行超售。
这里简单介绍下内存气球技术(Memory Ballooning),可以在虚拟机和宿主机之间进行交换。但是这个还必要虚拟机内部进行驱动安装,所以就只是简单的介绍,不讲解具体利用。
基本原理

内存回收机制:内存气球(Memory Ballooning)技术的核心是在虚拟机内部创建一个虚拟的 “内存气球”。当宿主机必要回收内存时,这个气球会在虚拟机操作体系的配合下 “充气”。具体来说,虚拟机操作体系会将一部分内存页面分配给气球,这些页面随后会被标志为不可用状态,从虚拟机的可用内存池中移除。然后,通过虚拟化层与宿主机之间的通讯机制,这部分内存就可以被宿主机回收并用于其他用途,比方分配给其他虚拟机或者供宿主机自身的体系历程利用。
内存返还机制:相反,当虚拟机必要更多内存时,气球会 “放气”。这个过程涉及到虚拟机操作体系重新将之前分配给气球的内存页面标志为可用状态,使其再次成为虚拟机可用内存池的一部分。这种内存的返还操作可以根据虚拟机的实际需求动态进行,比方当虚拟机内的应用步调开始占用更多内存时,气球就会主动放气以满足应用步调的内存需求。
离线调解内存和cpu离线调解实际上是一样的,并不区分扩容和缩容,由于他是通过修改设置文件实现的,修改方法和修改cpu一样,具体修改方法参考
  #memory 是虚拟机最大内存
  #currentMemory 是当前虚拟机的使用的内存
  #一般情况下这2个值是一样的,如果调整内存也是把这2个值修改
  #如果涉及到内存气球,则他们是不一样的。
<memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory> 磁盘

严格来说磁盘扩缩容并不属于kvm的操作,而是属于文件体系或者说镜像文件的调解,比如我们必要调解某个镜像文件。
扩容前

当前虚拟机的磁盘大小是40G,在体系内部是利用1G给了boot分区,39G给了根分区。

https://img-blog.csdnimg.cn/img_convert/17e7b7a592e1c6bf93ae7c37541a2517.png
扩容中

从宿主机给这个qcow2文件扩容了10G.
# qemu-img  resize  centos31.207.qcow2 +10G
Image resized.
#
https://img-blog.csdnimg.cn/img_convert/a10cd544a4d44d15016448708aab7957.png
扩容后

磁盘总大小显示到了50G,但是分区信息和文件体系都没变。

https://img-blog.csdnimg.cn/img_convert/54f9dd299b90efc91a262989280954af.png
扩容磁盘

#可以看到vda的结束的块是83886079
fdisk /dev/vda


https://img-blog.csdnimg.cn/img_convert/89f8fea7abf41b08d2558d2f2d07428b.png
#删除分区,创建分区,保存分区
#顺序千万不能乱,分区号也不能选错
https://img-blog.csdnimg.cn/img_convert/641803febf20a543d8bbe3243895f57c.png
#可以看到vda的结束的块变成了104857599
fdisk /dev/vda
#这里我尝试了多次,都需要重启以后,vda2才会变成新的大小。才能执行扩容分区
https://img-blog.csdnimg.cn/img_convert/2706f761ab37a7c9a5c01d5e28243c54.png

https://img-blog.csdnimg.cn/img_convert/b64774346ec07fc0ea84ea4e57bad309.png


https://img-blog.csdnimg.cn/img_convert/6c92c5d69fbb195eaff2716a9688bb94.png
到这里我们就已经完成了扩容操作,我们可以看到重要是这几个步调:

[*] 从宿主机扩容虚拟机的镜像文件(qcow2文件)
[*] 从操作体系扩容分区
[*] 从文件体系扩容文件体系
[*] 磁盘操作属于高危操作,肯定要慎重,要提前备份。
注:一般而言,我们磁盘只做扩容操作,不做缩容操作。

https://img-blog.csdnimg.cn/img_convert/29d8202b44f731b5906660acc6fd9b0d.png
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 云计算&虚拟化-kvm-扩缩容内存&磁盘