虚拟化工具并不是一个新玩意,网管们早就想到用这样一个智能工具管理数据中心。只不过,近几年随着云计算的兴起,市场对于大数据的处理、存储等环节应运出了更多的需求,使得虚拟化再次被翻炒一遍,以致身价倍增,很多主攻虚拟化工具的公司都乘机壮大起来。这里,编者推荐几款耳熟能详的虚拟化工具,Hyper-v、Xen、VirtualBox等等。也顺便做一个调查,这些工具哪一款是网管员最喜爱的虚拟化工具呢?
虚拟机监视器Xen
Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。目前,Xen可以运行在x86系统上,并正在向x86_64、IA64、PPC移植。移植到其他平台从技术上是可行的,未来有可能会实现。
Xen通过一种叫做准虚拟化的技术获得高性能,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有上佳的表现。与那些传统通过软件模拟实现硬件的虚拟机不同,在Intel VT-X支持下3.0版本之前的Xen需要系统的来宾权限,用来和Xen API进行连接。到目前为止,这种技术已经可以运用在NetBSD, GNU/Linux, FreeBSD和Plan 9系统上。在Brainshare 2005会议上,Novell展示了NetWare与 Xen的连通。与Windows XP连通的技术曾在Xen开发初期进行,但微软的协议未能允许它发布。Sun微系统公司也正在积极地将Solaris移植到Xen平台之上。
Xen虚拟机可以在不停止的情况下在多个物理主机之间实时迁移。在操作过程中,虚拟机在没有停止工作的情况下内存被反复的复制到目标机器。虚拟机在最终目的地开始执行之前,会有一次60-300秒的非常短暂的暂停以执行最终的同步化,给人无缝迁移的感觉。类似的技术被用来暂停一台正在运行的虚拟机到磁盘,并切换到另外一台,第一台虚拟机在以后可以恢复。
x86虚拟机软件VirtualBox
VirtualBox原是德国一家软件公司InnoTek所开发的虚拟系统软件(已被SUN收购,而SUN已被Oracle收购),它不仅具有丰富的特色,而且性能也很优异。
VirtualBox是一款功能强大的x86虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。VirtualBox可以在Linux和 Windows主机中运行,并支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统。
假如你曾经有用过虚拟机软件的经历的话,相信使用 VirtualBox 不在话下。即便你是一个新手,也没有关系。VirtualBox 提供了详细的文档,可以助你在短期内入门。
KVM
KVM全称是Kernel-based Virtual Machine,它是Linux下x86硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。使用 KVM 可允许多个包括 Linux 和 Windows 每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。
Bochs
Bochs是一个基于LGPL的开源x86虚拟机软件。Bochs的CPU指令是完全自己模拟出来的,这种方式的缺点是速度比较慢;优点是具有无以伦比的可移植性:有Gcc的地方就可以有Bochs。甚至已经有了跑在PocketPC上的Bochs。
现在的Bochs 已经实现了一定程度的调试功能,虽然在易用性和功能上还无法和WinDbg、SoftICE相比,但优势也是很明显的:对跑在Bochs里面的代码来说,这就是“硬件调试器”。
对Windows 版本的Bochs来说,安装目录下的bochsdbg.exe就是Bochs的调试版本。用它来运行Bochs虚拟机就可以进行“硬件调试”。Bochs 的调试命令风格是按照GDB习惯来设计的,这对于用惯了WinDbg的人来说无疑是痛苦的,好在这是个开源软件,看着不顺眼可以考虑自己改改。
OpenVZ
OpenVZ是SWsoft, Inc.公司开发的专有软件Virtuozzo的基础。OpenVZ的授权为GPLv2,由两部分组成,一个经修改过的操作系统核心与及用户工具。
OpenVZ是基于Linux内核和作业系统的操作系统级虚拟化技术。OpenVZ允许物理服务器运行多个操作系统,被称虚拟专用服务器(VPS,Virtual Private Server)或虚拟环境(VE, Virtual Environment)。
与VMware这种虚拟机和Xen这种半虚拟化技术相比,OpenVZ的host OS和guest OS都必需是Linux(虽然在不同的虚拟环境里可以用不同的Linux发行版)。但是,OpenVZ声称这样做有性能上的优势。根据OpenVZ网站的说法,使用OpenVZ与使用独立的服务器相比,性能只会有1-3%的损失。
Xen hypervisor
Xen hypervisor 提供了一组特性集,可以实现 x86、x86_64、IA64、PowerPC? 和其他 CPU 架构的虚拟化,以及包括 Windows、Linux、Solaris 和其他各种 BSD 操作系统在内的大量客户操作系统。
Proxmox VE
Proxmox VEProxmox Virtual Environment) 集成了OPENVZ并且支持KVM应用的环境。它给用户提供了简单易用的Web界面,基于JAVA的UI和内核接口,以及可以登录到VM客户的便捷操作,还有易用的模板功能,基本跟老外的商业VPS环境差不多了,同时还支持VT和ISCSI。
Archipel
Archipel是一个管理和监控虚拟机的解决方案,不管是本机或者是整个数据中心的虚拟机,Archipel 都可以轻松的管理。Archipel 提供了集中式的管理机制,支持的虚拟机包括:KVM、Xen、OpenVZ和VMWare。
andLinux
andLinux是一个基于Ubuntu的自由软件项目,其目的是让你不需要使用诸如 VMWare之类的虚拟机就可以在Windows下运行Linux,而且最有意思的是,你可以同时使用Windows和Linux而不需要像使用虚拟机那样来回切换andLinux使用CoLinux做为其核心。
andLinux优点在于方便开发人员开发和调试跨Windows和Linux平台的程,并且,几乎不用做任何修改即可在 Windows 上运行绝大多数 Linux 应用程序。
目前andLinux 提供 XFCE(最大需要 2.5GB 空间)和 KDE(最大需要 4.5GB 空间)两种版本,安装文件和程序文件已经编译成 EXE 文件,无论安装还是运行,双击你的鼠标即可。不过,你需要注意的是,在安装的时候需要在NTFS分区上安装。
Xen虚拟机监视器Remus
Xen最初是剑桥大学开发的开源虚拟机监视器。现在不列颠哥伦比亚大学开发的Remus项目正式成为Xen的一部分,它为Xen带来透明和高可用性。主要特性包括:它能在备份服务器上维护一个正在运行的虚拟机完整实时更新拷贝,当主虚拟机发生故障,备份虚拟机就会自动激活,就好象没发生过任何事一样;保护是透明的,现有的客户机能以不被修改的情况下保护起来。
HyperVM
虚拟化管理系统HyperVM是一个非常灵活的虚拟化管理系统,从统一控制台(WEB界面)集中管理你的虚拟化服务器群,它支持openvz和xen虚拟化平台。
Open Virtual Machine Tools项目提供了一套开源的虚拟化工具和驱动旨在提升虚拟化的用户体验。该项目目前运行在 VMware hype 虚拟机的 Guest 操作系统。
Mac-on-Linux
Mac-on-Linux是一个用来在Linux系统上虚拟化Mac OS和Mac OS X系统的程序。
OpenNode
OpenNode是一个服务器的虚拟化解决方案,提供了一个易于使用(CentOS /红帽为基础)裸机安装程序和标准,同时支持OpenVZ的基于容器的虚拟化和在同一个物理主机出现全面的KVM虚拟化技术。
在 OpenNode标准安装程序将设立具有以下特点最小CentOS 5服务器系统:红帽2.6.18内核(由OpenVZ项目)修改,以同时支持OpenVZ和KVM虚拟化,libvirt的管理OpenVZ和切换管理程序,函数接口支持。
VBoxTool
VBoxTool是一个VirtualBox虚拟机器的控制程序,运行在Linux下控制台窗口。可以在命令行中对虚拟机进行启动、停止、显示状态等操作。
Ganeti
Ganeti是基于Xen虚拟机管理器和其他开源软件的虚拟服务器管理软件工具。要运行Ganeti你需要在服务器上重装虚拟机软件。安装完毕后,这个工具会替代原来虚拟机实例中的管理部分(Xen DomU),比如:建立磁盘的管理工具。为这些事例安装系统配置(在系统特定的安装脚本协作下)。开始,关机,在物理设备间进行故障转移。这些步骤旨在促 进虚拟服务器的计算机集群管理,同时提供简单而有效故障恢复在使用硬件设备失败的时候。
Gabeti提供了丰富的管理功能:支持Xen虚拟化技术、最高支持1-25个物理node、完全支持Paravirtualization方法、磁盘管理使用简单LVM卷,本地raid1镜像或者网络raid1(在物理设备崩溃的时候进行快速恢复)中的任意一种,并且提供导入和导出架构用以备份或在计算机集群中进行迁移。