张 震,谭方勇,刘昭斌
(苏州市职业大学 计算机工程系,江苏 苏州 215104)
基于OpenVZ的远程虚拟网络实验环境设计与构建
张 震,谭方勇,刘昭斌
(苏州市职业大学 计算机工程系,江苏 苏州 215104)
运用操作系统级虚拟化技术OpenVZ设计构建一个虚拟网络实验环境,能集中管理并自动部署实验环境,用户可以远程登录获得拥有ROOT权限的实验环境,以缓解实验设备不足、实验管理困难等问题.
实验室建设;虚拟化技术;OpenVZ
传统的实验室建设、实验条件、实验教学手段已无法适应现代网络专业创新人才培养的要求.为了突破传统的网络实验环境建设思路,运用操作系统虚拟化技术规划并构建一个远程虚拟网络实验室环境,对于培养学生的计算机网络技能至关重要.
有些高校在进行网络实验室建设时,会面对昂贵的硬件投入,繁杂的软硬件维护和部署甚至实验室场地不足、电力耗费严重等诸多问题[1].计算机网络类的课程,如Windows、Linux网络组建、配置和管理,及各类服务的搭建,都需要尽量采用独立的服务器,而现有的教学条件无法满足这样的需求,因此目前此类实验通常是多名学生共用一套设备,或是分组进行[2].有些实验必须以管理员身份才可完成参数配置或软件安装,有些实验会涉及到磁盘分区、格式化、磁盘配额管理等,有些实验可能还会由于学生的操作技术不熟练而造成系统损坏或产生系统漏洞,对整个实验室造成安全威胁,出于安全及管理考虑,此类实验往往对学生不作要求,仅由实验指导教师演示或以讲代练的方式进行教学.另外,有些具备实验条件的高校也往往由于课程安排等原因无法做到全天候对学生开放使用,使用效率不高[3-4].
针对以上情况,新的实验手段纷纷出现.1)通过网页、模拟器软件或Flash课件来模拟交换路由设备或服务器的配置及运行环境,这种方式必须按部就班地一步步按提示操作,观看屏幕上的演示结果,无法体验真实的操作环境.2)通过Vmware或VPC等桌面虚拟软件安装实验用系统,可满足绝大多数网络实验的需求,但是此类软件对于计算机的硬件要求较高,且离开实验室后将无法继续实验.3)通过设置Linux终端服务器让学生登录进行实验,但仅能以普通用户身份登录,没有ROOT权限而停留在基本命令的操作和学习,无法深入进行复杂的网络服务配置、网络安全等实验[5-6].
在教学实践中采用常规的虚拟机软件构建虚拟实验环境的基础上,采用操作系统级虚拟化技术OpenVZ构建了一个远程虚拟网络实验环境,其采用一个真实的硬件服务器进行真实环境的虚拟,将一个操作系统虚拟为若干个操作系统实例,实验指导人员可根据实验要求灵活部署实验环境,用户可以远程登录属于其自己的独立虚拟服务器,进行各种复杂的网络实验.这种方法充分利用了硬件资源,提升了设备的利用率,软硬件投入均很低.
操作系统级虚拟化技术是在操作系统基础上对其内核进行一定修改实现服务器的虚拟化,其最大优点是可以获得近乎原始性能.操作系统级虚拟化技术在性能、可测量性、密度、动态资源管理具有优良的特性.由该技术虚拟出的服务器,被称为虚拟专用服务器(VPS)或虚拟环境(VE)[7].该技术的代表有Parallels Virtuozzo/OpenVZ、Sun Solaris Container、FreeVPS、FreeBSD Jail等.
OpenVZ是Parallels公司推出的基于Linux的操作系统级虚拟化开发软件,可实现在单台物理服务器上创建成百上千个隔离的运行环境VPS,每个VPS的运行和管理都与独立的物理服务器基本一致,VPS可独立重启,拥有ROOT访问权限、用户、IP地址、内存、处理器、文件、应用程序、系统库和配置文件等[8],OpenVZ技术架构如图1所示.在不同的VPS中可安装、运行不同的Linux发行版本和应用软件.OpenVZ对硬件的要求不高,支持Intel Celeron以上X86 CPU、AMD64、Itanium(IA64)等各类CPU,128 MB以上内存,4 GB以上空余磁盘空间.与单独的硬件服务器相比,VPS只有1%~3%的性能损失.
对于目前高校中普遍使用的主流服务器而言,其硬件配置都要远远高于OpenVZ的最低配置要求,在有些需要Linux作为实验平台的实训项目中,可创建人均一个虚拟专用服务器,分配给每位学生进行实验,完全可以实现.对于有些拥有老服务器的高校而言,也可以利用老服务器来创建虚拟实验服务器,实现虚拟实验室,做到物尽其用,充分发挥设备的使用效能.
1) 在单一的实体物理服务器上虚拟出足够数量的虚拟实验服务器;
2) 创建人均一个虚拟专用服务器,并具备ROOT用户权限;
3) 可以根据实验教学要求定制弹性的实验环境;
4) 提供集中快速自动部署及统一管理实验环境的功能;
5) 提供文本界面及图形界面两种实验平台管理方式;
6) 在Windows环境中,通过校园网或Internet网登录到虚拟网络实验环境;
7) 提供给用户文本操作及图形实验操作界面;
8) 在虚拟实验服务器上完成与在物理服务器上几乎无差异的任何操作,且不会对物理服务器及其他虚拟实验服务器造成任何影响.
远程虚拟网络实验平台架构见图2.实验平台中的主要设备为一台实体物理服务器,在该实体物理服务器上通过操作系统级虚拟化技术创建出提供实验指导的WEB服务器,进行实验者注册登录认证,以及若干台学生实操虚拟实验服务器,虚拟服务器的数量由实体物理服务器的性能所决定.为增加平台可靠性,实体服务器也可采用2台,通过虚拟机的迁移备份加以实现.
实验平台中的登录认证服务器负责对参与实验的学生进行身份识别和认证,实操虚拟服务器的分配以及记录学习进度等.通过认证后,学生可登录到所分配的虚拟服务器中进行实验,实验管理员可以登录到实体物理服务器进行虚拟服务器的管理.
实验平台中的实验指导WEB服务器提供相关课程的实验指导、实验手册、实验教学视频等资源的访问.
本文使用实体服务器软硬件环境为:浪潮NF280服务器;CPU XEON 2.8 G/内存2 G/硬盘73 G*3;操作系统:CentOS 5.3(核心:2.6.18-128.e15).
图2 远程虚拟网络实验环境
1) 在物理机宿主操作系统中安装OpenVZ核心,修改启动文件,将其设置为服务器的启动核心.启动OpenVZ服务,并安装vzctl、vzquota等工具.配置vnc图形服务等.
2) 根据实际需要选择适用的操作系统模板创建虚拟专用服务器VPS,以部署实验环境,设置VPS的IP地址、主机名、DNS地址等网络参数.现已根据实际教学需求以fedora10模板创建了5个VPS,VPS运行情况以及其中某一个VPS资源消耗情况如图3所示.
3) 参加实验的用户可在校园内任意具备网络环境的实验室通过SSH工具连入某一VPS,进行网络实验,也可通过VPN服务,远程接入实验环境.
图3 己创建的VPS列表及资源消耗情况
在实验教学过程中,实验指导人员可根据实验进度,以实验管理员的身份登录虚拟网络实验平台,通过OpenVZ的基本管理命令对实验环境进行停止、重启、销毁、重建等操作,也可以编写一系列shell程序辅助实验指导教师对虚拟实验环境进行批量自动部署.如编写执行vps_deploy_all.sh,将会根据实验员的输入创建并配置全新的实验环境,执行vps_deploy_x2y.sh,将对指定的某一组虚拟实验服务器进行重新部署,以恢复平台的初始状态.
物理硬件服务器的性能对于虚拟服务器的数量以及性能起着决定性的影响,虚拟服务器的部署和管理是否简便快捷也直接关系着实验平台是否实用.
对服务器的评测主要是对CPU、内存、磁盘IO、WEB应用、网卡性能等方面的测评,本测试基于已创建了30个虚拟实验服务器的状态下完成的.根据测试,每启动1个虚拟实验服务器(VPS)平均耗费宿主机内存6 MB,如图4所示.每个虚拟实验服务器的磁盘空间默认为1 GB,可以根据实际情况实时进行配额调整.对于高校而言,利用一台主流的服务器建设拥有数十甚至上百个虚拟实验服务器的虚拟网络实验室是完全可行的.
当实验平台在多次实验操作后,对其重新部署,根据测试,重新部署一台虚拟实验服务器的时间见表1,即重新部署一台虚拟实验服务器仅需1 min,当物理硬件服务器的硬件配置更高时,部署时间还将大为缩短.
采用Apache内置的ApacheBench工具分别对物理服务器以及随机抽取的两台虚拟实验服务器进行压力测试,设置总的请求数n为2 000,并发请求数c从1、2至500,如图5所示.结果表明,虚拟实验服务器由于在创建时已固定分配了相应的资源,因此性能不低于物理服务器.
以操作系统级虚拟化技术OpenVZ创建的远程虚拟网络实验室可以服务于计算机相关专业的多门课程,如网络操作系统、Linux服务器管理,Apache+mysql+php网站开发、Linux平台C语言程序设计、网络安全实践等,能够提供完全真实的实践环境,给学生以深刻的直观感受,有助于提高学生的实际动手能力.远程虚拟网络实验环境不受空间、时间限制,投入的建设成本、管理成本均很低,是高校网络技术实验室建设的又一思路.
[1]蔡群英,黄镇建. 搭建网络实验环境的探索与实践[J]. 计算机与数字工程,2009,37(6):195-197.
[2]阮越. Linux教学实验系统的一种构建方法[J]. 计算机技术与发展,2009,19(3):227-234.
[3]王永昭. 利用虚拟机搭建计算机网络教学实验环境[J]. 实验室科学,2008(4):84-86.
[4]王越峰,杨建红. 虚拟机房在计算机开放实验室中的应用[J]. 实验技术与管理,2005,22(10):100-103.
[5]文东戈,王旭. 操作系统原理实验教学软环境平台搭建方法[J]. 实验科学与技术,2008,6(3):42-44.
[6]马佳雯,黄保青,童清艳. 机房实验室多操作系统管理研究[J]. 实验室研究与探索,2008,27(12):146-148.
[7]怀进鹏,李沁,胡春明. 基于虚拟机的虚拟计算环境研究与设计[J]. 软件学报,2007,18(8):2016-2026.
[8]欣悦. 内核虚拟服务器OpenVZ[J]. 开放系统世界,2006(12):41-43.
Design and Implementation of Distance Virtual Network Laboratory Environment Based on OpenVZ
ZHANG Zhen,TAN Fang-yong,LIU Zhao-bing
(Department of Computer Engineering,Suzhou Vocational University,Suzhou 215104,China)
With the help of the operating system level virtualization technology—OpenVZ,a virtual network laboratory environment is created,which can be centrally managed and automatically-deploy the experimental environment.The user can log in the system as root remotely and have his own experimental environment.It can ease the shortage of laboratory equipment and laboratory management difficulties.
laboratory construction;virtualization technology;OpenVZ
TP311
A
1008-5475(2012)04-0001-04
2012-09-17;
2012-10-14
江苏省现代教育技术研究重点资助项目(2012-R-22287)
张 震(1976-),男,江苏苏州人,工程师,讲师,硕士,主要从事网络系统集成及虚似技术研究.
(责任编辑:李 华)