【摘 要】 随着云计算技术的不断完善和推广使用,桌面云作为云计算的一种应用形态越来越受到关注。OpenStack作为云计算平台,其良好的开放性赢得了广阔市场。针对传统网络实验环境运维成本高、利用率低等一系列问题,本文利用虚拟化技术设计并实现了基于OpenStack的桌面云实验环境,在提高资源利用率的同时,实现IT资源的按需供给和实验环境的灵活构建。
【关键词】 OpenStack 虚拟化 云计算
1 引言
随着信息化技术的飞速发展,传统的网络实验环境已难以满足复杂规模、弹性扩展、多样应用等使用需求。一方面,传统网络实验环境因操作系统的频繁崩溃和升级等问题加大维护成本和管理难度。另一方面,计算机软硬件的迅速迭代也使传统网络实验环境面临着高成本的硬件更新换代和兼容性等问题,在一定程度上造成了资源浪费。为解决上述问题,有效实现实验环境的快速搭建部署和集中管理,本文采用虚拟化技术,利用原实验网络硬件和软件资源,研究搭建基于OpenStack的桌面云实验环境。OpenStack作为云计算的基础服务架构,提供了虚拟机的分配与虚拟机资源的管理基础,实现对服务器集群计算资源的统一管理和灵活调度,为终端用户按需分配资源和服务,实现用户桌面实验环境的快速搭建。所谓桌面云是利用虚拟化技术,将原有分散的终端软件资源(包括操作系统、应用软件、用户数据等)集中地在云端管理起来,进行有效组织、安全存储、按需分配,利用服务器资源进行集中运算,并可以通过瘦客户机或其他任何与网络相连的普通用户终端访问跨平台的应用程序及全部服务器资源。
本文设计构建的桌面云实验环境遵循以下3项原则。一是完备原则,桌面云实验环境应能够尽可能充分、全面地模拟典型信息系统,支持灵活组网;二是可扩展原则,桌面云实验环境应具有良好的可延伸、可扩展能力,可利用虚拟化技术实现实验样机的快速分发、实验环境的快速部署、实验网络的快速重构、实验资源的合理分配等;三是节约利旧原则,桌面云实验环境应充分考虑复用已有传统网络实验环境的软硬件资源,提高计算资源的利用率,减少非必要的资源浪费。
2 桌面云实验环境的设计与实现
2.1 设计与规划
(1)框架设计
根据构建原则,设计桌面云实验环境框架如图1所示。
图1 桌面云实验环境框架
物理资源方面,通过服务器、计算机、网络设备、存储系统等组成物理网络,并按需进行基础配置。虚拟化资源方面,通过虚拟化、超融合等技术将现有计算、存储和网络等池化,建立计算资源池、网络资源池、存储资源池和数据资源池,并按需分配硬件资源。在网络资源池中,利用虚拟化、软件定义网络(SDN)等技术创建虚拟交换机,并按需为不同的虚拟机建立网络连接、划分安全域。软件资源方面,按需在虚拟机中安装不同类型操作系统、数据库、应用软件、安全防护产品等。应用资源方面,可根据功能差异部署不同的软件环境,如门户网站、邮件、办公自动化(OA)等典型应用系统,以及用于攻防演练的靶机系统及渗透测试工具等。
(2)物理网络设计
桌面云实验环境需部署控制节点、计算节点、网络节点和存储节点4类节点。控制节点主要运行Nova、Keystone、Neutron、Cinder、Dashboard、各种网络代理,以及数据库、消息队列和网络时间协议(NTP)等支持性服务,提供访问控制,负责各节点之间的数据传输和虚拟机实例的网络连接。计算节点主要部署Nova计算服务的KVM以运行虚拟机实例,并且通过网络代理,将虚拟机实例连接到虚拟网络,并对实例提供防火墙服务。网络节点提供网络资源,负责平台内部的虚拟机网络,以及对外网络与内部网络之间的通信。存储节点提供块存储和对象存储资源,负责对虚拟机自身以外存储的管理,为虚拟机实例提供磁盘存储。控制节点可与计算节点部署在同一物理服务器中,也可以部署在单独的物理服务器中。控制节点和计算节点分开部署时,节点间的数据可以采用专用的网络进行传输,也可以使用管理网络进行传输。
根据桌面云实验环境部署需求及架构设计,结合利旧传统网络实验环境,桌面云实验环境物理拓扑结构如图2所示。
图2 物理网络拓扑
物理网络环境主要包括核心交换域、虚拟化服务域、安全管理域、用户终端域和安全存储域。安全管理域负责OpenStack各个组件间的通信;虚拟化服务域负责各个虚拟机之间的通信;安全存储域负责OpenStack各组件与存储的通信。在各安全域间部署防火墙用于保障网络实验环境的安全性。典型的实体设备资产信息如表1所示。
表1 物理设备资产
(3)逻辑网络设计
根据桌面云实验环境的部署和应用,进一步设计典型逻辑网络拓扑,如图3所示。典型逻辑设备资产信息如表2所示。
图3 逻辑网络拓扑
表2 逻辑设备资产
2.2 部署与实施
基于OpenStack桌面云实验环境部署重点涉及控制节点和计算节点的部署与配置,控制节点实现云平台的管理,计算节点构建虚拟化资源池,满足用户对虚拟化实验环境的需求,实施部署步骤如下。
(1)服务器基础环境的准备:完成服务器操作系统安装和基础配置。
(2)网络配置及控制节点部署:通过脚本安装所需软件包并启动服务,修改控制节点配置文件,完成控制节点和计算节点IP地址配置,在浏览器中输入控制节点IP地址,验证控制节点是否配置成功。
(3)计算节点部署:配置hosts文件,增加IP controller和IP computer完成基础配置,设置控制节点与计算节点时钟同步。
(4)组件服务安装及配置:安装所需服务和组件(如Nova-api、Nova-compute、Nova-network等),修改相关配置并启动对应服务,与控制节点进行通信。
(5)计算节点网桥配置:创建网桥,将IP地址转移到网桥,添加到开机启动。
(6)虚拟机实例创建:登录虚拟化平台,创建虚拟机实例。
完成节点的部署和配置后,可以通过用户终端或瘦客户机浏览器打开用户虚拟桌面,进行用户身份验证后,可以根据需求配置使用所需的实验环境资源。
3 结语
本文利用虚拟化技术,结合已有网络实验环境资源,提出了基于OpenStack的桌面云实验环境部署方案。基于OpenStack的桌面云实验环境的构建实现了用户快速灵活模拟搭建不同网络规模、应用多样化实验场景的需求,很好地支持了渗透性测试等实操实验和研究,为用户提供方便快捷应用模式的同时降低了硬件资源和维护成本。
(原载于《保密科学技术》杂志2023年2月刊)