`

转:操作系统虚拟化之KVM

阅读更多
操作系统虚拟化之KVM

KVM(Kernel-based Virtual Machine)是一个全虚拟化的解决方案,它自2.6.20以后正式成为Linux内核的一部分,也就是说,它是Linux内核官方支持的一个虚拟化方 案。KVM的硬件需求是CPU必须支持虚拟化,对于Intel CPU来说是Intel VT,AMD CPU则是 AMD-V。如何确定你的CPU支持硬件虚拟化呢?

egrep '(vmx|svm)' /proc/cpuinfo
vmx是Intel CPU的,svm则是AMD CPU的。我的CPU返回如下:

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs
bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1
xsave lahf_lm ida tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs
bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1
xsave lahf_lm ida tpr_shadow vnmi flexpriority
在Ubuntu下面需要安装下面的软件:

sudo apt-get install kvm qemu-kvm
加入个人用户到kvm组,以保证个人用户可以读写/dev/kvm,否则,以个人用户无法运行kvm:

sudo adduser $USER kvm
如果想使用物理磁盘,则需要加个人用户到disk组:

sudo adduser $USER disk
现在最好重启一下计算机!

下面开始安装操作系统,我安装了Windows XP和Windows 7,下面以Windows XP为例开始安装。

先准备好一个磁盘文件,有2种常用的格式,一个是qemu的qcow2格式,一个是raw格式,前者是可以增长的文件格式,后者实际是磁盘上一个连续区域。

qcow2:

qemu-img create -f qcow2 winxp.img 10G
Raw:

dd if=/dev/zero of=winxp.img bs=1024K count=10000
下面开始安装,准备好安装光盘文件winxp.iso,下面是安装的指令:

kvm -m 1024 -cdrom=winxp.iso winxp.img -boot d -localtime
XP安装很快,20分钟左右就可以安装好,Win 7大约需要40分钟。下面开始以下后面的工作,会涉及更多的参数。

配置硬盘和网络的virtio模式,virtio是个半虚拟化的模式,速度比传统方式还要快些,根据Using virtio_net For The Guest NIC一文的测试,virtio还是很有优势的。

在虚拟机里面下载virtio windows guest驱动: Storage driver和Network driver,其中已经包含了xp、win7等的驱动。

根据boot from virtio block device一文的介绍,用以下方式进行安装驱动。

建一个临时的磁盘文件:

qemu-img create -f qcow2 fake.img 1G
启动虚拟机:

kvm -drive file=winxp.img,if=ide,boot=on -drive file=fake.img,if=virtio -m 1024
-localtime -net nic,model=virtio -net user -usb -usbdevice tablet
在启动的虚拟机里,会找到virtio设备,然后安装这两个驱动。安装完毕后,关机。以下面方式重新启动:

kvm -drive file=winxp.img,if=virtio,boot=on -m 1024 -net nic,model=virtio -net user
-usb -usbdevice tablet -soundhw es1370
下面配置远程桌面对Windows的访问,首先需要在虚拟机的Windows里面开启远程桌面,而且必须给用户加上密码,Windows XP和Windows 7需要是Professional以上版本。然后运行mmc继续配置远程桌面访问参数。

打开mmc后,“添加/删除管理单元“ -> “添加” -> “组策略对象编辑器” -> “本地计算机”。在里面配置:“计算机配置” -> “管理模板” -> “Windows 组件” -> “终端服务” -> “限制最大颜色深度”,设置为24位,原来默认是16位。

关机,重新以可以以新的模式后台运行:

kvm -M pc -drive file=winxp.img,if=virtio,boot=on -localtime -m 1024 -soundhw es1370
-net nic,model=virtio -net user -vnc 127.0.0.1:0 -daemonize -redir tcp:3389::3389
-name WindowsXP -usb -usbdevice tablet
-vnc 127.0.0.1:0表示以vnc模式运行,-daemonize表示kvm以后台运行,-redir tcp:3389::3389表示将虚拟机的3389端口映射为宿主机的3389端口上,这样rdesktop本机就可以进行远程桌面访问了。如果想实时 查看状态,可以使用vncviewer或者vinagre查看。

现在可以rdesktop进行访问了,下面是rdesktop的参数:

rdesktop localhost -u username -p password -f -D -z -P -r sound:local -clipboard
这里-z参数可以保证鼠标运行速度不缓迟,-f表示全屏。

虚拟机如何使用USB设备呢,首先要保证用户可以访问USB设备,qemu支持usb设备在虚拟机里面的拔插,在qemu界面里(或者vnc访问的界面里),Ctrl+Alt+2进入qemu monitor命令行控制模式,然后

usb_add host:vid:pid
查看usb设备:

info usb
Windows 7的运行和访问参数与Windows XP类似。

下面是我的一些截屏:

Windows XP:



Windows 7:



rdesktop 启用Windows 7字体平滑功能
由 何勃亮 在 星期五, 2010-04-02 09:36 发表。
rdesktop 连接上Windows 7以后,一般是不开启字体平滑功能,因此,字体不是特别好看,可以通过加入下面的参数来连接,就启用字体平滑功能了,而且原来的Win 7桌面也保留了,不像之前连接后出现的黑色桌面,还需要自己再设置下。

rdesktop localhost -x 0x80 -u username -p password -f -D -z -P -r sound:local -clipboard
主要是加入 -x 0x80 选项。



http://www.heboliang.cn/archive/kvm-windows.html

分享到:
评论

相关推荐

    虚拟化技术KVM.pdf

    ### 虚拟化技术KVM #### 一、虚拟化技术概述 ##### 1.1 计算机虚拟化技术定义 计算机虚拟化技术是一种能够整合资源、提高硬件利用率的...随着技术的发展,KVM已经成为许多企业和数据中心的首选虚拟化解决方案之一。

    linux下KVM虚拟化总结

    Linux 下 KVM 虚拟化环境部署和使用 KVM(Kernel-based Virtual Machine)是 Linux 内核虚拟化解决方案,提供了一个基于硬件的虚拟化环境。下面是 KVM 虚拟化环境的安装、搭建和使用方法: 一、环境要求 * 操作...

    虚拟化kvm虚拟

    1. 系统要求:KVM虚拟化技术需要64位的操作系统,且硬件需要支持虚拟化技术。 2. 安装KVM:安装KVM需要安装libvirt、qemu-kvm、virtinst、bridge-utils、virt-viewer、virt-manager等软件包。同时也需要安装SDL-...

    KVM虚拟化技术.ppt

    KVM 虚拟化技术可以将物理机器虚拟化成多个虚拟机,每个虚拟机能够独立运行操作系统和应用程序,提高系统的资源利用率和可靠性。 KVM 虚拟化技术的特点包括: 1. 嵌入到 Linux 正式内核:KVM 虚拟化技术直接嵌入到...

    linux操作系统安装虚拟化kvm

    Linux 操作系统安装虚拟化 KVM KVM(Kernel-based Virtual Machine)是一种开源的虚拟化解决方案,允许用户在 Linux 操作系统上运行多个虚拟机。KVM 的安装和配置是一个复杂的过程,需要了解一些基本概念和命令。 ...

    Linux内核虚拟化.pdf

    KVM 的工作原理是将客户机操作系统安装在 KVM 之上,然后通过 KVM 将客户机操作系统虚拟化为多个虚拟机,每个虚拟机可以独立地运行自己的操作系统。KVM 计划可以提供高达 96 核及 1TB 内存的虚拟化服务,满足大多数...

    KVM虚拟化.docx

    它可以将物理机虚拟化成多个虚拟机,每个虚拟机可以运行不同的操作系统。KVM 的出现解决了服务器资源浪费的问题,提高了服务器的利用率。 一、虚拟化的简单介绍 虚拟化是云计算的基础。简单的说,虚拟化使得在一台...

    Xen和KVM等四大虚拟化架构对比分析1

    首先,虚拟化架构分为寄居虚拟化、裸金属虚拟化和操作系统虚拟化。寄居虚拟化,如VMware Workstation和Redhat KVM,其Hypervisor运行在基础操作系统之上,提供虚拟硬件平台,易于实现,但依赖于宿主操作系统,性能...

    KVM虚拟化技术方案介绍.pdf

    1. guest操作系统:运行在虚拟机上的操作系统。 2. KVM:hypervisor,负责管理虚拟机的资源。 3. QEMU:仿真器,负责模拟硬件环境。 4. libvirt:虚拟化管理接口,提供了虚拟机管理的API。 KVM的优点是: 1. 高...

    基于云计算虚拟化技术KVM架构的高可用方案探讨.pdf

    KVM(Kernel-based Virtual Machine)是一种开源的虚拟化解决方案,它被广泛集成到Linux内核中,从而能够在Linux操作系统上创建虚拟机。KVM具有以下几个显著优势:首先,KVM作为开源技术,企业和个人都可以免费使用...

    KVM虚拟化系统安装

    ### KVM虚拟化系统安装知识点解析...综上所述,本文档提供了从硬件准备、操作系统安装、YUM源配置到KVM虚拟化系统安装的全流程指南。通过遵循这些步骤,可以成功搭建基于KVM的虚拟化平台,适用于测试、开发等多种场景。

    SHELL脚本自动部署KVM虚拟化

    其中,CPU虚拟化技术允许单个CPU模拟多CPU并行运行的能力,让一个平台能同时运行多个操作系统,每个应用程序都在独立的空间内执行,彼此之间不会产生干扰,极大地提升了计算机的工作效率。 ### 主流虚拟化技术简介 ...

    实验四 混合虚拟化之KVM.docx

    混合虚拟化之 KVM 混合虚拟化是指将多种虚拟化技术结合使用,以实现更好的虚拟化效果。KVM(Kernel-based Virtual Machine)是基于 Linux 系统的开源虚拟化解决方案,需要使用 Intel VT 或 AMD-V 等硬件虚拟化扩展...

    KVM虚拟化.pdf

    完全虚拟化不需要修改操作系统即可运行,但性能较差,它分为软件辅助和硬件辅助两种实现方式,其中硬件辅助的全虚拟化依赖于硬件支持,如Intel-V和AMD-V技术,这可以提高性能并增强安全性。 在KVM虚拟化中,虚拟机...

    KVM虚拟化学习.pdf

    KVM(Kernel-based Virtual Machine)是一种构建在Linux操作系统上的开源虚拟化技术,它为用户提供了一个强大的虚拟化解决方案,尤其适用于服务器环境。作为一种主流的虚拟化技术,KVM不仅能够提供高性能的虚拟化...

    大二下学期KVM虚拟化实践与编程实验报告.zip

    1. **KVM虚拟化技术**:KVM 是 Linux 内核中的一个模块,允许Linux操作系统成为一个类型一(Hypervisor)的虚拟化平台。它利用硬件辅助虚拟化功能,如Intel的VT-x或AMD的V技术,提供高效的虚拟化支持。 2. **QEMU...

    Qemu-kvm虚拟化技术介绍.pdf

    Qemu-kvm虚拟化技术是当前虚拟化技术的热点之一,该技术结合了Qemu和KVM两者的优势,提供了高性能和灵活的虚拟化解决方案。下面我们将对Qemu-kvm虚拟化技术的原理、架构和特点进行详细的介绍。 一、KVM原理简介 ...

    Linux_KVM虚拟化源代码分析文档

    ### Linux_KVM虚拟化源代码分析 #### 一、KVM结构及工作原理 ##### 1.1 KVM结构 KVM(Kernel-based Virtual Machine)虚拟化技术是一种开放源码的虚拟化技术,其核心组成部分包括KVMDriver(内核模块)与QEMU...

    KVM虚拟化技术__实战与原理解析

    同时,KVM支持全虚拟化和半虚拟化两种模式,全虚拟化模式下,不需要修改客户机操作系统,而半虚拟化则需要修改客户机操作系统来提升性能。 KVM的架构主要包括以下几个组件: 1. KVM模块:作为Linux内核的一部分,...

    KVM虚拟化技术 实战与原理解析 高清完整版

    学习KVM虚拟化技术,不仅需要理解虚拟化的基本概念,还要掌握Linux操作系统、网络和存储等相关知识,同时熟悉QEMU、libvirt等工具的使用。通过实战演练,可以深入理解KVM的工作原理,提升运维和管理虚拟化环境的能力...

Global site tag (gtag.js) - Google Analytics