Windows系统上可以安装KVM吗?
得益于KVM的广泛兼容性,支持Windows、Linux、Sun等主流操作系统,兼容联想、曙光、浪潮、华为、Boyd、HP、IBM、戴尔和思科。
所以Windows系统可以安装KVM。
是否可以直接在裸机(服务器)上安装KVM(虚拟机)?如何安装?
最流行的两种裸机开源虚拟化技术是内核虚拟机(KVM)和Xen,因此KVM可以直接运行在裸机上,无需任何操作系统。KVM支持几乎所有操作系统:Linux、MacOS、Unix、Windows以及您选择的任何其他操作系统。
如何连接KVM?
安装VNC1。安装VNC服务器(1)在Linux系统上安装VNCyum-yinstallvnc-serveryum-yinstalltigervnc-server(2)设置远程访问所需的密码进入vncserver后,会提示输入密码注意:此密码是需要输入的密码远程访问时输入(3)通过vi/etc/sysconfig/vncservers配置vncserver,设置如下配置值VNCSERVRES=10000:root(10000为桌面,number和root为用户名)VNCSERVERARGS=geometry800x600_nolistentcp_localhost(4)运行防火墙配置允许远程连接VNC服务器vi/etc/sysconfig/iptables_AINPUT_mstate_stateNEW_mtcp_ptcp_dport5901_jACCCEPT(5)重新启动VNC和防火墙服务servicevncserverrestartserviceiptablesrestart2Linux上的ncviewer软件TigerVNC在Windows上的安装2创建KVM虚拟机1、创建Linux虚拟机(1)创建7G通过qemu-img制作镜像文件qemu-imgcreate_7G(2)创建Linux虚拟机qemu-kvm_m1024_cdromubuntu-12.04-desktop-i386。iso_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软件、、将解压到文件夹中使用UltraISO打开并复制virtio-win-0.1-30对应路径下。添加新的win7与virtio驱动文件夹。iso文件保存为新的ios文件win7__drivefile=win7_,if。=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和KVM优化的Qemu的组合。他的表现比Qemu本人要好得多。。。我们现在所说的KVM其实就是qemu-kvm。Linux中作为块设备存在/dev/kvm和qemu-kvm进程
Kvm三个组件和应用?
KVM虚拟化架构及三种模式
1.访客模式(guestOS):VM中的操作系统为GuestOS
访客以操作系统模式运行。,客户端分为内核模块和用户态
2用户态:
为用户提供用户空间工具,用于管理虚拟机并代表用户执行I/O。Qemu工作在这种模式下(Qemu的主要功能)
内核模式
拟CPU和内存,实现客户端模式切换,并处理运行在该模式下从客户端模式启动
KVM原理
1Guest:Guest系统,包括CPU(vCPU)、内存、驱动程序(控制台、网卡、I/O设备驱动程序等)
由KVM插入以在CPU限制模式下运行。
内核模块模拟处理器和内存来支持虚拟机运行
3Qemu主要处理I/O,为客户提供libvirt用户空间管理虚拟机的/dev/kvm工具
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。处理完成后进入内核态,然后进入客户端态
chkconfigpostfixoff
chkconfigiptablesoff
chkconfigip6tablesoff
chkconfigNetworkManageroff
sed-i's/=enforcing/=disabled/g'/etc/selinux/config
2.验证虚拟化支持
[root@kvm~]#cat/proc/cpuinfo|grep'vmx'--color=auto###验证IntelCPU是否支持全虚拟化
[root@kvm~]#cat/proc/cpuinfo|grep'svm'--color=auto###验证AMDCPU是否支持全虚拟化
3.安装和更新kvm相关包和加载模块
[root@kvm~]#yuminstall。-ykvmvirt-*libvirtsbridge-utilsqemu-img
[root@kvm~]#yumupgradedevice-mapper-libs
[root@kvm~]#modprobekvm-intel###加载kvmmodule。执行成功后,不会返回任何信息。
[root@kvm~]#lsmod|grepkvm###检查kvm模块是否加载
kvm_intel542850
kvm3331721kvm_intel
四、网卡eth0,相关配置br0
[root@kvmnetwork-scripts]#catifcfg-eth0
DEVICE=eth0
HWADDR=00:0c:29:77:95:8e
TYPE=以太网
UUID=29ab4ff0-e2ed-4132-ac07-8e5bbd472ff5
ONBOOT=是
NM_CONTROLLED=yes
BOOTPROTO=no
BRIDGE=br0
[root@kvmnetwork-scripts]#catifcfg-br0
设备=br0
TYPE=桥
ONBOOT=是
NM_CONTROLLED=否
BOOTPROTO=静态
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.102.224.68
[根@kvmnetwork-scripts]#servicenetworkrestart
5修改/etc/libvirt/
echo'vnc_listen=0.0.0.0'/etc/libvirt/
6.重新启动libvirtd和消息总线服务
[root@kvmlibvirt]#/etc/init.d/libvirtdrestart
停止libvirtddaemon:[失败]
启动libvirtddaemon:[确定]
[root@kvmlibvirt]#/etc/init.d/messagebusrestart
停止系统消息总线:[确定]
启动系统消息总线:[确定]
[root@kvmlibvirt]#
[root@kvmlibvirt]#mkdir/iso###创建镜像文件目录
[root@kvmlibvirt]#mkdir-p/data/kvmdisk/###创建虚拟磁盘存储目录
==============通过WinSCP软件上传ISO文件到iso目录======本文不再解释======
7.创建虚拟机
[root@localhost~]#virt-install-nwin08-r4096-vcpus=4-s80-c/iso/--hvm--os-type=windows-f/data/kvmdisk/--
graphicsvnc,listen=0.0.0.0,port=7789--force--autostart
//命令解释:
创建一个名为win08的虚拟机,大小为4G内存、4个CPU、80G硬盘。安装镜像为/iso/设置为全虚拟化,同时系统类型为windows,配置vnc端口为7789自动开始安装
virt-install参数说明:
-n--name=虚拟机名称
-r--ram=虚拟机分配的内存
-u--uuid=虚拟机uuid
--vcpus=2指定2个vcpu数量
-v--hvm所有虚拟机
-p--paravirt半虚拟化
--l--location=localdir安装源
--vnc使用vnc
//可以使用--graphicsvnc,listen=LISTEN,...
--vncport指定vnc监听端口,默认端口为5900,端口不能重复使用
--vnclisten指定vnc绑定ip
-c--cdrom=CD-ROM驱动器或安装路径
-s--file-size=要使用的磁盘映像的大小,以GB为单位
-f--file=用作磁盘映像的文件
--disk=使用变体选项将安装介质用作磁盘
--force阻止交互式提示
--os-variant指定操作系统类型
>--speedup加速
--这里一般使用默认网络类型,应该使用bridge
centos安装:virt-install-nCentos6.5-r4096-vcpu=4-s80-c/iso/。--hvm--os-type=linux-f/data/kvmdisk/--graphics
vnc,listen=0.0.0.0,port=7789--force--autostart