KVM虚拟化平台
创始人
2024-09-25 13:47:37
0

一.概述

1.为什么使用kvm呢?

        解决部分linux服务器利用率不高,为充分利用linux服务器。

2.kvm虚拟化架构

        kvm模块直接整合在linux内核中(为原生架构),不在内核就是寄生架构。

 3.KVM三种运行模式

(1)客户模式(客户就是你的虚拟机)

        客户模式:可以简单理解成客户机在操作系统中运行的模式,客户模式又分为用户模式和内核模式。

(1.1)用户模式

        为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu运行在这模式下

(1.2)内核模式(模拟cpu,内存等)

        模拟CPU以及内存,实现客户模式的切换,处理从客户模式的退出。KVM内核模块运行在这个模式下。

4.KVM工作原理

        用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM Driver为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAUNCH指令进入客户模式,装载GuestOS并运行。GuestOS运行过程中如果发生中断或者影子缺页等异常,将暂停GuestOS的运行并保存当前上下文退出到内核模式来处理这些异常。内核模式处理这些异常时如果不需要IO则处理完成后重新进入客户模式。如果需要O则进入到用户模式,由Qemu来处理O,处理完成后进入内核模式,再进入客户模式,工作原理如图

 二.案例搭建KVM虚拟化平台(带桌面的Linux)

1.安装

(1)安装KM所需软件
yum -y install qemu-kvm  yum -y install qemu-kvm-tools  yum -y install virt-install  yum -y install qemu-img  yum -y install bridge-utils  yum -y install libvirt  yum -y install virt-manager yum -y install libguestfs-tools

备注:

qemu-kvm : kvm核心包–虚拟操作系统模拟器加速模块

qemu-kvm-tools :qemu-kvm的工具包

virt-install:虚拟机安装工具

qemu-img :是QEMU的磁盘管理工具

bridge-utils:虚拟机与外界通信的命令管理工具

libvirt:必须要装的核心工具

virt-manager:虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令操作或者远程控制则不需要)

QEMU是“Quick Emulator”的缩写,是一个用C语言编写的开源虚拟化软件。

QEMU(Quick Emulator)快速仿真器

libguestfs-tools:用于访问虚拟机的磁盘映像文件提供的一组命令

 (2)设置CPU支持虚拟化

打开处理器设置,在虚拟化引擎界面勾选相对于的选项。

         再次开机之久验证,服务器是否支持虚拟化,如果有内容显示表示开启了CPU的虚拟引擎。命令如下:

[root@kvm01 ~]# cat /proc/cpuinfo | grep vmx [root@kvm01 ~]# lsmod | grep kvm
(3)开启libvietd服务(最后啊设置开机自启)
[root@kvm01 ~]# systemctl start libvirtd  [root@kvm01 ~]# systemctl enable libvirtd

2.设置KVM网络

这里以Bridge(桥接)为例进行操作演示

[root@kvm01 ~]# cd /etc/sysconfig/network-scripts/ [root@kvm01 network-scripts]# cp ifcfg-ens33 ifcfg-br0 [root@kvm01 ~]# vim ifcfg-ens33 在里面添加一行 BRIDGE=br0  [root@kvm01 ~]# vim ifcfg-br0 修改类型 TYPE=Bridge 修改名称 NAME=br0 DEVICE=br0

修改完成后重启网络,重启完成后就可以进行下一步的虚拟机创建

systemctl restart network

3.KVM管理

        以root用户身份输入命令virt-manager进入图像化虚拟机管理软件(本文以Centos 7.3 为例)。

(1)创建存储池

         双击QEMU/KVM,选择“存储”选项卡,然后单击“+按钮新建存储池。单击“前进按钮,根据提示输入或浏览用以设置存储目录,如/data_kym/store,最后单击“完成按钮即可。

(2)创建卷

在henanxiaoman的存储池中添加存储卷

存储卷名称为:test01

(3)创建镜像存储池

 把镜像文件上传到服务器的目录中,这里将其放到/opt/

(4)在主机上创建新的虚拟机,名称为test01

相关内容

热门资讯

钉钉云课堂课程怎么下载 在钉钉云课堂中,目前不支持直接下载课程。但您可以观看课程时,截屏或录制屏幕来保存课程内容。请确保遵守...
windows10清除不要的垃... 在Windows 10中,可以使用“磁盘清理”工具删除垃圾文件。按下Win键+R,输入cleanmg...
RabbitMQ的Window... 文章目录前言一、Windows安装RabbitMQ总结前言曾经写过一篇关于RabbitMQ的Ubun...
华为手机一直重启循环开不了机(... 可能是系统崩溃或硬件故障。尝试长按电源键强制重启,若无效,进入recovery模式清除缓存数据。如问...
Welcome to ngin... 要解决 "welcome to nginx!" 错误,需要检查虚拟主机配置࿰...
Python 百题(实战快速掌... 目录实现链表类挑战介绍挑战内容挑战要求示例代码版权说明参考答案代码分析:Node 类L...
酷狗音乐标签怎么写 酷狗音乐标签应简洁明了,突出歌曲特点,如“动感节奏”、“深情对唱”、“经典老歌”等,吸引用户点击。酷...
微信读书如何关闭微信朋友 在微信读书中,要关闭或删除微信好友,你需要先进入“发现”页面,然后点击“朋友”,在列表中找到你想要删...
深入剖析编程语言的结构化编程范... 结构化编程是一种编程范式,它强调使用清晰、模块化的代码结构来解决问题。这种范式通过限制...
为什么请求频率高,就应该使用轮... 在某些情况下,如果请求频率很高,使用轮询(Polling&...