一种基于虚拟化技术的透明计算方法及透明计算系统与流程

文档序号:12009869阅读:338来源:国知局
一种基于虚拟化技术的透明计算方法及透明计算系统与流程
本发明涉及一种基于虚拟化技术的透明计算方法及透明计算系统。

背景技术:
计算机技术的飞速发展,使人们对信息的获取和处理需求也越来越强烈。但目前所有计算机设备在使用之前,必须安装支持其硬件环境的操作系统、支撑软件和各种应用程序,否则将无法正常使用。而对于用户而言,只关心怎样通过终端设备获得各种所需的服务,而不希望再关注设备的操作系统、硬件配置和网络连接方式等更底层的信息。因此当设备的这些层次出现问题或故障时,大多数用户并不知道如何处理,只能请专业人员进行维修,用户的体验大大降低,甚至造成了损失。此外,终端设备的硬件与操作系统相关,应用程序又与操作系统相关的特性,降低了设备的迁移能力,也使得用户的选择余地受到限制。例如当使用某款Android应用程序时,无法将其移植到Windows操作系统上继续运行;使用苹果公司的移动终端设备iPhone时,也无法通过iPhone获得Android应用的服务。作为用户,不仅要求在任何时间获得信息和服务,还希望能在任何地点,使用不同的终端设备,获得一致的使用环境和软件资源。例如用户在公司使用PC机进行办公,回到家需要使用另一台PC机继续完成剩下的工作,虽然两台PC硬件不相同,但用户希望看到的使用环境(所有软件资源及用户数据)是相同的。虽然用户数据可以通过可移动存储设备(如U盘等)或者云盘来实现迁移,并由用户或专业人员保证其安全和可靠性。但对于大部分应用程序、系统软件和操作系统来说,这两种方法都很难实现在不同终端设备上的一致性迁移和存取。越来越严峻的安全性问题,也困扰着用户。几乎所有硬件平台、操作系统都不同程度地受到计算机病毒和骇客入侵的威胁。这使得用户不得不学习安全相关知识,维护终端设备的系统安全,而这些显然偏离了用户只希望通过它来获得服务的初衷。与透明计算相关的专利文件较多,如公开号为CN101834888A的一种通过无线局域网远程启动透明计算系统客户端的方法【201010139744.3】,其主要步骤为先基于网络搜索获得的透明网络排序,再进一步验证、加载操作系统,主要是通过无线局域网实施的一种透明计算方法,应用范围较窄。另外,CN102664958A的专利公开了一种透明计算系统,包括透明客户端、透明服务器端及透明网络,透明客户端包括硬件模块、BIOS、TNP客户端模块、操作系统及应用程序,硬件模块、BIOS、TNP客户端模块固设在透明客户端上;透明客户端从透明服务器下载和加载操作系统以实现透明计算。由于BIOS、TNP客户端模块等固设在透明客户端,当用户更改使用的透明客户端时,需要进行透明客户端的安装;同时,由于计算和存储集中在透明服务器端,当多个透明客户端需要从透明服务器下载和加载操作系统时,透明服务器端负载变大,透明计算的效率将降低。因此,有必要设计一种基于虚拟化技术的透明计算方法及透明计算系统。

技术实现要素:
本发明所要解决的技术问题是提供一种基于虚拟化技术的透明计算方法及透明计算系统,该基于虚拟化技术的透明计算方法及透明计算系统能支持不同硬件配置的计算机,并且允许根据需要运行各种软件环境。发明的技术解决方案如下:一种基于虚拟化技术的透明计算实现方法,该方法采用虚拟化技术屏蔽不同计算机硬件的物理差异,对上提供一个统一的虚拟硬件平台,使得上层运行的实例操作系统可以无需修改即可运行在任何硬件平台之上。透明计算方法在由透明客户端TC-Client、透明主服务器TC-MServer和透明软件资源服务器TC-RServer组成的基于广域网的透明计算系统架构上实现;透明客户端TC-Client、透明主服务器TC-MServer和透明软件资源服务器TC-Rserver均接入到广域网中;透明计算操作系统由透明客户端(TC-Client)、透明主服务器(TC-MServer)与透明软件资源服务器(TC-RServer)组成。透明客户端TC-Client是由用户直接使用的软件,系统支持多个用户使用各自的客户端远程接入服务器获得所需的服务。透明客户端被设计成独立于硬件平台,它可以随身携带,并在任何一台有网络环境的计算机上启动;透明主服务器(TC-MServer)的功能是管理所有客户端和软件资源服务器,并协调双方的通信。此外当透明客户端请求连接服务器时,透明主服务器将使用负载均衡算法,为其选择一台透明软件资源服务器来提供服务;透明软件资源服务器(TC-RServer)的功能较简单,主要负责管理所有存储的软件资源,为用户提供所需的数据。透明客户端定制在移动存储设备上,用户通过该移动存储设备加载透明客户端环境,实现对透明计算系统的访问;透明客户端是用户使用透明计算系统的平台,采用层次结构,包括基础操作系统BaseOS、透明客户端管理程序TC-ClientManager和虚拟化统一平台VirtualizationUnifiedPlatform;基础操作系统完成对本地不同硬件设备的驱动支持,透明客户端管理程序完成对使用用户的监控、与透明主服务器通信以及用户身份的验证,而虚拟化统一平台提供给用户各种实例操作系统无差别的硬件接口;客户端硬件设备上不存储有关任何用户的私有数据和软件资源,也无需进行任何设置,用户通过网络远程加载软件资源至本地来执行;基础操作系统是一个经过修改和裁剪过的小型操作系统,它直接与硬件平台进行交互,实现对各种不同的硬件设备管理,并支持新硬件的动态添加和更新。透明客户端管理程序是客户端的管理和控制中心,它向下负责与基础操作系统进行交互,并通过它控制硬件设备,对上管理与监控虚拟化统一平台的运行。透明客户端管理程序还负责与透明主服务器通信,交换必要信息,完成对使用用户的监控、与透明主服务器通信以及用户身份的验证。虚拟化统一平台主要通过虚拟化技术来屏蔽不同硬件设备的物理差异,向上提供一个统一的虚拟硬件平台。客户端硬件设备上不存储有关任何用户的私有数据和软件资源,也无需进行任何设置,用户通过网络远程加载软件资源至本地来执行。该平台可以根据用户需要运行不同的实例操作系统,如Windows或Linux,这些实例操作系统本身存储在透明软件资源服务器内。在每个实例操作系统内部,还安装有TcOS应用程序,它负责给用户提供系统切换等相关服务。本发明的透明客户端与透明软件资源服务器之间采用流块式传输数据。透明客户端在远程加载实例操作系统时,不将整个操作系统下载到本地运行,而是将透明软件资源服务器存储的数据划分为大小相同的数据块,透明客户端仅下载所需部分的数据块,所有数据块以数据流的形式传输。对于多个透明客户端,它们共用一份数据资源,而对数据的修改则保存在各自的本地缓存中。当用户启动透明客户端时,整个启动步骤包括以下几个步骤:步骤1):用户启动透明客户端,配置或载入已有网络设置,使得与透明主服务器和透明软件资源服务器的网络通信畅通,具体包括以下几个步骤:步骤1.1):用户启动透明客户端,透明客户端管理程序首先发送DHCP请求包,申请网络配置信息(包括IP地址等),如果成功获得网络配置信息(包括IP地址等),则转步骤1.3),否则转步骤1.2);步骤1.2):检查本地透明客户端是否存在网络配置文件,如果已有配置文件,则检测是否可用,若可用,则载入网络配置文件完成网络配置;若没有,则手动设置网络配置信息(包括IP地址等),并保存到BaseOS中指定的网络配置文件,供下次继续使用;步骤1.3):进一步检测是否能连接到透明主服务器,若连接不成功,则转入步骤1.2)重新配置,若成功,则转入步骤1.4);步骤1.4):透明主服务器向用户提供Web认证网页进行用户名和密码认证。步骤2):用户输入用户账号与密码,提交给透明主服务器进行验证,若验证通过,透明主服务器根据用户权限,确认可启动的实例操作系统列表,并返回结果供用户选择需要启动的实例操作系统;具体的,用户采用HTTP协议与透明主服务器进行通信,将用户名、密码、本透明客户端的MAC地址和IP地址进行封装,与透明主服务器中存储的用户信息进行比较验证。步骤3):根据用户提出的实例操作系统选项,透明主服务器将使用负载均衡策略,选择一台透明软件资源服务器,将其连接信息封装成Socket句柄反馈给该用户所用的透明客户端;具体包括:步骤3.1):对每台软件资源服务器,根据其Socket地址,采用哈希算法,计算其哈希值,与其对应的连接信息记录在主服务器中;步骤3.2):捕获用户提交的实例操作系统类型及Socket地址,采用相同哈希算法,计算其哈希值;步骤3.3):根据用户的哈希值,在主服务器中顺序查找,找到哈希值最相近的软件资源服务器,将其对应的连接信息取出;步骤3.4):将连接信息封装成Socket句柄,反馈给用户;步骤4):用户所在的透明客户端通过收到的Socket句柄与透明软件资源服务器建立通信,从透明软件资源服务器远程加载实例操作系统到本地执行;具体包括:步骤4.1):捕获用户所选择的实例操作系统,下载该实例操作系统对应的虚拟磁盘信息。步骤4.2):透明客户端管理程序根据当前物理配置创建虚拟机,分配CPU和内存资源,同时挂载实例操作系统的虚拟磁盘信息,使该虚拟磁盘的分区表和磁盘信息与实例操作系统镜像大小相同,即在虚拟化统一平台中创建该实例操作系统与透明计算系统的磁盘I/O接口;步骤4.3):透明客户端管理程序和虚拟化统一平台捕获所需加载实例操作系统的磁盘I/O请求,并将磁盘I/O请求转换成虚拟化统一平台中的虚拟磁盘文件的I/O请求队列,顺序处理;步骤4.4):虚拟化统一平台根据每个I/O请求内容,转换成iSCSI数据包并发送到透明软件资源服务器端;步骤4.5):透明软件资源服务器捕获iSCSI数据包,读取iSCSI层协议内容,并根据读取的iSCSI层协议内容判断是读/写请求,如果是读请求,则转入步骤4.6);如果是写请求,则转入步骤4.7);步骤4.6):记录数据包内的LBA地址与扇区数量,找到实例操作系统镜像,从中读取相应内容,封装成iSCSI反馈包发送给透明客户端,转入步骤4.8);步骤4.7):根据数据包内LBA和数据内容,打开增量文件,将待写入的数据保存到增量文件中,并将LBA修改成0,数据内容清除;转入步骤4.9);步骤4.8):根据LBA和扇区数量,查找该用户的增量文件,判断是否存在需要读取的数据内容,若存在,则替换增量文件中的数据内容,从而保持增量文件中的更新;步骤4.9):将读取出的数据内容流块式加载到内存并执行,启动并运行实例操作系统的各个功能或服务。步骤5):透明客户端若检测到当前实例操作系统在本地存在快速启动所保存的状态数据,则载入该数据实现快速启动;在选择了使用快速启动选项时,透明客户端管理程序根据选定的实例操作系统,首先在指定位置检测当前虚拟机是否存在快速启动所需的状态数据,若有,则检查当前硬件配置能否与该快速启动数据匹配,若匹配,则利用该状态数据恢复当前实例操作系统的环境;若不匹配,则删除该状态数据,从网络正常启动系统。步骤6):客户端检测本地计算机是否存在硬盘或其它存储设备,若有则以磁盘形式挂载到用户的操作系统内。步骤7):实例操作系统启动完成后,透明客户端将保存当前系统的状态数据,供下次快速启动时使用。该方法还支持用户根据需求运行不同的实例操作系统,以及不同实例操作系统间的相互切换;切换实例操作系统时,原实例操作系统的一切状态将会保存,并在切换回时被快速恢复,整个过程无需透明客户端的关机和重新启动。切换实例操作系统的过程为:位于各实例操作系统内部、负责给用户提供系统切换服务的TcOS应用程序将与透明客户端管理程序建立SOCKET通信,发送切换指令,管理程序使用创建快照函数MainAPI()为当前实例操作系统建立快照,然后根据待切换系统是否存在快照来选择快速启动该系统或者调用IProgressIConsole::powerUp()来正常启动。该方法实现了快速启动技术,在实例操作系统启动后保存当前的状态数据,并在下次启动实例操作系统时直接载入该数据,使得系统启动时间显著缩短。有益效果:本发明的基于虚拟化技术的透明计算方法及透明计算系统,利用虚拟化技术,屏蔽透明计算系统中客户端不同硬件平台的物理差异,提供对不同硬件设备的广泛支持,并满足用户移动性需求,为用户提供跨终端设备、跨操作系统的应用服务支持,而不用再关心计算机硬件设备与系统的管理。该方法在基于广域网的透明计算系统中实现,由透明计算系统中的客户端(TC-Client)发起请求,通过管理客户端及软件资源服务器的透明主服务器(TC-MServer)确认请求的合法性,并给出资源的连接,远程加载并运行存储在透明软件资源服务器(TC-RServer)中的实例操作系统,获得所需服务,完成用户的任务需求。与传统的透明计算系统相比,能适应各种不同的硬件平台和操作系统平台,在广域网上启动时间更快,管理开销更小,安全性更高,实用性更强,具有较强的现实意义与使用价值。另外,用户还能够随时随地使用任何计算机设备接入该系统,并且在系统运行过程中可在多个操作系统间进行自由切换并保证使用过程的安全性。本发明解决了用户需要自己安装和管理操作系统的问题,用户只要选择所需的操作系统,即可从网络远程加载到本地执行。该实现方法具有可移动性,透明客户端独立于计算机硬件平台,可以将其存储在可移动存储设备内,并在任何计算机上启动。虚拟化技术的运用,使得不同硬件配置的计算机可以远程加载相同的实例操作系统,而无需对其进行任何修改,并且允许多个实例操作系统相互切换。安全性更高,软件资源存储在服务器上,由系统统一管理和维护,且不允许对共用的实例操作系统数据进行修改,以防止被病毒或骇客篡改。附图说明图1是透明客户端的结构图。图2是透明客户端启动过程的步骤图。图3是实例操作系统镜像加载过程图。图4是透明计算系统的总体框架图。具体实施方式以下将结合附图和具体实施例对本发明做进一步详细说明:实施例1:如图1所示,透明客户端采用层次结构实现,从下至上分别为基础操作系统BaseOS、透明客户端管理程序TC-ClientManager和虚拟化统一平台VirtualizationUnifiedPlatform。BaseOS是基于Linux内核的一个小型定制操作系统,其内核版本为3.14,并在每次系统启动时,将检查内核是否为最新,以保证对计算机硬件设备的驱动支持尽可能全面。为了保证透明客户端上实例操作系统的正常运行,BaseOS还安装了如busybox等常用软件。TC-ClientManager由JAVA和BashShell脚本混合编写而成,通过执行Linux命令和调用API管理BaseOS和虚拟化统一平台。TC-ClientManager在启动阶段将与透明主服务器建立SOCKET连接,以验证用户身份。虚拟化统一平台是以免费开源的虚拟化软件VirtualBox为基础,其核心是Hypervisor,控制整个虚拟化系统的运行并且确保无论本地计算机的状态怎样,其内部运行的多个GuestOS都不会发生冲突。VirtualizationMainAPI层位于Hypervisor的上层,提供给管理程序的调用接口。这些二次开发的API完成包括创建、删除、配置多个虚拟机,监控虚拟机的状态等几乎所有虚拟化系统的功能,同时TcOS-Client管理程序利用这些API以及虚拟化统一平台中的VBoxManager来管理和控制整个虚拟化统一平台的。每当用户选择完所需的实例操作系统后,虚拟化统一平台将根据当前计算机的配置情况,创建一个虚拟机,并从透明软件资源服务器上远程加载该实例操作系统至本地来运行。快速启动是为了加快实例操作系统启动速度而发明的一种技术,主要通过调用虚拟化统一平台的MainAPI来实现。首先检查IMachine::currentSnapshot是否为null来判断当前实例操作系统存不存在快照,若存在的话,还需检查当前计算机硬件环境是否与快照符合,例如CPU数量IMachine::CPUCount和其它属性IMachine::getCPUProperty(CPUPropertyTypeproperty,booleanvalue),以及内存大小IMachine::memorySize等等。若当前计算机硬件环境与快照相符合,使用API命令voidIConsole::restoreSnapshot(ISnapshotsnapshot,IProgressprogress)来恢复快照,以快速启动实例操作系统。每当实例操作系统启动完成后,使用voidIConsole::takeSnapshot(wstringname,wstringdescription,IProgressprogress)来创建新的快照,替换本地相应的快照,供下次启动时使用。系统切换功能使得用户需要使用另一个实例操作系统时,可以打开现有实例操作系统内的辅助软件,选择新的实例操作系统进行切换。此时TcOS应用程序将与透明客户端管理程序建立SOCKET通信,发送切换指令,管理程序使用虚拟化统一平台的VirtualizationMainAPI为当前实例操作系统建立快照,Hypervisor保存当前所有从系统启动(或从快照启动)时对磁盘所做修改的数据、当前虚拟机内CPU寄存器、内存等一切状态和数据信息,然后根据待切换系统是否存在快照来选择快速启动该系统或者调用IProgressIConsole::powerUp()来正常启动。从用户启动透明客户端,到选择需要的实例操作系统的这段过程中,透明客户端在后台需要进行一系列初始化和准备工作,以使得用户在后续能够正常使用。系统启动过程的大致步骤如图2所示。1)网络环境配置由于透明客户端需要与透明主服务器通信以及远程加载实例操作系统,因此首先必须保证网络连通。透明客户端管理程序首先通过动态主机配置协议DHCP申请网络配置信息(包括IP地址等),如果成功获得DHCP服务器分配的IP地址等信息,并且可以Ping通透明主服务器与透明软件资源服务器,则网络环境配置结束。否则需要手动配置网络信息。每次手动配置完网络信息后,管理程序将配置信息保存在本地,供下次继续使用。因此配置网络之前,管理程序将检测该文件是否存在,若存在且用户希望使用该配置文件,则直接载入该文件来配置网络。否则才真正要求用户手动配置。网络配置支持两种方法,即有线网络配置IP、网关等信息,或者使用Wifi网络。这部分的实现代码使用BashShell编写。2)用户验证与反馈网络访问正常以后,透明客户端管理程序要求用户输入账号密码,然后通过HTTP协议与透明主服务器通信进行验证,若成功,则服务器将反馈可用操作系统列表及相关信息。验证阶段客户端与服务器使用Json格式传输数据,客户端发送的信息包含有用户名、密码、本机MAC地址和IP地址。服务器使用负载均衡策略,为其分配透明软件资源服务器,其内容有操作系统名、描述、服务器IP地址、iSCSI地址。3)透明客户端更新为了保证对新硬件的支持,透明客户端需要定期检查是否有新驱动可以安装。此外客户端自身也需要进行更新,以修复漏洞或者增加新功能。系统的更新分成两部分,BaseOS和透明客户端软件的更新。当用户验证成功后,客户端再次向透明主服务器发送自身版本信息,若不是最新版本,则服务器反馈更新包的下载地址,客户端下载该更新包,解压并覆盖已有文件。BaseOS更新则有两个内容,第一通过更新Linuxkernel,可直接使用yum-yupdatekernel命令实现。第二是加载内核模块来增加硬件支持,方法是使用insmod命令加载更新包内的.o文件。4)挂载本机存储设备用户在使用透明客户端时可能需要利用本地存储设备,因此BaseOS还需要挂载本地磁盘。其流程是当系统更新完毕后,检查所有磁盘以及分区的状态,对每个分区,根据它的类型使用相应的命令进行挂载,目录以编号命名。透明客户端首先将下载该操作系统对应的VDI文件,根据VDI文件中指定的最大容量及磁盘相关信息,TcOS-Client管理程序使用虚拟化统一平台VirtualizationMainAPI中的voidIVirtualBox::createMachine()函数创建一个新虚拟机,为其分配CPU、内存等资源,并将下载的VDI文件挂载到该虚拟机的硬盘。接着,透明客户端采用流块式传输方式从透明软件资源服务器上加载实例操作系统数据,其实现方式是使用iSCSI协议。该协议将实例操作系统数据分为大小相等的数据块,客户端向服务器发送逻辑块首地址LBA(LogicalBlockAddress)和所需块数量,服务器则反馈这些数据块的内容。为减少网络传输流量,当客户端收到数据块时,将保存在本地,并在请求数据块时先检查本地是否存在所需数据块,若有则直接从本地读取,否则才向服务器发送请求。其加载过程如图3所示。1)捕获I/O请求当GuestOS需要读写磁盘时,会发出I/O请求,该请求可以通过注册对IGuestFileIOEvent这个事件类的监听器而捕获到。但该事件反映的是GuestOS内部对某文件的读写,而不是磁盘的读写,因此不能使用。GuestOS对文件的读写请求随后将转换成IMachine类对磁盘的I/O请求,此时管理程序将通过监听IMediumChangedEvent进行捕获。虚拟化统一平台内部维护着一个事件队列,整个虚拟机系统的大部分变动或操作,都将以事件的形式存储在事件队列中,Hypervisor负责从该队列中依次取出事件进行分发或者处理,类似于Windows的消息队列机制。MainAPI提供了一种方法,即通过向事件队列中注册监听器,可以捕获自己感兴趣的消息,并对其进行处理,处理完毕后根据需要决定是否重新放回到队列中。其具体流程为:获得事件源EventSource的实例,并在它上面注册监听器IEventListener。注册完毕后循环检测是否有事件到来,若有的话则进行处理,处理完后调用eventProcessed函数表示已处理,整个过程结束后需要使用unregisterListener解除监听器的注册。2)转换为iSCSI数据包得到IMediumChangedEvent的对象后,通过调用其成员变量获得读写请求类型和LBA、数据内容或读扇区长度等信息,根据这些信息转换成iSCSI的请求包,发送给透明软件资源服务器。3)服务器捕获收到的iSCSI数据包对于服务器收到的iSCSI数据包,采用Netfilte进行捕获。Netfilter是Linux下的一套数据包过滤框架,它通过在内核中放置一系列钩子,允许内核模块在网络协议栈中注册相应的回调函数进行处理。每当数据包通过这些钩子时,相应的回调函数将会被调用,执行某些操作。根据Netfilter框架并结合当前需要可知,此时需要在NF_IP_LOCAL_IN注册回调函数。捕获到数据包后,读取其iSCSI层协议内容,最后获得读写类型等相关信息,并根据读写类型的不同做相应的处理。4)服务器捕获发送的反馈iSCSI数据包(读操作)如果上一步捕获的数据包请求是读操作的话,则记录磁盘首地址LBA和扇区的数量后,放行该数据包。然后服务器的iSCSITarget程序将收到该数据包,从操作系统镜像内读取相应的内容,封装成iSCSI反馈包发送给客户端。此时,通过在NF_IP_LOCAL_OUT也注册一个回调函数,对其进行捕获。5)根据增量文件替换反馈数据包的内容(读操作)根据在步骤4)获得的LBA和扇区数量,查找该用户的增量文件中,是否存在需要读取的数据内容,若存在的话,对于步骤5)中捕获的iSCSI反馈数据包,替换其中在增量文件中存在的那部分数据内容,因为增量文件中总是最新的数据块。替换完成后,放行该数据包。若增量文件中不存在任何需要读取的内容,则直接放行。6)修改增量文件和iSCSI数据包(写操作)如果步骤3)捕获的数据包是写操作的话,则根据数据包内LBA和数据内容,打开增量文件,将待写入的数据保存到增量文件中。然后对于数据包本身,则将LBA修改成0,并将数据内容清除,最后放行。此时iSCSITarget收到该数据包后,将不会真正对操作系统镜像进行修改,但仍然会反馈写入成功的数据包。根据本发明介绍的方法,实现了该透明计算系统并对其进行了I/O与网络流量测试。测试所用的透明客户端配置为CPUi5-3470,内存4GB,硬盘500GB7200rpm,1000Mbps有线网卡。透明主服务器与透明软件资源服务器配置均为两颗E5-2620的CPU,内存24GB,1TB10000rpm机械硬盘,1000Mbps有线网卡。所有测试机器均放置在1000Mbps局域网内。测试所用的实例操作系统为Windows7Ultimatex86,整个数据文件的大小为60GB。表1为透明软件资源服务器I/O的测试结果数据,其中分别对无用户请求、1个和3个用户请求到来时,透明软件资源服务器I/O的负载情况进行了测试,每次测试又分为实例操作系统启动和稳定运行两个阶段。表中各字段的含义如下:r/s,每秒发出的读请求次数;w/s,每秒写请求次数;rKB/s,每秒读数据量(单位KB);wKB/s,每秒写数据量(单位KB);avgrq-sz,平均每次I/O请求的数据量(单位为扇区,即512字节);avgqu-sz,平均等待处理的I/O请求队列长度。表1透明软件资源服务器I/O测试数据从表1可知,无论是1个还是3个用户,服务器I/O数据量都很小,只有几十KB/S,并且平均等待处理的I/O请求队列几乎都为0,表示所有I/O请求均基本没有等待而马上被处理。表2是使用1个和3个用户连接透明软件资源服务器,并分别对实例操作系统正常启动、快速启动和稳定运行三个阶段的网络流量进行测试的结果数据表,其中每个阶段还记录了所花时间。表2透明软件资源服务器网络流量测试数据由表2可知,无论什么情况下,上行流量都很小,其原因是透明客户端将请求的数据块缓存在本地,使得透明客户端需要写入到透明软件资源服务器的数据大为减少。下行流量方面,平均每个实例操作系统在正常启动时需要下载大约700MB的数据量,带宽大约为12-15MB/s,这对于1000Mbps网络环境来说,表示一台服务器可支持大约10个用户同时正常启动实例操作系统。但如果使用快速启动的话,则只需8MB数据量以及700KB/s的带宽,此时可支撑180以上的用户同时启动。稳定运行时,我们对5分钟的网络流量进行了测试,结果显示每个用户所需带宽大约为1MB/s,即支持同时访问的用户数在100个以上。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1