在公共计算服务平台中,虚拟机技术和云计算技术的应用提高了计算资源的利用率,尤其是虚拟机技术,在软件层与硬件层之间建立虚拟层,为个体用户提供相对独立的软件和硬件环境,用户在使用虚拟机中的程序时,不会受硬件计算资源的分布性、动态性所影响,有助于提高计算效率[1]。
船舶公共计算机平台是航运公司为内部船舶用户打造的一种公共平台,船舶用户可根据实际需求访问船舶公共计算机平台上的虚拟机。这种工作模式主要有以下优点:
1)实现了航运公司内部软件资源和硬件资源的共享和复用,满足每个船舶用户的计算需求;
2)可实现软件与硬件资源的集中管理,改变了传统的船舶用户需要单独配置计算机、显示器等硬件设备的现状。
3)采用公共计算机平台可以节省每个船舶终端的设备采购、运维成本,有助于整个公司的经济效益。
尽管云计算技术越来越成熟,但由于虚拟机的正常运行需要占用处理器资源和网络带宽,且船舶计算业务的需求多样化发展,当前船舶公共计算机平台仍存在一些问题。
本文针对船舶公共计算机平台的服务器资源,对平台的虚拟机设置进行优化,不仅要提高公共计算平台资源的利用率,保障船舶用户终端的业务稳定性,还要解决公共计算机平台中的虚拟机资源/网络分配问题。提出虚拟机存储冗余技术和网络优化技术,并利用VMware软件平台进行了公共计算机平台的虚拟机搭建。
1 云计算技术在船舶公共计算机平台的应用云计算技术是互联网和计算机技术的综合产物,利用云计算技术,用户通过互联网访问云服务器,调用云端的处理器。云计算技术是船舶公共计算机平台的基础和前提。
云计算技术通常由显示模块、软件层、硬件层、管理单元等组成,软件层为用户提供各类应用程序和工具,硬件层是用户可以调用的云端硬件资源。管理单元又包括运维管理、负载管理、安全管理和计费管理等。
云计算技术的原理图如图1所示。
云计算技术的核心是3个虚拟化技术,分别是服务器虚拟化、存储虚拟化和网络虚拟化。
1)服务器虚拟化
云计算技术的服务器包括CPU[2]、主机和内存等,通常服务器端的CPU运算性能很强,每秒可实现数万条指令的运算。当平台用户的任务执行完成后,服务器的CPU会处于空闲状态,此时,采用分时复用的方法就可以赋予虚拟机服务器CPU的计算能力,这就是服务器的虚拟化。当用户向虚拟机提交指令时,虚拟机不论分配内存多少,都会将地址映射到云计算的服务器中,不同的指令运算结果映射的位置不同。
2)存储虚拟化
在云计算平台中,数据的存储采用分布式存储方式,物理存储器不是直接连接到云端服务器,而是通过网络分散在不同的位置。分布式存储器通过接口协议进行连接,形成一个面向用户的存储空间资源池,这种虚拟化技术可以保护服务器不受存储硬件的影响,且存储空间可以不断的扩容。
3)网络虚拟化
云计算技术的网络虚拟化是指在同一物理网络中又存在多个虚拟网络环境,每个虚拟网络环境可以接入多个云平台的用户。最常用的网络虚拟化技术包括虚拟局域网和虚拟专用网(VPN),其中虚拟专用网VPN主要面向企业用户,通过专用网络在公共通信网络建立连接,VPN虚拟网络中的站点包含多个主机或路由器设备,这种虚拟网络的应用非常广泛。
2 船舶公共计算机平台的虚拟机优化设置研究 2.1 公共计算机平台的服务器虚拟化技术研究船舶公共计算机平台的核心技术同样为虚拟化,而服务器虚拟化是公共计算机平台的核心,将船舶公共计算机平台的服务器虚拟化分为软件虚拟化和硬件虚拟化2个进程。
图2为船舶公共计算机平台的服务器软件/硬件虚拟化示意图。
1)服务器软件虚拟化
船舶公共计算机平台的服务器软件虚拟化是基于虚拟机技术,为计算机平台的主机操作系统创建虚拟层,使主机操作系统虚拟化,通常采用的虚拟化工具为VMware等。服务器软件的虚拟化采用主机操作系统的内核,不需要增加额外的虚拟机内核,因此,服务器的软件虚拟化资源损耗较小,使用一台物理服务器就可以实现多个服务器的软件虚拟化。
服务器的软件虚拟化对网络、硬件、软件等因素要求较低,可实施性比较强,但也存在虚拟化效率低等问题。
2)服务器硬件虚拟化
公共计算机平台的服务器硬件虚拟化基于各类硬件设备,包括CPU、电路、接口等,硬件的虚拟化可以隐藏云平台的底层硬件,利用虚拟机可以实现服务器硬件资源的共享。
服务器硬件虚拟化的核心是建立一个Hypervisor引擎,利用Hypervisor[3]引擎将服务器的硬件资源与虚拟软件程序相关联。公共计算机平台的服务器硬件虚拟化技术中,每个虚拟机都能提供完整的硬件资源,将服务器分割为多个虚拟机,实现了云端资源的有效配置。
2.2 船舶公共计算机平台的虚拟机存储冗余技术船舶公共计算机平台的存储器尽管可以扩容,但为了保障船舶用户数据的安全,有必要针对虚拟机存储冗余技术进行研究。
本文采用的虚拟机冗余存储技术通过共享磁盘阵列,使不同虚拟机的数据在共享磁盘中交互,然后传送至备份服务器中,原理如图3所示。
虚拟机冗余存储技术的特点包括:
1)存储设备共享
当船舶公共计算机平台中存在2台虚拟机时,这2台虚拟机的服务器使用共享磁盘阵列进行数据存储,2台虚拟机之间的共享可以为主从关系,也可以相互独立,共享磁盘阵列可以保证数据的完整性和数据的连续性。
2)冗余特性
船舶用户在通过虚拟机存储业务数据时,备份服务器和主服务器之间存在侦测线路,当备份服务器监测到主服务器正常工作时,备份服务器不启用;当备份服务器监测到主服务器出现宕机等故障时,备份服务器立刻切换,并从共享磁盘阵列中获取船舶的业务数据。
2.3 船舶公共计算机平台的虚拟机CPU和网络优化设置在配置船舶公共计算机平台的虚拟机时,需要重点配置的项目是CPU的资源分配和系统的网络分配。
1)CPU资源分配原则
由于特定公司的公共计算机平台中CPU的核数确定,而每个虚拟机由于运算任务的不同,对于CPU核数的使用状况也不同,因此,虚拟机的CPU资源分配原则要满足:
①分配给不同虚拟机的CPU核数不能超过服务器的总核数,即
$ \sum\limits_1^n {{m_i}} \leqslant {M_j} \text{。} $ |
式中:
2)分配给不同虚拟机的CPU核数要满足船舶用户的运算需求,即
$ z(j)=\displaystyle \prod _1^iX_i=\left\{\begin{array}{ll} 1 ,& 满足,\\ 0 ,& 不满足\text{。} \end{array}\right. $ |
③确保CPU资源的有效利用,即
$ {{K}}_{j}=\frac{{\displaystyle \sum _{1}^{i} {\text{m}}_{i}}}{{M}_{j}} \text{。} $ |
式中:
2)网络资源分配原则
由于船舶公共计算机平台的网络带宽有限,不可能同时为多个虚拟机提供完整带宽,因此需要进行网络带宽资源的分配,分配原则包括:
①分配给不同虚拟机的网络带宽要不超过总带宽[4],即
$ \sum\limits_1^n {{d_i}} \leqslant {D_j} \text{。} $ |
式中:
②分配给不同虚拟机的带宽要满足船舶用户的数据传输需求,即
$ s(\text{j})={\displaystyle \prod _{1}^{i}{G}_{\text{i}}}=\left\{\begin{array}{ll}1\hfill & \text{ }满足\text{,}\hfill \\ 0\hfill & \text{ }不满足\text{。} \end{array}\right. $ |
③确保计算机平台的网络带宽资源的有效利用,即
$ {{F}}_{j}=\frac{{\displaystyle \sum _{1}^{i} {{d}}_{i}}}{{D}_{j}} \text{。} $ |
式中:
基于VMware平台,进行船舶公共计算机平台的虚拟机搭建,基本过程包括云平台的搭建、数据库系统的搭建、底层管理虚拟机的安装、操作系统的自定义等,如图4所示。
1)计算机主板采用Intel/英特尔 DZ68DB 主板 Z68DB DVI,支持VTD和VMware平台使用[5]。
2)CPU采用Interl 酷睿i7-2600,CPU的主频为3.4 GHz,外频为100 MHz,总线类型为DMI总线,支持VT x/EPT功能。
3)系统内存采用DDR3 SDRAM内存,包括4×4 GB RAM内存,128 GB数据存储硬盘。
4)云平台环境:采用VMware Workstation,初步设定3台虚拟机,虚拟机之间的关系为主从关系,VMware 版本为VMware 5.1,虚拟采用的操作系统为Windows 10 SP。
3.3 安装Oracle数据库使用Oracle数据库系统进行虚拟机的数据存储,版本为Oracle 11,Oracle数据库的表空间采用索引和扩展表的方式存储虚拟机中的数据。
Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。
Oracle数据库的表空间创建具有以下特点:
1)索引表单独创建
Oracle数据库的索引表需要单独建立,这样做的目的是防止信息表和索引表同时访问时,Oracle数据库的运算资源占用量会比较大,且船舶虚拟机的个数不唯一,对信息的存取频繁,单独创建索引表能够提高数据存取效率。
2)将数据字典与用户数据分离,为不同的应用创建独立的表空间。
3)将回退数据与用户数据分离。
3.4 安装底层管理虚拟机和定义虚拟机操作系统1)安装虚拟机
在VMware Workstation中进行新虚拟机的配置,将虚拟机设置为硬件兼容模式,安装底层管理虚拟机,命名为manager-Vcenter,初始虚拟机的处理器个数设定为2,内存设定为4GB;安装客户端虚拟机,命名为Vsphere虚拟机和Vsphere网络虚拟机[6]。
2)定义操作系统
为了满足不同船舶用户的使用习惯,VMware Workstation为用户提供了不同操作系统的选项,用户可根据需要,定义虚拟机的操作系统,并将自定义设置信息存储在光纤通道存储阵列或其他存储阵列中。
图5为船舶公共计算机平台的虚拟机部署整体架构。
[1] |
陈小勇, 张丽. 基于虚拟机技术的实验平台研究[J]. 实验技术与管理, 2017, 34(2): 124-126. |
[2] |
金海, 钟阿林, 吴松, 等. 多核环境下虚拟机VCPU调度研究: 问题与挑战[J]. 计算机研究与发展, 2011, 48(7): 1216-1224. |
[3] |
刘青梅. 基于虚拟机技术的计算机基础实验教学平台应用探究[J]. 电子制作, 2013(13): 94. |
[4] |
龚巧华, 江魁. 基于虚拟机的计算机网络实验平台[J]. 教育信息化, 2006(15): 35-36. |
[5] |
黄楠. 通过虚拟化技术在Linux系统下搭建Hadoop集群的研究与实现[J]. 电脑知识与技术:学术版, 2016, 12(25): 175-180. |
[6] |
杨志红. 计算机网络实验虚拟化平台教学研究[J]. 科技信息, 2013(9): 151-178. DOI:10.3969/j.issn.1001-9960.2013.09.151-178 |