LINUX的XEN和KVM到底区别在什么地方

作者&投稿:戚璐 (若有异议请与网页底部的电邮联系)
LINUX的XEN和KVM到底区别在什么地方~

目前为止,虚拟技术的老大仍然是VMware,虽然被EMC收购,名义上是EMC的老二,但事实上由于技术的牛X,老二不是很摆老大,当然这只是聊天的话,不做为事实依据。

一、KVM简介

KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。

Xen与KVM的比较

Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。

Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。

相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。

  二、KVM的使用

  现在以Turbolinux 11版本为基础,介绍KVM的使用方法。

  在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:
 
  # egrep '^flags.*(vmx|svm)' /proc/cpuinfo

  如果有输出返回,则表示你的CPU支持虚拟化技术。

  1.KVM的安装

  从官方网站下载KVM源码包:http://kvm.qumranet.com
  我们使用KVM-33版本

  # tar zxf kvm-33.tar.gz
  # cd kvm-33
  # ./configure --prefix=/usr/local/kvm-33
  # make
  # make install

  make install后,kvm的模块会安装到/lib/modules/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。

  将kvm相关目录连接到系统目录中

  # ln -s /usr/local/kvm-33/bin/* /usr/bin/
  # ln -s /usr/local/kvm-33/lib/* /usr/lib/
  (若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
  # ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
  # ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
  # ln -s /usr/local/kvm-33/share/qemu /usr/share/

  2.KVM的使用

  a.你需要先建立一个映像文件作为虚拟系统的硬盘

  # mkdir /images
  # cd /images
  # /usr/bin/qemu-img -f qcow gtes11.img 20G

  b.创建网络配置脚本

  # echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup

  c.加载KVM模块

  Intel CPU使用:
  # modprobe kvm-intel
  AMD CPU使用:
  # modprobe kvm-amd

  d.安装虚拟系统

  # /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d

  在另一个终端执行:

  # vncviewer localhost:1

  参数分析:

  我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。

  注:

  1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386

  2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。

  qemu参数介绍:

  -da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
  -drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
  -oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
  - 内存大小:设置虚拟系统使用的内存大小,单位为MB。
  - 语言:设置虚拟系统键盘类型。
  -et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
  -net tap[,vlan=n][,fd=h][,ifname=name][,script=file]

  把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。

xen的整体性能要优于kvm只有I/O性能略逊于kvm
kvm在linux的整合中要优于xen,kvm是linux内核中的一部分。

目前为止,虚拟技术的老大仍然是VMware,虽然被EMC收购,名义上是EMC的老二,但事实上由于技术的牛X,老二不是很摆老大,当然这只是聊天的话,不做为事实依据。

一、KVM简介

KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。

Xen与KVM的比较

Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。

Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。

相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。

二、KVM的使用

现在以Turbolinux 11版本为基础,介绍KVM的使用方法。

在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:

# egrep '^flags.*(vmx|svm)' /proc/cpuinfo

如果有输出返回,则表示你的CPU支持虚拟化技术。

1.KVM的安装

从官方网站下载KVM源码包:http://kvm.qumranet.com
我们使用KVM-33版本

# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install

make install后,kvm的模块会安装到/lib/modules/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。

将kvm相关目录连接到系统目录中

# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/

2.KVM的使用

a.你需要先建立一个映像文件作为虚拟系统的硬盘

# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G

b.创建网络配置脚本

# echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup

c.加载KVM模块

Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd

d.安装虚拟系统

# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d

在另一个终端执行:

# vncviewer localhost:1

参数分析:

我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。

注:

1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386

2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。

qemu参数介绍:

-da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
-drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
-oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
- 内存大小:设置虚拟系统使用的内存大小,单位为MB。
- 语言:设置虚拟系统键盘类型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]

把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。

Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。

Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。

相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。

参考资料:LINUX的XEN和KVM到底区别在什么地方




VPS几种常见技术(OpenVZ、Xen、KVM)介绍与对比
KVM是新兴的虚拟化项目,出售KVM的VPS商家不多, 但据说KVM虚拟技术是比较强悍的。而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的 VPS服务商比较多。本文就VPS采用的几种常见技术OpenVZ、Xen、KVM做简单介绍和对比,以备你选购自己合适的VPS。OpenVZOpenVZ是操作系统...

检测Linux VPS是Xen,OpenVZ还是KVM真假方法
一、相关说明:可以判断以下大多数虚拟架构,包括:VMware、Hyper-V、VirtualPC、VirtualBox、OpenVZ \/ Virtuozzo、Linux-VServer、UML、IBM PowerVM Lx86 Linux\/x86 emulator、Hitachi Virtualization Manager (HVM) Virtage logical 、partitioning、IBM SystemZ、Parallels、Xen、QEMU\/KVM 二、下载 wget http...

VPS虚拟化架构OpenVZ和KVM的区别
一、主体不同 1、OpenVZ:是基于Linux平台的操作系统级服务器虚拟化解决方案。2、KVM: 通过直接连接键盘、视频和鼠标 (KVM) 端口,能够访问和控制计算机。二、作用不同 1、OpenVZ:可以在单个物理服务器上创建多个隔离的虚拟专用服务器(VPS)并以最大效率共享硬件和管理资源。2、KVM: 提供真正的主板...

Linux操作系统下安装显卡驱动的方法
第一步:下载一个for Linux版的显卡驱动,我下的NVIDIA-Linux-x86-173.08-pkg1.run我的内核是2.6.18-53.el5 第二步:如果查出你的内核中存在xen字样,说时你正处在虚拟机平台。在虚拟机平台不能安装显卡驱动,也不是说一定不能,但是显卡驱动对虚拟机的支持不好,反正我是一次也没安起过。要...

SUSE Linux和Red Hat Enterprise Linux在服务器性能上孰强孰弱?_百度...
需求的提升促使我们深入探讨主流操作系统的性能。本文将通过对比SUSE Linux Enterprise 11 SP1和Red Hat Enterprise Linux 6.2在相同平台上的数据,揭示谁是当前最强大的Linux系统。首先,SUSE Linux Enterprise 11 SP1作为SUSE旗舰产品,支持Xen 4.0、KVM和Hyper-V,且提供了ReaR节点恢复框架及Web GUI集群...

VMware和kvm哪个作为linux的虚拟机更好
KVM提供的虚拟化需要硬件的支持,是基于硬件的完全虚拟化。自Linux 2.6.20之后集成在Linux的各个主要发行版中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。而且KVM是GPL的自由开源软件,这一点与Linux的相得益彰。所以,基于我个人认为在Linux...

Citrix将XenServer全部开源,为何选择在此时回归?
Mark R. Hinkle,Citrix云计算社区的高级总监,在其博客中阐述了这一转变的深层次原因:“XenServer的大部分其实已是开源,依赖Xen Project、Linux内核和XAPI等开源项目。我们坚信,开源是虚拟化和云计算的未来,它能为规模经济和开放创新提供可能。通过公开XenServer,我们希望激发更大的公众参与,让客户、...

virt-install的使用 (一)
官方文档: https:\/\/virt-manager.org\/ virt-manager是一个面向桌面的虚拟机管理工具,通过libvirt来进行虚拟机的管理。主要用于管理KVM,也可以管理Xen和LXC(linux containers)。 Virt-manager提供了一个窗口界面用于查看运行的虚拟机(zai libvirt配置文件中,称为domain),虚拟机的性能和资源使用情况...

linux运维工程师必须掌握哪些技能
如果想达到高级运维工程师的水品,那么主流的虚拟化技术必须要掌握,并且不止于安装部署,还要有较强的故障排错和调优能力。目前主流的虚拟化技术有docker,k8s,kvm,OpenStack,Vmware ESXi,Xen等。3、云架构:除了熟悉虚拟化技术,还要有整合能力,比如如何将这个单个技术应用到实际生产,需要掌握切实可行...

检测linux vps是xen openvz还是kvm的方法
使用virt-what可以查看 CentOS安装 virt-what用下面的命令 yum install virt-what Debian\/ubuntu 安装 virt-what用下面的命令 apt-get install virt-what 装好后使用命令virt-what可以查看

清流县19878622864: LINUX的XEN和KVM到底区别在什么地方 -
丙科四环: 有个几个重要区别:1. KVM内置于Linux,是内核模块;xen是Linux的一个应用.所以KVM可以直接利用Linux来做一些在xen中需要利用hypervisor来做的事情,比如任务调度,内存管理等等.所以相比之下,KVM更轻量,更易管理,并且版本更...

清流县19878622864: kvm和Xen有何区别?
丙科四环: kvm可使用通常的linux调度器和内存管理. 这意味着kvm更小更易使用.另外, Xen是一个外部的hypervisor程序(虚拟机管理程序);它能够控制虚拟机和给多个客户机分配资源.Xen支持全虚拟化和半虚拟化(修改过的客户机能有更好的性能). kvm当前不支持半虚拟化.

清流县19878622864: 虚拟化技术KVM和XEN的区别 -
丙科四环: 虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处...

清流县19878622864: 开源的虚拟化软件KVM和Xen比较,哪个更有前途呢? -
丙科四环: 只能说是各有所长,以下供大家参考: Xen与KVM的比较 虚拟化技术已经成为未来计算机技术的一个重要的发展方向.linux在虚拟化方面已经有了很多中解决方案VMware、VirtualBox、en和KVM. KVM是一个全虚拟化的解决方案.可以在x...

清流县19878622864: Linux上虚拟机Xen和KVM哪个更强 -
丙科四环: KVM需要首先检查下你的cpu是否支持intel的VT虚拟化,或者amd的SVM 虚拟化技术 XEN则不需要, 从技术上来讲 KVM比较先进 也更强 不过XEN已经行之多年, 解决方案等比较成熟 安装kvm方面 首先 cat /proc/cupinfo 如果在flags现有显示vt ...

清流县19878622864: kvm与xen虚拟化环境究竟有何不同 -
丙科四环: 虚拟化的概念在近些年收到了很大程度上的普及,求其原因很简单:虚拟化能够最大程度利用资源,为企业节约成本.目前市面较受欢迎的虚拟架构主要有KVM、XEN和VMware,其中,KVM和XEN都是免费开源的,而VMware则是付费的....

清流县19878622864: KVM和ESXI和XEn 哪一个好一些 -
丙科四环: 性价比上KVM优于ESXI,因为免费.管理上,ESXI比KVM简便.KVM需要扎实的Linux,网络基础作铺垫,需要自己设置宿主机安全策略,门槛较高.ESXI入门相对容易些.趋势上,国内互联网公有云,几乎清一色的KVM

清流县19878622864: linux装虚拟机是用kvm的多还是xen的多 -
丙科四环: 首先KVM和XEN均为开源ESXi是VMware公司的,需要收费有开发团队且技术好就用KVM或是XEN否则还是老老实实用ESXi吧,市场占有率大,成熟稳定,功能强大

清流县19878622864: 服务器虚拟KVM是什么? -
丙科四环: 您好,很高兴为您解答.KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一.您也可以理解为在您的电脑上安装了一个虚拟机(一台电脑).简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的.物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest).

清流县19878622864: KVM虚拟机的介绍 -
丙科四环: Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网