VirtualBox服务器虚拟化系统在图书馆中的应用
王家兵
重庆交通大学图书馆 重庆 400074
摘要

以重庆交通大学图书馆基于VirtualBox构建的服务器虚拟化系统为实例,阐述利用开源VirtualBox实现服务器虚拟化、部署和整合图书馆数字化应用的方法,对VirtualBox服务器虚拟化系统的设计、构建、性能优化等进行探讨,并对其实际应用中的一些经验进行介绍。

关键词: VirtualBox; 图书馆; 服务器虚拟化
中图分类号:TP250.7
Application of VirtualBox Server Virtualization System in Library
Wang Jiabing
Chongqing Jiaotong University Library, Chongqing 400074, China
Abstract

Taking the experience in building Chongqing Jiaotong University Library VirtualBox server virtualization system as example, this paper describes the methods to deploy server virtualization system and integrate digital library application based on VirtualBox. The details of design, procedure and performance optimization of VirtualBox server virtualization system are discussed.

Keyword: VirtualBox; Library; Server virtualization
1 引言

图书馆信息化建设中应用服务器虚拟化系统已成为一个流行的趋势,是优化资源配置的关键措施之一。虚拟化常采用的软件有Virtual PC[ 1]、VirtualBox[ 2]、VMware[ 3]等,其中基于VMware的服务器虚拟化应用受到图书馆界学者的广泛关注、研究及应用[ 3, 4, 5]。开源的VirtualBox具有优异的性能和丰富的特性,OpenBenchmarking.org测试报告显示,VirtualBox在图形处理、数据库应用、Web服务应用等各方面的性能并不逊于VMware[ 6],然而图书馆界对其应用研究却并不多。重庆交通大学图书馆采用VirtualBox构建了服务器虚拟化系统,在4台物理服务器上部署10多个虚拟服务器,整合了全部数字化应用,通过调整与优化,达到了良好的应用效果。

2 VirtualBox及其系统架构

VirtualBox是基于X86及AMD64/Intel64处理器的虚拟机软件,现由Oracle公司开发维护,作为其xVM虚拟化解决方案的一部分[ 7, 8],其采用GPL v2开源许可,支持Linux 和 Windows 主机中虚拟Windows、Linux等多种客户操作系统。

VirtualBox采用分层、可扩展、模块化架构,由虚拟机管理程序层(Hypervisor Layer)、应用程序接口层(API

Layer)及用户管理层(Management Layer)组成,如图1所示:

图1 VirtualBox系统架构[ 9]

用户管理层提供了内置图形用户界面(GUI)、VBoxManage命令行接口(CLI)和Web服务应用程序接口(Web Services API)。内置图形用户界面供用户安装、配置和管理虚拟机;命令行接口和Web服务应用程序接口提供各种管理功能,使VirtualBox能整合到第三方产品中,通过编程来控制和管理虚拟机。

图书馆VirtualBox服务器虚拟化系统由以太网络、物理服务器、磁盘阵列等组成,其系统架构如图2所示,其中物理机与虚拟机各部署了一些图书馆数字化应用。

图2 图书馆VirtualBox服务器虚拟化系统架构

3 图书馆VirtualBox服务器虚拟化系统构建与应用
3.1 应用目标设计

应用目标设计中需要考虑两个问题:根据各物理服务器性能,决定其可部署虚拟机数量;结合数字化应用需求与物理服务器性能,合理分配应用,采取各物理服务器均衡原则分配,后期再做优化调整。

重庆交通大学图书馆数字化应用主要有CNKI、维普、超星、万方数据库、国研网、网上报告厅、时代圣典数图、金图外文、本校学位论文以及金盘图书管理系统、RFID数据库、图书馆门户网站等。2008年起,本馆开始应用VirtualBox服务器虚拟化系统,经过反复调整和优化,逐步迁移10多个应用到4台高性能物理服务器构建的VirtualBox虚拟化系统上,全部应用整合情况如表1所示:

表1 服务器虚拟化后数字化应用整合情况
3.2 系统安装与部署

(1)物理设备配置和安装

图书馆4台服务器中有两台采用与光纤磁盘阵列连接,另一台配12块2T SATA2的硬盘,一台配三块300G SAS硬盘。宿主机统一安装Windows 2003 Server操作系统;与光纤磁盘阵列连接的服务器安装相应的驱动,连接磁盘阵列;所有宿主机安装VirtualBox,对应安装包直接从VirtualBox.org下载。

(2)虚拟机配置

VirtualBox提供了配置向导,只需按向导提示输入相关参数即可完成,包括虚拟机名称、操作系统类型、内存大小、硬盘大小与位置、网卡及网络模式等。最新版VirtualBox 4.1.18 支持2G内存, 2T虚拟硬盘,可以满足大多数字图书馆应用。VirtualBox虚拟了6种网卡、4种网络连接模式,图书馆应用一般选择默认网卡、桥接(Bridged Adapter)模式,此模式下虚拟机与物理机一样,在外部网络中有独立标识和IP地址。

(3)虚拟机操作系统及图书馆应用安装

配置完毕后进行虚拟机操作系统安装,可选择从物理光驱或ISO光驱映像文件安装。安装、启动虚拟机操作系统后,安装增强功能,使虚拟客户机的鼠标指针与宿主机集成,添加时间同步、共享剪贴板、数据共享等增强性能。

系统安装好后即可安装图书馆应用,应用的安装涉及大量的数据拷贝,可通过安装增强后得到的宿主机和虚拟机数据空间共享功能(Shared Folders)[ 7]、FTP或其他三方软件工具(如FastCopy)等来完成。

3.3 系统调整与优化

系统调整与优化包括物理服务器调整、虚拟机调整、服务与应用调整、安全防护与备份几个方面内容。需要结合日常维护工作,对CPU负荷、内存占用、Web服务稳定性进行长期监控,几个方面相互结合,逐台服务器、逐个应用实施,在保证成功实施、平稳过渡基础上,最大化利用物理服务器性能。

(1)物理服务器调整措施

采用两方面措施:

①结合虚拟化系统进行物理服务器规划及购置,必要时对现有物理服务器配置升级、扩充。虚拟化系统需要高性能、高配置物理服务器,但实际上受限于投资只能折中。初始一般只能利用现有服务器,在服务器逐渐淘汰、更新后,达到更好的硬件环境。

②根据物理服务器性能,调整所配置虚拟机数量。通过观测物理服务器CPU及内存占用来调整,以CPU及内存占用均值低于70%为宜。测试表明,对于图书馆应用,限制虚拟机数量的主要因素是内存而非CPU。

建议物理服务器内存配置尽可能大,至少8G;双2.4G CPU、16G内存的服务器适合部署3-4个虚拟机,超过5个虚拟机时,会因资源峰值占用太大而导致虚拟机不稳定;8G内存的服务器一般部署3个虚拟机。

(2)虚拟机调整

虚拟机安装初期对于CPU数量、内存大小、硬盘大小、外围设备选择了一个基本配置,需根据具体运行情况进行适当调整,使硬件资源在物理服务器、各虚拟机间得到更合理地分配,表2列出了各对象的调整方案及说明。

(3)服务与应用调整

Web服务器、数据库服务器相关参数,如缓冲区、

表2 虚拟器调整方案

应用程序池等设置不当会引起其进程占用CPU过高,影响主机性能和应用稳定性。通过任务管理器可以查看相关进程的CPU占用情况,虚拟机需同物理服务器一样,对Web服务器、数据库服务器相关参数进行调整、优化。

应用目标设计中已考虑服务器性能和应用特性,但后期运行中,仍需监测是否符合设计目标。在必要的情形下,对应用重新进行规划、调整和迁移。

(4)安全防护与备份

虚拟化系统的安全防护与备份、灾难恢复是一个重要的内容。虚拟化实施初期,可采取以下基本措施:物理服务器操作系统部分采用RAID1,存储及数据部分采用RAID5,防止硬盘物理损坏;宿主机和虚拟机安装防病毒软件,保持操作系统更新和应用软件更新,包括VirtualBox更新;安装和设置防火墙,限制不必要的网络访问,保持各虚拟机相互隔离;利用VirtualBox快照功能进行虚拟机备份,采用独立物理服务器进行VirtualBox更新测试以及重要应用、数据库容灾备份。

3.4 实施效果及收益评估

(1)性能提升

未实施虚拟化系统前,本馆早期购买的服务器和存储已超过保修期,性能差,其中一些服务器已有硬件报警,同时存在多个应用部署在同一服务器上,Web服务器、数据库服务器共用,相互影响,常发生多个业务中断的现象。

实施虚拟化系统后,业务迁移到高性能服务器上,稳定性、可靠性得到了解决;对各个应用进行了隔离,应用稳定性得到提高;应用厂商及维护人员的权限得到了有效控制;维护一个应用或数据库时,对其他应用影响降至最低;需维护的物理服务器减少;服务器发生故障时,可以通过虚拟机备份快速在其他或新服务器上恢复,无需长时间中断业务等待硬件更换,极大提高了系统可维护性。

总体而言,实施虚拟化系统提高了图书馆服务器系统的稳定性和可靠性,还使数据安全、可维护性得到进一步增强。

(2)收益评估

粗略保守估算,本馆实施服务器虚拟化系统后,一次性节约成本近30万元,每年运行成本节约近7万元。相关收益估算如表3所示:

表3 服务器虚拟化实施收益评估
4 结语

实践证明,开源VirtualBox完全满足图书馆服务器虚拟化要求,是图书馆服务器虚拟化系统构建有效解决方案的重要发展方向。通过合理部署,在获得稳定服务的同时,能有效提高硬件利用率,节省硬件购置经费、维护经费、虚拟化软件购置经费,获得良好的经济效益。本文探讨了图书馆应用VirtualBox部署服务器虚拟化系统的过程、方法和相关经验,具有实际参考意义。

在具体实施中也存在一些问题,如开源软件应用对人员技术水平提出了较高要求;在服务器管理规范、系统安全防护等方面产生新的问题;硬件配置不合理、内存配置不足导致服务器利用不充分,使虚拟化短时间难以达到完美效果等。如何做好技术人员培训、建立完备的安全防护与容灾备份机制、如何充分挖掘VirtualBox来适应性能日益提高的服务器以及利用VirtualBox虚拟机技术来建设图书馆云计算平台等都有待进一步深入研究。

参考文献
[1] 张绪玉. 基于Virtual PC构建单机网络环境[J]. 重庆工学院学报: 自然科学版, 2008, 22(9): 154-157.
(Zhang Xuyu. Building Single Network Environment Based on Virtual PC[J]. Journal of Chongqing Institute of Technology: Natural Science Edition, 2008, 22(9): 154-157. ) [本文引用:1]
[2] 刘书伦, 王东霞. VirtualBox在软路由实验中的应用[J]. 济源职业技术学院学报, 2011, 10(3): 80-82.
(Liu Shulun, Wang Dongxia. Application of VirtualBox in Software Router Experiment[J]. Journal of Jiyuan Vocational and Technical College, 2011, 10(3): 80-82. ) [本文引用:1] [CJCR: 0.2062]
[3] 朱海涛. VMware虚拟化系统在高校图书馆中的构建与应用[J]. 现代图书情报技术, 2012 (1): 68-72.
(Zhu Haitao. Construction and Application of Virtualization System Using VMware in University Library[J]. New Technology of Library and Information Service, 2012 (1): 68-72. ) [本文引用:2] [CJCR: 1.073]
[4] 刘荣发. 服务器虚拟化技术在图书馆数字化服务中的应用[J]. 现代图书情报技术, 2007 (4): 79-82.
(Liu Rongfa. Application of Server Virtualization in Digital Library Services[J]. New Technology of Library and Information Service, 2007(4): 79-82. ) [本文引用:1] [CJCR: 1.073]
[5] 黄辉, 刘秋让, 冯欣艳. 基于VMware vSphere的图书馆服务器虚拟化研究与应用[J]. 当代图书馆, 2011(4): 41-43.
(Huang Hui, Liu Qiurang, Feng Xinyan. The Research and Application of Server Virtualization in Library Based on VMware vSphere[J]. Contemporary Library, 2011(4): 41-43. ) [本文引用:1]
[6] OpenBenchmarking. org. A Comparison of: 1109086-DAIT-MINTVMW79, 1109082-DAIT-VIRTUAL59[EB/OL]. [2012-06-20]. http://openbenchmarking.org/result/1109086-DAIT-MINTVMW79,1109082-DAIT-VIRTUAL59. [本文引用:1]
[7] VirtualBox. End-user Documentation [EB/OL]. [2012-06-20]. https: //www. virtualbox. org/wiki/End-user_documentation. [本文引用:2]
[8] VirtualBox. Technical Documentation [EB/OL]. [2012-06-20]. https: //www. virtualbox. org/wiki/Technical_documentation. [本文引用:1]
[9] Oracle VM VirtualBox. Programming Guide and Reference [EB/OL]. [2012-06-20]. http://download.virtualbox.org/virtualbox/SDKRef.pdf. [本文引用:1]
[10] VKernel. Maximizing Virtual Machine Performance[EB/OL]. [2010-10-08]. http: //www. vkernel. com/resources/whitepapers/maximizing-virtual-machine-performance.
(作者E-mail: eelance@qq. com) [本文引用:1]