当前位置:首页 > 虚拟化 > 正文

linux虚拟化技术和kvm


一、linux虚拟化技术有哪些1.第一个虚拟化模型称为Type1,即本机虚拟化。
2.后来出现了一种网络虚拟化模式,称为Type2。虚拟机管理程序运行在操作系统之上,允许两个或多个操作系统在同一平台上共存。
3.比较传统的虚拟化方案是平台虚拟化,或者说硬件虚拟化,主要有全虚拟化和半虚拟化两种形式。
4.另一个重要的虚拟机管理程序是Linux内核虚拟机(KVM),它也支持虚拟化模型和本地主机虚拟化。
5.这样,操作系统提供了一组相互隔离的用户空间(User-Space),应用程序被限制在每个用户空间内,就像一个独立的主机一样。这种形式的虚拟化在虚拟主机环境中非常流行,允许多个独立用户共享一个操作系统。
6.其他Linux虚拟化技术:
CoLinux,即CollaborativeLinux,是一种支持虚拟机协作的虚拟化方法。
用户式Linux,或者UML有点类似于CoLinux,但更灵活。Wine和Cygwin也是有趣的虚拟化解决方案。
二、kvm安装linux系统kvm安装linux

KVM可以安装在Windows系统上吗?

由于KVM的广泛兼容性,支持Windows、Linux、Sun等主流操作系统,兼容联想、曙光、浪潮、华为、Boyd、HP、IBM、Dell等主流服务器和思科。

所以Windows系统可以安装KVM。

KVM(虚拟机)可以直接安装在裸机(服务器)上吗?如何安装?

最流行的两种开放金属开源虚拟化技术是内核虚拟机(KVM)和Xen,因此KVM可以直接在裸机上运行,​​无需任何操作系统。KVM支持几乎所有操作系统:Linux、MacOS、Unix、Windows以及您选择的任何操作系统。

如何连接KVM?

安装VNC1。安装VNC服务器(1)在Linux系统上安装VNCyum-yinstallvnc-serveryum-yinstalltigervnc-server(2)设置远程登录所需的密码,会提示输入密码注意:此密码是需要输入的密码远程登录时(3)通过vi/etc/sysconfig/vncservers配置vncserver,并设置以下配置值VNCSERVRES=10000:root(10000是桌面。数字,root是用户名)VNCSERVERARGS=geometry800x600_nolistencp_localhost(4)执行防火墙配置允许远程连接VNC服务器vi/etc/sysconfig/iptables_AINPUT_mstate_stateNEW_mtcp_ptcp_dport5901(andservervnc2restartservicesVNC)重新启动。安装VNC客户端Linux上安装vncviewerWindows上安装TigerVNC软件2创建KVM虚拟机1、创建Linux虚拟机(1)通过qemu-img创建7G镜像文件qemu-imgcreate_7G(2)创建Linux虚拟机qemu-kvm_m1024_cdromubuntu-12.04-8desktop-12.04-8iso_drivefile=;boot=on_bootd_ngraphic_vnc:

2注意:-vnc和:2之间有一个空格在另一台机器上启动TigerVNC,输入192.168.0.123:5902连接以执行安装。操作并观察安装进度注意:192.168.0.123是机器的基础IP,5902是对应的端口号(5900+2)2、创建Windows虚拟机(1)创建包含virtio驱动的镜像并安装。UltraISO软件。下载、、将解压到文件夹中,将virtio-win-0.1-30复制到相应路径下。添加新的win7withvirtio驱动文件夹iso文件保存为新的ios文件win7_u-imgcreate_frawwin7_30Gqemu-kvm_m1024_cdromwin_viri_=cdromwin_virti。=virtio,boot=on__bootd_ngraphic_vnc:

3注意:-vnc和:3之间有一个空格在另一台机器上启动TigerVNC,输入192.168.0.123:5903进行连接。执行安装操作并观察安装进度注:192.168.0.123为本地IP,5903为对应端口号(5900+3)三个远程桌面虚拟化连接在另一台机器上启动TigerVNC,输入192.168.0.123:593登录进入机器虚拟win7

KVM、QEMU和KQemu有什么区别?

KVM是基于内核虚拟化Qemu本身是一种虚拟化和硬件仿真模拟器KQemu是针对KVM优化的Qemu的组合,KVM的性能比Qemu本身要好很多。。。我们现在所说的KVM是qemu-kvm,在Linux上,它以/dev/kvm块设备和qemu-kvm进程的形式存在

Kvm三个组件和应用?

KVM虚拟架构及三种模式

1Guest模式(guestOS):VM中的操作系统为GuestOS

Guest运行于操作系统模式。,客户端分为内核模块和用户态

2用户态:

为用户提供用户空间工具,用于虚拟机管理和代表用户执行I/O。Qemu工作在该模式下(Qemu的主要功能)

3种Linux内核模式

模拟CPU和内存,实现客户端模式切换并处理从客户端模式启动在此模式下运行

KVM原理

1:guest系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O设备驱动等。)

由KVM设置为以有限CPU模式运行。

内核模块模拟处理器和内存来支持虚拟机操作

3libvirt来管理虚拟机

ioctl(定义)是专门用于设备输入输出操作的系统调用

libvirt:KVM管理工具

上面是一个完整的虚拟机虚拟化平台

简单理解:

KVM驱动提供处理器和内存虚拟化,以及GuestI/O拦截GuestI/O被拦截后,交给Qemu处理

Qemu使用libkvm接口调用(ioctl)/dev/kvm虚拟机设备接口来分配资源、管理和维护虚拟机

KVM工作流程

Qemu用户模式使用libkvm接口通过ioctl系统调用进入内核模式。KVM驱动程序为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH命令进入Guest模式,加载GuestOS并运行。如果运行GuestOS时发生异常,GuestOS操作将暂停,当前状态将被保存,系统将退出到内核模式来处理此异常。

内核态处理该异常时,如果不需要V/O,处理完成后会重新进入客户端态。如果需要V/O,则进入用户模式,Qemu会处理I/O处理完成后,进入内核模式,然后进入客户端模式