在工作学习中使用过KVM、xen、vmware,平时只是环境搭建起来在上面用,并没有真正去了解下它们到底是什么东西,今天上网简单了解下。

首先,虚拟化好处是:能够最大程度利用资源,为企业节约成本。

 

其次,分别了解下kvm,xen,vmware到底是什么东西。

KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine)。也有人将KVM架构分解为两部分:KVM驱动,即linux kernel的一个模块和Qemu,即用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。KVM最大的好处就在于它是与Linux内核集成的,所以速度很快。KVM的宿主操作系统必须是Linux,支持的客户机操作系统包括Linux、Windows、Solaris和BSD,运行在支持虚拟化扩展的x86和x86_64硬件架构上,cpu支持VT技术。KVM是一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMDSVM)虚拟化特性的支持,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,而Qemu是一套独立的虚拟化解决方案,KVM借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU。

 

Xen是另一套独立的虚拟化解决方案,最初的Xen只支持半虚拟化,Intel VT技术出现后,添加了全虚拟化功能,这个全虚拟化功能也是借助了qemu实现,但不是完全依赖qemu。Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。Xen的缺点是操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性),所以比较麻烦。使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。Linux的官方内核在较早之前已经去掉了对Xen的支持。

 

VMWare (Virtual Machine ware)是一个“虚拟PC”虚拟机管理软件。它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。

 

最后,总结下平时工作中使用的虚拟机命令。

xm 命令用法  

目的:通过xm命令方便管理xen虚拟机。

命令列表:

xm list:所有已知的虚拟机列表

xm create:启动一个非托管的虚拟机

xm top:提供所有虚拟机的状态概貌

xm console:打开控制台管理虚拟机

xm new:添加虚拟机到Xenbase托管环境

xm start:从Xenbase托管环境启动虚拟机

xm destroy:像关掉电源那样关闭虚拟机

xm shutdown:正确地关掉虚拟机

 

virsh管理KVM虚拟机

1,查看运行的虚拟机

virsh list

2,查看所有的虚拟机(关闭和运行的虚拟机)

virsh list --all

3,连接虚拟机

virsh console +域名(虚拟机的名称)

4,退出虚拟机

ctrl+]

5,关闭虚拟机

5.1    virsh shutdown +域名  

5.2  virsh destroy +域名

这种方式的关闭,是一种删除的方式,只是在virsh list中删除了该虚拟机。

6,启动虚拟机并进入该虚拟机

virsh start 域名 --console