`
kennyluo
  • 浏览: 81054 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

虚拟化方案之--kvm简单教程(网络桥接方案,绝对可用,更新到kvm-87)

阅读更多

研究了很久的KVM,感觉是我用过的最快的虚拟机。对比常用的虚拟机,Vmware的功能全面,设置简单,但其速度不是很好;VirtualBox的效率虽然比Vmware高一些,但是存在不少缺点,感觉在运行时比较抢CPU,而且好像还没有对SMP的支持(还没有研究出来,如果有,请告诉我方法);KVM(Kernel-based Virtual Machine),基于内核的虚拟机,是我用过的最快的虚拟机,需要CPU支持虚拟化技术,并且在BIOS里打开虚拟化选项,效率可达到物理机的80%以上,对SMP的支持很好。所以现在强烈吐血卖命推荐KVM。
没有废话,以下是在UBUNTU 804 下的方法
获得KVM:
KVM的网站:http://linux-kvm.org
下载最新的kvm-87.tar.gz
解压:

代码:
tar -xzvf kvm-87.tar.gz


需要用到的包:

代码:
sudo apt-get install gcc libsdl1.2-dev zlib1g-dev libasound2-dev linux-kernel-headers pkg-config libgnutls-dev libpci1 pciutils-dev


三步曲:

代码:
cd kvm-87
./configure --prefix=/usr/local/kvm
make
sudo make install


安装好以后加载KVM模块

代码:
sudo modprobe kvm
sudo modprobe kvm-intel  //如果你的是INTEL处理器就用这个
sudo modprobe kvm-amd  //如果你的是AMD处理器就用这个


这样就装好了。

下面介绍配置KVM桥接网络的方法: \\特别注意,大部分不能桥接无线网卡。。。只能桥接PCI网卡。。。。
安装桥接工具:

代码:
sudo apt-get install bridge-utils


安装创建TAP界面的工具:

代码:
sudo apt-get install uml-utilities


编辑网络界面配置文件(

代码:
sudo vi /etc/network/interfaces

),根据你的情况加入以下内容:

代码:
auto eth0
iface eth0 inet static     \\这里可以为DHCP
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm      \\lm是我的用户名,在这里换为你的用户名

auto br0
iface br0 inet static       \\当然这里也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1



激活tap0和br0: //有些时候会不奏效,但重启后就行了

代码:
sudo /sbin/ifup tap0
sudo /sbin/ifup br0


好了以后ifconfig看一下,多了一个tap0和br0, br0上的IP地址就是你本机的IP地址。

KVM的使用方法:
KVM的使用方法具体可以参考

代码:
/usr/local/kvm/bin/qemu-system-x86_64 --help


下面具体举几个例子:
创建虚拟磁盘(用qemu-img命令):

代码:
mkdir kvm
cd kvm
/usr/local/kvm/bin/qemu-img create -f qcow2 winxp.img 10G


创建虚拟机:

代码:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -smp 2 -clock rtc -soundhw es1370


注意:在KVM-87下,请去掉df=h
这里对各个参数说明一下:

代码:
-m 512


分配512MB的内存给GUEST OS

代码:
-hda /home/lm/kvm/winxp.img


使用虚拟磁盘的文件和路径

代码:
-localtime


使用本地时间(一定要加这个参数,不然虚拟机时间会有问题)

代码:
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no


使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了,在KVM-87下去掉df=h

代码:
-boot d


从光盘启动 (从硬盘启动则为 -boot c )

代码:
-cdrom /home/lm/iso/winxp.iso


使用的光盘镜像,如果要使用物理光驱的话就是 -cdrom /dev/cdrom

代码:
-smp 2 


smp处理器个数为2个,如果你是4核处理器,后面的数字就为4(如果不开启此选项,则只能以单核模式运行)

代码:
-clock rtc


使用rtc时钟(如果不开启此选项,WINXP可能会很慢)

开始启动装系统了吧?是不是非常的快?如果你机器可以的话大概在15分钟左右就把XP装好了。
启动装好的虚拟机(很简单,上面的命令改两个参数就行):

代码:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370


注意,在KVM-87下,请去掉上面参数中的df=h
然后在客户端里设置好IP地址就可以使用了,但是KVM的显卡能力不行,可以通过rdesktop远程连接解决

代码:
rdesktop 192.168.1.4:3389 -u administrator -p ****** -g 1280x750 -D -r sound:local    \\分辨率可以自行设定,是不是比VirtualBox的无缝连接模式要爽??




补充:
如果同时运行多个GUEST OS ,则网络设置要改一下,在/etc/network/interfaces 里加几个tap界面就行了,每个GUEST OS单独使用一个TAP,比如说现在要同时运行3个GUEST OS ,则配置文件如下:

代码:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm      \\lm是我的用户名,在这里换为你的用户名

auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm      \\lm是我的用户名,在这里换为你的用户名

auto tap2
iface tap2 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user lm      \\lm是我的用户名,在这里换为你的用户名

auto br0
iface br0 inet static       \\当然这里也可以使用DHCP分配
bridge_ports eth0 tap0 tap1 tap2
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1


启动GUEST OS

代码:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -hda /home/lm/kvm/winxp.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370


注意,在KVM=86下,请去掉参数中的df=h
把ifname=tap0换为你要tap1或者tap2就行了,MAC也要改噢。。

要注意,系统重启后要重新加载kvm内核模块:

代码:
sudo modprobe kvm
sudo modprobe kvm-amd   //如果使用AMD处理器
sudo modprobe kvm-intel   //如果是用INTEL处理器


当然,你也可以修改系统相关设置在启动时自动加载该模块。
同理,可以用此方法安装LINUX。装完了可以对比一下,是不是比VB和VM要爽得多呢?

其他比如像USB连接问题可以参考论坛里的帖子

但是现在KVM还有很多的缺点,我还没有成功在KVM上安装SOLARIS系统(可能时钟不同步导致),还有有些时候WINDOWS在KVM里会有系统时钟不同步的问题(会导致WINDOWS GUEST运行很慢)。

我已经在我的系统里同时运行了4个CentOS 4.6 1个winxp sp3 1个win2003 sp2 5个FreeBSD 7.0
速度太快了,难以置信。
系统配置为:Athlon X2 5000+ 4G RAM 跑的Ubuntu 8.04.1 64bit

其实KVM的安装和使用都很方便简单的,大家要理解KVM各个参数的含义。最关键的就是KVM的网络桥接的设置,参考了网上很多的东西都没有效果,最终还是参考了VIRTUALBOX的官方的用户使用文档的网络桥接设置部分才成功的,在这里大家要多看软件自身的文档,会有很大的帮助。VIRTUALBOX的网络桥接的设置也可以参考这里的网络桥接的方法。

分享到:
评论

相关推荐

    kvm虚拟化视频教程.zip

    01-什么是kvm虚拟化.mp4 02-安装kvm虚拟机.mp4 03-virsh的日常管理命令上.mp4 04-virsh的日常管理命令下.mp4 05-kvm虚拟机开机自启和console登录.mp4 kvm-day2 01-kvm虚拟机磁盘格式转换.mp4 02-kvm虚拟机快照管理....

    kvm下桥接网卡配置

    在虚拟化环境中,KVM(Kernel-based Virtual Machine)是一个强大的工具,它允许用户在Linux内核上创建和管理虚拟机。对于网络连接,KVM提供了多种网络模型,其中包括桥接模式,这种模式可以让虚拟机直接接入物理...

    虚拟化技术KVM.pdf

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

    kvm虚拟化视频教程.rar

    │ │ 01-什么是kvm虚拟化.mp4 │ │ 02-安装kvm虚拟机.mp4 │ │ 03-virsh的日常管理命令上.mp4 │ │ 04-virsh的日常管理命令下.mp4 │ └ 05-kvm虚拟机开机自启和console登录.mp4 ├ kvm-day2 │ │ 01-kvm虚拟机...

    linux下KVM虚拟化总结

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

    详解虚拟化技术QEMU-KVM入门

    虚拟化技术QEMU-KVM入门是了解虚拟化技术的重要部分,特别是当涉及到在Linux环境下进行虚拟化实践时。QEMU-KVM由QEMU和KVM两个主要组件构成,它们各有特点,但结合后可以提供全面的虚拟化解决方案。 QEMU(Quick ...

    centos6下配置KVM桥接方式

    在 CentOS 6 中配置 KVM 桥接方式是一种常见的虚拟化解决方案。本文将逐步介绍如何在 CentOS 6 中配置 KVM 桥接方式,包括确认 bridge-utils 的安装、关闭 NetworkManager 服务、修改网络配置文件、重启网络服务等...

    虚拟化kvm虚拟

    KVM虚拟化技术 KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,允许用户在物理机器上运行多个虚拟机。KVM虚拟化技术可以在满足一定条件的硬件上运行,包括支持虚拟化的CPU、内存和磁盘空间等。 1. ...

    KVM虚拟化系统基础知识与实战指南

    第一章、虚拟化系统基本概念和KVM系统安装 2 1.1虚拟化系统基本概念 2 1.1.1虚拟化系统架构 2 1.1.2软件虚拟化和硬件虚拟化 2 1.1.3 准虚拟化和全虚拟化 3 1.1.4 KVM系统介绍 5 1.2 KVM实验环境的搭建 6 1.2.1 KVM...

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

    在大二下学期的KVM虚拟化实践与编程实验中,学生将深入理解并操作虚拟化技术,特别是基于Kernel-based Virtual Machine (KVM) 和 QEMU 的环境。这个实验涵盖了虚拟化环境的搭建、虚拟机的启动与管理、虚拟化应用的...

    KVM 桥接 QEMU 启动选项 图形组合键 磁盘映像

    KVM (Kernel-based Virtual Machine) 是一种开源的全虚拟化解决方案,它允许Linux内核充当Hypervisor,提供对多个虚拟机的支持。QEMU (Quick Emulator) 是一个通用、开源的机器模拟器,可以运行在多种CPU平台上,它...

    电信设备-一种KVM虚拟化服务系统及其数据通信方法.zip

    本主题聚焦于“电信设备-一种KVM虚拟化服务系统及其数据通信方法”,这是一种利用KVM(Kernel-based Virtual Machine)技术实现的虚拟化解决方案,特别针对电信设备和数据通信进行了优化。 KVM是一种开源的虚拟化...

    linux 虚拟化kvm

    KVM 虚拟化基础知识点 KVM(Kernel-based Virtual Machine)是一种开源的...KVM 虚拟化技术提供了一个强大的虚拟化平台,提供了虚拟机的创建、管理、存储、网络和远程管理等功能,是一个非常实用的虚拟化解决方案。

    kvm虚拟化安装部署文档

    - **定义**: KVM(Kernel-based Virtual Machine)是一种构建在Linux内核上的全虚拟化解决方案,它利用了现代x86处理器提供的硬件辅助虚拟化特性(如Intel VT-x 或 AMD-V)。 - **特点**: - 集成于Linux内核,无需...

    qemu-kvm配置bridge

    在Fedora 19 x86_64操作系统上配置QEMU-KVM虚拟机并使其通过桥接模式上网,涉及到的步骤和知识点可以详细展开如下: 1. CPU虚拟化支持:首先需要确保虚拟化技术支持已经在BIOS中开启。对于Intel处理器,通常是在...

    kvm虚拟化环境安装配置

    kvm虚拟化环境安装配置是指在服务器上安装和配置kvm虚拟化环境的过程,包括安装kvm和libvirt、配置网络和桥接模式等步骤。kvm是一种开源的虚拟化解决方案,可以在物理服务器上运行多个虚拟机,而libvirt是kvm的管理...

    KVM虚拟化.docx

    KVM 虚拟化技术详解 KVM(Kernel-Based Virtual Machine)是一种开源的虚拟化技术,基于 Linux 内核实现。它可以将物理机虚拟化成多个虚拟机,每个虚拟机可以运行不同的操作系统。KVM 的出现解决了服务器资源浪费的...

    KVM虚拟化系统安装

    ### KVM虚拟化系统安装知识点解析 #### 一、前期准备 - **硬件支持**: 安装KVM虚拟化系统前需确保服务器硬件支持虚拟化技术。这通常意味着CPU需要支持Intel VT-x或AMD-V这样的虚拟化扩展指令集。 - **安装KVM虚拟化...

    qemu-kvm-code.tar

    通过与KVM(Kernel-based Virtual Machine)结合,QEMU-KVM成为了一个高效的全虚拟化解决方案,能够充分利用主机硬件的加速能力,提供接近原生性能的虚拟化体验。 "qemu-kvm-code.tar" 是一个包含QEMU源代码的...

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

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

Global site tag (gtag.js) - Google Analytics