请教大家一个问题,关于文件服务器虚拟化

请教大家一个问题,关于文件服务器虚拟化,第1张

body{ line-height:200%; } 服务器虚拟化技术的常见类型 在服务器虚拟化技术中,被虚拟的实体是各种各样的IT资源。按照这些资源的类型分类,我们可以梳理出不同类型的虚拟化。目前,大家接触最多的就是系统虚拟化。比如使用VMware Workstation在个人电脑上虚拟出一个逻辑系统,用户可以在这个虚拟的系统上安装和使用另一个 *** 作系统及其上的应用程序,就如同在使用一台独立的电脑。我们将该虚拟系统称做“虚拟机”,而VMware Workstation这样的软件就是 “虚拟化软件套件”,它们负责虚拟机的创建、运行和管理。虽然虚拟机或者说系统虚拟化是当前最常使用的服务器虚拟化技术,但它并不是虚拟化的全部。下面为读者介绍服务器虚拟化技术的几种常见类型。 1 基础设施虚拟化 网络虚拟化是指将网络的硬件和软件资源整合,向用户提供虚拟网络连接的虚拟化技术。网络虚拟化可以分为局域网络虚拟化和广域网络虚拟化两种形式。在局域网络虚拟化中,多个本地网络被组合成为一个逻辑网络,或者一个本地网络被分割为多个逻辑网络,并用这样的方法来提高大型企业自用网络或者数据中心内部网络的使用效率。该技术的典型代表是虚拟局域网(Virtual LAN, VLAN)。对于广域网络虚拟化,目前最普遍的应用是虚拟专用网(Virtual Private Network, )。虚拟专用网抽象化了网络连接,使得远程用户可以随时随地访问公司的内部网络,并且感觉不到物理连接和虚拟连接的差异性。同时,保证这种外部网络连接的安全性与私密性。 存储虚拟化是指为物理的存储设备提供一个抽象的逻辑视图,用户可以通过这个视图中的统一逻辑接口来访问被整合的存储资源。存储虚拟化主要有基于存储设备的存储虚拟化和基于网络的存储虚拟化两种主要形式。磁盘阵列技术(Redundant Array of Inexpensive Disks, RAID)是基于存储设备的存储虚拟化的典型代表,该技术通过将多块物理磁盘组合成为磁盘阵列,用廉价的磁盘设备实现了一个统一的、高性能的容错存储空间。网络附加存储(Network Attached Storage, NAS)和存储区域网(StorageArea Network, SAN)则是基于网络的存储虚拟化技术的典型代表。 存储虚拟化是指把物理上分散存储的众多文件整合为一个统一的逻辑视图,方便用户访问,提高文件管理的效率。存储设备和系统通过网络连接起来,用户在访问数据时并不知道真实的物理位置。它还使管理员能够在一个控制台上管理分散在不同位置的异构设备上的数据。 2 系统虚拟化 正如上文所述,目前对于大多数熟悉或从事IT工作的人来说,“虚拟化”这个词在脑海里的第一印象就是在同一台物理机上运行多个独立的 *** 作系统,即所谓的系统虚拟化。系统虚拟化是被最广泛接受和认识的一种服务器虚拟化技术。系统虚拟化实现了 *** 作系统与物理计算机的分离,使得在一台物理计算机上可以同时安装和运行一个或多个虚拟的 *** 作系统。在 *** 作系统内部的应用程序看来,与使用直接安装在物理计算机上的 *** 作系统没有显著差异。 系统虚拟化的核心思想是使用虚拟化软件在一台物理机上虚拟出一台或多台虚拟机(Virtual Machine, VM)。虚拟机是指使用系统虚拟化技术,运行在一个隔离环境中、具有完整硬件功能的逻辑计算机系统,包括客户 *** 作系统和其中的应用程序。在系统虚拟化中,多个 *** 作系统可以互不影响地在同一台物理机上同时运行,复用物理机资源。在下文,尤其是第4章中,读者将会接触到各种各样不同的系统虚拟化技术,比如应用于IBM z系列大型机的系统虚拟化、应用于基于Power架构的IBM p系列服务器的系统虚拟化和应用于x86架构的个人计算机的系统虚拟化。对于这些不同类型的系统虚拟化,虚拟机运行环境的设计和实现不尽相同。但是,在系统虚拟化中虚拟运行环境都需要为在其上运行的虚拟机提供一套虚拟的硬件环境,包括虚拟的处理器、内存、设备与I/O及网络接口等,如图22所示。同时,虚拟运行环境也为这些 *** 作系统提供了诸多特性,如硬件共享、统一管理、系统隔离等。 图22 系统虚拟化 相信很多读者都曾经或者正在将系统虚拟化技术运用到我们日常所用的个人电脑上。在个人电脑上使用系统虚拟化具有丰富的应用场景,其中最普遍的一个就是运行与本机 *** 作系统不兼容的应用程序。例如,一个用户使用的是Windows系统的个人电脑,但是需要使用一个只能在Linux下运行的应用程序,他可以在个人电脑上虚拟出一个虚拟机并在上面安装Linux *** 作系统,这样就可以使用他所需要的应用程序了。 系统虚拟化更大的价值在于服务器虚拟化。目前,数据中心大量使用x86服务器,一个大型的数据中心中往往托管了数以万计的x86服务器。出于安全、可靠和性能的考虑,这些服务器基本只运行着一个应用服务,导致了服务器利用率低下。由于服务器通常具有很强的硬件能力,如果在同一台物理服务器上虚拟出多个虚拟服务器,每个虚拟服务器运行不同的服务,这样便可提高服务器的利用率,减少机器数量,降低运营成本,节省物理存储空间及电能,从而达到既经济又环保的目的。 除了在个人电脑和服务器上采用虚拟机进行系统虚拟化以外,桌面虚拟化同样可以达到在同一个终端环境运行多个不同系统的目的。桌面虚拟化解除了个人电脑的桌面环境(包括应用程序和文件等)与物理机之间的耦合关系。经过虚拟化后的桌面环境被保存在远程的服务器上,而不是在个人电脑的本地硬盘上。这意味着当用户在其桌面环境上工作时,所有的程序与数据都运行和最终被保存在这个远程的服务器上,用户可以使用任何具有足够显示能力的兼容设备来访问和使用自己的桌面环境,如个人电脑、智能手机等。 3 软件虚拟化 除了针对基础设施和系统的虚拟化技术,还有另一种针对软件的虚拟化环境,如用户所使用的应用程序和编程语言,都存在着相对应的虚拟化概念。目前,业界公认的这类虚拟化技术主要包括应用虚拟化和高级语言虚拟化。 应用虚拟化将应用程序与 *** 作系统解耦合,为应用程序提供了一个虚拟的运行环境。在这个环境中,不仅包括应用程序的可执行文件,还包括它所需要的运行时环境。当用户需要使用某款软件时,应用虚拟化服务器可以实时地将用户所需的程序组件推送到客户端的应用虚拟化运行环境。当用户完成 *** 作关闭应用程序后,他所做的更改和数据将被上传到服务器集中管理。这样,用户将不再局限于单一的客户端,可以在不同的终端上使用自己的应用。 高级语言虚拟化解决的是可执行程序在不同体系结构计算机间迁移的问题。在高级语言虚拟化中,由高级语言编写的程序被编译为标准的中间指令。这些中间指令在解释执行或动态翻译环境中被执行,因而可以运行在不同的体系结构之上。例如,被广泛应用的Java虚拟机技术,它解除下层的系统平台(包括硬件与 *** 作系统)与上层的可执行代码之间的耦合,来实现代码的跨平台执行。用户编写的Java源程序通过JDK提供的编译器被编译成为平台中立的字节码,作为Java虚拟机的输入。Java虚拟机将字节码转换为在特定平台上可执行的二进制机器代码,从而达到了“一次编译,处处执行”的效果。

厂商主要三个:VMware,Citrix,MS,三个厂商对应的较成熟产品是VMware ESXi,Xenserver,Hyper-V,都是裸机虚拟化

个人家用使用:

VMware Workstation(Windows)/Fusion(Mac)、Oracle VM VirtualBox、QEMU(Linux)

企业商用使用:

VMware vSphere系列、Citrix Xen Server、Microsoft Hyper-V、KVM、华为Fusion Sphere;

(1)公有云平台:亚马逊AWS,阿里云,腾讯云,华为云,QingCloud;

(2) 混合云平台:ZStack,BeyondCMP,CAS虚拟化平台等;

(3) 私有云平台:VisionStack杭州云容,ESCloud易捷云,Ucloud,AWCloud,ZStack等。

虚拟化、云化、超融合等,都有不可绕过的问题,就是虚拟机或者服务器对USB设备的不支持,

针对这一问题,推荐是EastFax   USB  Server网络远程连接调用USB方案。

VMware

微软:Hyper-V

思杰:XEN(开源)

Rethat:KVM(开源)

国内厂商还有曙光,联想,华为,云宏,华三等。

虚拟化的应用 
1、Openfiler NAS和SAN
2、Opsview监测工具
3、Cacti网络绘图工具
4、M0n0wall防火墙
5、AS Communication Gateway
6、WebGUI CMS
7、BitNami WordPress
8、FOG计算机克隆工具
9、云桌面技术

服务器虚拟化是指将一台计算机(称为物理机、物理服务器)通过hypervisor虚拟为多台逻辑计算机的技术,这些逻辑计算机又被称为虚拟机(VM,Virtual Machine),每台虚拟机都拥有独立的“硬件”。虽然你可以在虚拟机的 *** 作系统中看到这些“硬件”,不过它们并不是真实存在的,而是通过hypervisor将物理机的硬件虚拟而来。虚拟机运行时,虚拟机硬件的工作实际是由物理机的硬件完成的。

hypervisor又被称为虚拟机监视器(VMM,Virtual Machine Monitor),是实现物理机虚拟为虚拟机的 *** 作系统或者软件,它为虚拟机提供虚拟的硬件资源,负责管理和分配这些资源,并确保上层虚拟机之间的相互隔离。hypervisor有两种类型:一种是 *** 作系统,直接安装在物理机上;另一种是应用程序,需要先在物理机上安装 *** 作系统,再在 *** 作系统中安装hypervisor。

摘 要:随着计算机技术的发展,服务器虚拟化技术已经被越来越多的企业所采用,使用这种技术可以大大提高服务器的使用效率。文章中主要介绍了两种虚拟化软件Vmware和Xen的结构特点,并分析了它们之间的区别。
关键词:服务器虚拟化 Vmware Xen

虚拟化将主宰未来的企业,在现在的国内,企业数据中心都是根据需求随时添加服务器设备,这些设备基本上都是分散的,不同品牌、不同配置甚至不同架构,最致命的是,在其上运行的应用并不能够充分利用服务器所有的资源,占用到15%―20%的服务器资源是一个普遍现象,而使用虚拟化技术可以减少服务器数量的增加,简化服务器管理,同时明显提高服务器利用率、网络灵活性和可靠性。将多种应用整合到少量企业级服务器上即可实现这一目标。通过整合及虚拟化,数百台服务器可以减少至数十台。10%甚至更低的服务器利用率将提高到60%或更高,IT基础设施的灵活性、可靠性和效率也将得到改进。由此可见虚拟化技术成为各个企业和研究机构的重要课题。下面简单介绍一下两种虚拟化软件及其区别。

一、VMware

VMware是业界著名的虚拟机产品,它有VMware Workstation、VMware GSX Server、VMware ESX Server等系列产品。VMware的VMM可以有两种结构形式,即Standalone和Hosted。Standalone的结构形式是指,VMM作为一层直接运行在硬件平台上的软件层,在它上面可以创建和管理多个客户虚拟系统。这种结构的VMM有点像一个 *** 作系统,它包含硬件平台的驱动,受到硬件平台种类的限制。它适合于服务器的应用环境,其典型的产品是VMware ESX Server。
Hosted结构的VMM作为 *** 作系统的一个应用程序运行,它可以利用 *** 作系统自身的内存管理、CPU调动、硬件驱动和资源管理。VMware Workstation使用的是Hosted的结构,是设计来让一些应用程序,比方软件的研发或测试程序来执行,同时Server版本的目标则针对数据库以测试软件更新、简化应用程序的提供,或使用虚拟的设备等功能。ESX Server可以藉由不使用 *** 作系统来大量增加效能。相反的,ESX使用自己设计的 *** 作系统核心,可以直接在计算机上执行。这个方法可以同时支持更多的虚拟服务器,但ESX核心支持的硬件并不多。
由于VMware的目标平台是x86平台,因此,它也同样面临着x86平台不完全支持虚拟化的问题。VMware的解决方法是其专利技术,在需要VMM参与的地方,动态重写部分虚拟系统的指令,使其可以trap到VMM。
此外,VMware还有Virtual Center。VMotion应用在IBM Blade Center刀片服务器上,使之具备更好的d性和可用性,结合刀片服务器的模块化和可扩展性,可以增加内存和I/O能力的扩展比例,混合刀片间的工作负载均衡。Virtual Center采用集中式管理,可以监控系统的可用性及性能,并可以自动告警,SDK与现有管理工具整合,通过稳定的访问控制保证系统安全。VMotion技术使用户在保持连续的服务可用性的同时,还可以将实时运行企业用户关键业务的虚拟机,从一台物理主机转移到另一台物理主机,并动态获得每台物理服务器资源的极佳利用率、零宕机维护、快速重新配置,以及持续的工作负载整合能力。

二、Xen

Xen VMM(Virtual Machine Monitor)是由剑桥大学计算机实验室开发的一个开源项目,它能够让我们创建更多的虚拟机,每一个虚拟机都是运行在同一个 *** 作系统上的实例。
这些客户OS可以是修补过的Linux内核24或26,也可以是修补过的NetBSD/FreeBSD内核。用户应用程序就运行在这些客户OS上,并不需要修改任何代码。但是,随着将来的处理器能支持虚拟化,内核也就不需要打补丁了。比如说,Intel的VT和AMD的Pacifica处理器都将包括这种支持。
在Xen中,一个“系统管理程序”运行在0环,客户OS运行在1环,应用程序运行在3环。这种关系对于x64/64有一点不同,就是客户内核和应用程序都运行在3环上。
Xen自身被称为“系统管理程序”,是因为它比客户OS的系统管理代码运行所需的特权级还高。
当系统引导的时候,Xen被装载到0环的内存中。它在1环上启动修补过的内核,这被称作是domain 0(注:domain是指一个运行中的虚拟机,在其上有一个guest OS在执行)。从这个domain开始,你可以创建更多的domain,也可以销毁它们,还可以进行domain的迁移、设置参数等等。你创建的那些domain也运行在1环它们的内核中。用户应用程序运行在3环。
目前,修补过的Linux内核24和26可以作为domain 0。据Xen开发者所说,将来domain 0仅支持26的内核补丁。构造domain 0的大部分工作是在xen/arch/x86/domain_buildc中的construct_dom0()方法中实现的。
物理设备驱动程序只能运行在特权级,也就是domain 0上。Xen依靠Linux或其它修补过的OS内核对它所有的设备提供虚拟化支持。这样的好处就是Xen的开发者不必再去开发设备驱动程序。
在一个有标签TLB的处理器上使用Xen能够大大提高性能。标签TLB能够把ASID(Address Space Identifier)放在TLB入口处。有了这个特性,当处理器在系统管理程序和客户OS之间切换时就不需要刷新TLB了,这大大减少了系统开销。

三、两者主要区别

目前Xen和VMware是市场上主流的两大虚拟化产品。现在我就来谈谈这两大产品背后的架构有什么区别,以及这一技术在未来会如何发展。VMware ESX服务器的架构是建立在直接执行(直接在硬件上上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。从根本上说,它把一个完整的X86平台导出到虚拟机上,ESX服务器可以使大多数能在X86上执行的 *** 作系统都能在虚拟机上运行,而不需要进行任何修改。Xen的架构中使用了一种叫Para虚拟化技术(Para Virtualization),对虚拟出来的客户 *** 作系统(Guest OS)进行修改,使它知道它是在虚拟环境下运行。
那么这两种方式有什么不同呢?最大的不同就是对输入/输出(I/O)设备的处理。虚拟机I/O端口和每个物理I/O端口设备之间如何路由在很大程度上影响虚拟平台架构的性能、便携性、可持续性和稳定性。Xen采用的是分离驱动模式,真实驱动存在于一个中间层,这个中间层叫服务虚拟机,其他虚拟机上的特殊驱动通过这个服务虚拟机进行通讯。这种方法能提供很好的性能,但是对于闭源和传统 *** 作系统支持有限。在ESX中,虚拟机的虚拟设备驱动与ESX内核里的物理设备驱动直接相互连接。ESX虚拟机可以为其虚拟设备使用现成的(off-the-shelf)驱动。这不仅能提供高性能,还能提供更广泛的 *** 作系统支持。然而在这个模型里,新的设备驱动必须要导入到ESX内核中。为了解决I/O虚拟化的平衡问题和复杂化问题,戴尔与英特尔、AMD这样的合作伙伴以及外设硬件供应商们一起,在芯片组和I/O设备中引入了虚拟化支持。企业级虚拟化解决方案的另外一个重要部分就是其管理。戴尔OpenManage这样的产品附送VMware Virtual Center、P2V 和VM Importer,提供了整套工具,能有效进行部署、监控、 *** 作自动化,以及对虚拟IT数据中心进行管理。Novell和Red Hat都在它们的 *** 作系统中整合了对Xen平台的管理,方法是运用像YaST和Anaconda这样的安装和配置工具以及Virtual Machine Manager这样的管理工具。

四、虚拟化技术的未来

资讯科技及通讯业研究权威Gartner估计,由现在至2010年间,虚拟化将会是资讯基建及营运领域中最重要的技术,并会彻底改变资讯科技部门管理、采购、部署、规划,以及其所提供服务的收费模式。虚拟化目前不再只着重技术,而是更加着重企业内的流程改变及文化变迁。虚拟化可让服务以另一种模式提供。每个经虚拟化的层面都可作独立的管理,或甚至由他人所掌管,例子包括串流式应用或员工所拥有的个人计算机一样。这一切均要求企业文化作出重大改变。

参考文献:
[1]郭庭廷,吴玮揭开虚拟化神秘面纱[J]机械工业信息与网络,2007,(03)
[2]成凯透视虚拟化技术[J]软件世界,2007,(11)
[3]伍班权虚拟化技术及其发展[J]办公自动化,2007,(12)
[4]杨晓伟基于Xen的X86虚拟机性能调优[J]计算机工程,2006,(24)
[5]刘志平基于VMware虚拟网络的构建[J]内蒙古大学学报(自然科学版),2007,(01)
[6]赵祖荫基于VMware软件的虚拟计算机的构建方法[J]微型电脑应用,2004,(06)

计算机虚拟化技术当前主要包括服务器虚拟化、应用虚拟化、桌面虚拟化。目前网络虚拟化,显卡虚拟化(也称GPU虚拟化)等技术都在快速发展,在不久的将来,当前物理的PC设备将都支持虚拟化技术,实现IAAS(infrastructure as a service),实现真正意义的云计算。

从系统的观点看,有三种主要的存储虚拟化方法:

基于主机的虚拟存储;

基于存储设备的虚拟存储;

基于网络的虚拟存储。

方法1:基于主机的虚拟存储

基于主机的虚拟存储依赖于代理或管理软件,它们安装在一个或多个主机上,实现存储虚拟化的控制和管理。由于控制软件是运行在主机上,这就会占用主机的处理时间。因此,这种方法的可扩充性较差,实际运行的性能不是很好。基于主机的方法也有可能影响到系统的稳定性和安全性,因为有可能导致不经意间越权访问到受保护的数据。这种方法要求在主机上安装适当的控制软件,因此一个主机的故障可能影响整个SAN系统中数据的完整性。软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互 *** 作性开销,所以这种方法的灵活性也比较差。

但是,因为不需要任何附加硬件,基于主机的虚拟化方法最容易实现,其设备成本最低。使用这种方法的供应商趋向于成为存储管理领域的软件厂商,而且目前已经有成熟的软件产品。这些软件可以提供便于使用的图形接口,方便地用于SAN的管理和虚拟化,在主机和小型SAN结构中有着良好的负载平衡机制。从这个意义上看,基于主机的存储虚拟化是一种性价比不错的方法。

方法2:基于存储设备的虚拟化

基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。如果没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。对于包含多厂商存储设备的SAN存储系统,这种方法的运行效果并不是很好。依赖于存储供应商的功能模块将会在系统中排斥JBODS(Just a Bunch of Disks,简单的硬盘组)和简单存储设备的使用,因为这些设备并没有提供存储虚拟化的功能。当然,利用这种方法意味着最终将锁定某一家单独的存储供应商。

基于存储的虚拟化方法也有一些优势:在存储系统中这种方法较容易实现,容易和某个特定存储供应商的设备相协调,所以更容易管理,同时它对用户或管理人员都是透明的。但是,我们必须注意到,因为缺乏足够的软件进行支持,这就使得解决方案更难以客户化(customzing)和监控。

方法3:基于网络的虚拟存储

基于网络的虚拟化方法是在网络设备之间实现存储虚拟化功能,具体有下面几种方式:

1 基于互联设备的虚拟化

基于互联设备的方法如果是对称的,那么控制信息和数据走在同一条通道上;如果是不对称的,控制信息和数据走在不同的路径上。在对称的方式下,互联设备可能成为瓶颈,但是多重设备管理和负载平衡机制可以减缓瓶颈的矛盾。同时,多重设备管理环境中,当一个设备发生故障时,也比较容易支持服务器实现故障接替。但是,这将产生多个SAN孤岛,因为一个设备仅控制与它所连接的存储系统。非对称式虚拟存储比对称式更具有可扩展性,因为数据和控制信息的路径是分离的。

基于互联设备的虚拟化方法能够在专用服务器上运行,使用标准 *** 作系统,例如Windows、Sun Solaris、Linux或供应商提供的 *** 作系统。这种方法运行在标准 *** 作系统中,具有基于主机方法的诸多优势--易使用、设备便宜。许多基于设备的虚拟化提供商也提供附加的功能模块来改善系统的整体性能,能够获得比标准 *** 作系统更好的性能和更完善的功能,但需要更高的硬件成本。

但是,基于设备的方法也继承了基于主机虚拟化方法的一些缺陷,因为它仍然需要一个运行在主机上的代理软件或基于主机的适配器,任何主机的故障或不适当的主机配置都可能导致访问到不被保护的数据。同时,在异构 *** 作系统间的互 *** 作性仍然是一个问题。

3 基于路由器的虚拟化

基于路由器的方法是在路由器固件上实现存储虚拟化功能。供应商通常也提供运行在主机上的附加软件来进一步增强存储管理能力。在此方法中,路由器被放置于每个主机到存储网络的数据通道中,用来截取网络中任何一个从主机到存储系统的命令。由于路由器潜在地为每一台主机服务,大多数控制模块存在于路由器的固件中,相对于基于主机和大多数基于互联设备的方法,这种方法的性能更好、效果更佳。由于不依赖于在每个主机上运行的代理服务器,这种方法比基于主机或基于设备的方法具有更好的安全性。当连接主机到存储网络的路由器出现故障时,仍然可能导致主机上的数据不能被访问。但是只有联结于故障路由器的主机才会受到影响,其他主机仍然可以通过其他路由器访问存储系统。路由器的冗余可以支持动态多路径,这也为上述故障问题提供了一个解决方法。由于路由器经常作为协议转换的桥梁,基于路由器的方法也可以在异构 *** 作系统和多供应商存储环境之间提供互 *** 作性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13324509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存