当前位置:网站首页 > 容器化与Kubernetes > 正文

kvm虚拟化是哪个厂商(什么是kvm虚拟化技术)



前言

KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发。2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分。2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中。本文介绍KVM虚拟化平台部署及管理。

KVM特点

KVM必须在具备Intel VT或AMD-V功能的x86平台上运行。KVM包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。使用一个经过修改的QEMU(qemu-kvm),作为虚拟机上层控制和界面。

由于KVM仅是一个简单的虚拟化模块,所以它的内存管理没有自我实现,需借助于Linux内核实现内存管理。KVM能够使用Linux所支持的任何存储,在驱动程序的实现上,直接借助于Linux内核来驱动任何硬件。在性能上KVM继承了Linux很好的性能和伸缩性,在虚拟化性能方面,已经达到非虚拟化原生环境95%左右的性能(官方数据)。KVM拓展性也非常好,客户机和宿主机都可以支持非常多的CPU数量和非常大的内存,可以过载使用CPU和内存,还可借助KSM技术实现对内存的过量使用,且保证性能依旧非常不错。

xen的工作方式:首先在操作系统上安装xen;(rpm包);装好之后重启宿主机的操作系统,起来之后xen就成为了操作系统,直接运行在物理硬件之上了,将原来宿主机的操作系统,挤下去成为第一个虚拟机(dom0)。将刚挤下去的成为第一个虚拟机(dom0)的当为它的管理接口(管理接口:创建,删除,新建虚拟机)后面创建的虚拟机为dom1;dom2……

KVM的工作方式:KVM是内核模块,一旦装上KVM的内核模块,原来的内核,就变为虚拟化管理平台:Hypervisor ,不用重启就直接可以在虚拟化管理平台上创建虚拟机了。

KVM架构

kvm是哪个公司的 kvm是由哪个公司开发的_kvm是哪个公司的

KVM的架构非常简单,就是内核的一个模块,用户空间通过qemu模拟硬件提供给虚拟机使用,一个虚拟机就是一个普通的Linux进程,通过对这个进程的管理,就可以完成对虚拟机的管理。

kvm是哪个公司的 kvm是由哪个公司开发的_kvm是哪个公司的_02

qemu-kvm 主要的KVM程序包

python-virtinst 创建虚拟机所需要的命令行工具和程序库

virt-manager GUI虚拟机管理工具

virt-top 虚拟机统计命令

virt-viewer GUI连接程序,连接到已配置好的虚拟机

libvirt C语言工具包,提供libvirt服务

libvirt-client 为虚拟客户机提供的C语言工具包

virt-install 基于libvirt服务的虚拟机创建命令

bridge-utils 创建和管理桥接设备的工具

QUME的主要功能:

处理器模拟器

仿真IO设备

关联模拟的设备至真实设备;

调试器

与模拟器交互的用户接口

qemu:kmv的文本管理工具,包括qemu-kvm、qemu-imgQUME的主要功能:

处理器模拟器

仿真IO设备

关联模拟的设备至真实设备;

调试器

与模拟器交互的用户接口

运行第一个虚拟镜像

使用 find / -name bios-256k.bin 我发现,bios-256k.bin是一个软连接文件,链接的是上层目录中,seabiso目录下的bios-256k.bin,但是seabios目录下并没有bios-256k.bin这个文件,这可能是redhat搞的鬼,就像qemu-kvm本身并不在PATH环境变量中一样,所以,我复制了seabios目录下的bios.bin 为bios-256k.bin,这样下来,qemu-kvm就可以启动了,我们可以再加上–nographic选项不使用图形化启动!太黑了!

也可以使用-cpu选项,指定模拟的cpu类型

再次执行,通过

使用vncviewer连接

kvm是哪个公司的 kvm是由哪个公司开发的_ios_03

kvm是哪个公司的 kvm是由哪个公司开发的_ios_04

关闭虚拟机,发送关机信号

使用复杂一些的启动设置如下

指定了虚拟磁盘接口类型、介质类型、cache为回写、磁盘文件格式为qcow2

ls /sys/bus 看总线类型,出现了virtio

kvm是哪个公司的 kvm是由哪个公司开发的_ci_05

从头创建一个虚拟机
建立一个磁盘映像文件,winxp和centos各一个

开始创建虚拟机,并安装系统

kvm是哪个公司的 kvm是由哪个公司开发的_ios_06

kvm是哪个公司的 kvm是由哪个公司开发的_centos_07

可以在当前的界面中运行虚拟机 -nographic

网络选项:
-net nic 定义net frontend
-net user
-net tap 定义net backend
script=:启动脚本
downscript=:停止脚本;
桥设备
bridge-utils.x86.64
modinfo bridge






















创建桥设备

激活br0

查看本机支持的网卡类别

添加两块网卡启动虚拟机,必须要有启动脚本(/etc/qemu-ifup),通过脚本网卡挂接到桥上

因为没有启动脚本,报错:

qemu-ifup脚本 vif0.0会传递为$1

qemu-ifdown脚本

加上脚本运行,放在默认位置,不用只script也是可以的

运行虚拟机后,给虚拟机配置ip

启动多个虚拟机默认MAC地址相同,因此需要指定mac=52:54:00:12:34:57;52:54:00固定,默认值是52:54:00:12:34:56

pxe启动虚拟机安装

启动已经建好的虚拟机

openstack、kvm、qemu-kvm、libvirt、xen的关系

KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直接用它的。QEMU-KVM就是一个完整的模拟器,它是建基于KVM上面的,它提供了完整的网络和I/O支持. Openstack不会直接控制qemu-kvm,它会用一个叫libvit的库去间接控制qemu-lvm, libvirt提供了夸VM平台的功能,它可以控制除了QEMU的模拟器,包括vmware, virtualbox xen等等。所以为了openstack的夸VM性,所以openstack只会用libvirt而不直接用qemu-kvm。libvirt还提供了一些高级的功能,例如pool/vol管理。

到此这篇kvm虚拟化是哪个厂商(什么是kvm虚拟化技术)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 查看docker版本信息的指令(docker查看容器版本)2025-06-13 20:27:06
  • kvm虚拟化技术是什么(kvm虚拟化和其他的虚拟化的优缺点是什么)2025-06-13 20:27:06
  • kubernetes配置(kubernetes配置文件)2025-06-13 20:27:06
  • kvm虚拟化技术是什么(简述kvm虚拟化功能特性及优缺点?)2025-06-13 20:27:06
  • resnet18网络结构图简化(resnet152网络结构图)2025-06-13 20:27:06
  • crsed汉化(cruise汉化)2025-06-13 20:27:06
  • 字符编码转化(字符编码方法)2025-06-13 20:27:06
  • docker容器启动时启动服务(docker容器启动失败怎么查找原因)2025-06-13 20:27:06
  • kvm虚拟化技术分类(kvm虚拟化技术实战与原理解析)2025-06-13 20:27:06
  • kubelet怎么发音(kubernetes英文发音)2025-06-13 20:27:06
  • 全屏图片