云计算技术应用实践

    冯子煦

    

    【摘要】? ? 云计算(CloudComputing)是信息时代虚拟化、网络化、共享化的重要产物。目前Openstack架构是较流行的云计算核心架构,作为一种开源架构,被广泛应用。下文就以Openstack为核心的云计算结构做简要介绍,帮助大家了解云计算基础结构知识的同时简要介绍云计算的一些应用实践场景和应用优势。

    【关键字】? ? CloudComputing? ? Openstack? ? keystone? ? swift? ? glance? ? cinder? ? nova? ? Neutron

    引言

    云计算(cloud computing)是一种分布式计算结构,通过网络中的一个或多个服务管理节点来整合网络中个无数个计算节点、存储节点为用户提供通常一台主机无法提供的高运算、高质量、高保护、高性能服务。云计算与高速网络密不可分,通过现代通信网络整合资源,按需为用户提供各类存储、计算、虚拟主机租用服务,服务类型灵活多样,并能实现异地共享服务。目前云计算架构大多数以Openstack架构为核心,通过Openstack架构协调和调用大量计算能力、存储、网络等资源,通过Dashboard控制整个Openstack云计算平台的运作,为租户提供个性化服务[1]。

    一、计算机虚拟化

    要将一台物理机虚拟成多台虚拟机,首先要确定物理机的CPU是否支持虚拟化技术。根据物理机CPU型号区别,Intel CPU支撑VT-x指令集和AMD CPU支撑AMD-V指令集,是判断电脑是否支撑虚拟化的前提条件。简单的方法可以通过查看电脑的BIOS系统来看是否相应的选项,打开相应的选项来开启虚拟化。或者也可以通过相应的命令和软件来查看CPU是否支持相应的指令集来确定硬件是否支撑虚拟化。

    二、Openstack架构各个组件功能与作用

    Openstack架构作为开源云计算的核心架构,了解其各个组件的功能和特点是我们深入了解云计算基础核心,学习和应用云计算技术的基础。Openstack架构包含keystone、swift、glance、cinder、nova、Neutron等核心组件。各个组件相互独立又协调工作,为云计算的控制、存储、网络等功能提供相应保证,下面就一一介绍各个组件的功能和作用(见图1):

    2.1 keystone组件的功能和作用

    Keystone组件是Openstack架构中的控制组件,主要功能有身份管理与认证授权服务,以令牌模式来授权和管理其余组件的创建、删除、修改、插入等功能。主要作用有两点(1)用户管理:验证用户身份的合法性;(2)服务目录管理:提供服务目录(ServiceCatalog:包括service和endpoint)服务,类似于UDDI服务的概念,用户(无论是Dashboard, APIClient)都需要通过Keystone服务来获取相关服务权限,以及每个服务的挂接地址点(Openstack中称为Endpoint)。组件服务通过Keystone组件获得一个令牌,并通过该令牌的授权获得操作其它组件的一个权限。保证相应的时间段内能够提供对应的服务[2]。

    2.2? Swift組件的功能和作用

    Swift组件主要负责提供对象存储服务,对于高可用分布式对象存储服务,Swift组件主要由2个部分组成:一个是代理服务(proxy),一个是存储内容服务(storage)。代理服务作为Swift组件内部存储的拓扑逻辑,具体说明一个文件位于存储节点位置,接受客户端的请求实现上传、下载服务,实现Swift各个组件之间的通信;存储内容服务是具体对象存储实例,分别由3个组件来完成:对象服务器、容器服务器、账户服务器来提供服务[3]。

    2.3? Glance组件的功能和作用

    Glance组件是镜像管理服务,是对已经安装过系统的硬盘文件,提供对虚拟机的各种镜像的管理服务,包含镜像的导入,格式,以及制作相应的模板。镜像一般包含了四个状态:1、saving状态:镜像上传中,还没有上传完成;2、Active状态:镜像上传完成,可以正常使用;3、killed:镜像上传失败,不能正常使用;4、Queued:镜像并没有上传,但id已经被记录了

    两种常用的镜像存储方案分别是使用Swift作为Glance的后端存储或者使用Cept(文件存储、块存储)作为Glance的后端存储

    2.4? Cinder组件的功能和作用

    Cinder是云硬盘,是管理存储资源的主要部件。一般操作系统获得存储空间的方式一般有两种:方式一:裸硬盘Block Storage(块存储),多用于挂载,通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区、格式化、创建文件系统或者直接使用裸硬盘存储数据(数据库);方式二:文件系统存储,各种分布式文件系统提供的都是这种存储,通过 NFS、CIFS等协议,mount 远程的文件系统。该组件主要为云计算提供存储资源池[3]。

    2.5? Neutron组件的功能和作用

    Neutron组件提供云计算各节点间网络管理服务,对网络拓扑节点进行管理。在云计算中,存在存储节点、控制节点和计算节点,而各个节点之间的通信和数据交流需要网络互联。neutron组件使用了软件定义网络(software-defined networking, SDN),他的特点是灵活性和自动化优势成为云时代网络管理的主流。Neutron为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和VPN 等。Neutron 提供了一个灵活的框架,通过配置,无论是开源还是商业软件都可以被用来实现这些功能[4]。

    2.6? Nova组件的功能和作用

    Nava组件是Openstack核心组件你,负责虚拟服务器部署和业务计算模块。Nova是最核心的,一套虚拟化管理程序,可管理网络和存储。Nova实现对虚拟机虚拟机实例进行管理和控制,根据用户需求来实现对虚拟机的开关机、调配CPU、RAM等操作。

    2.7 Horizon组件的功能和作用

    Horizon组件提供web界面的控制、调用服务,通过DashBoard来实现各种资源、虚拟机、实例等资源的管理。是用户使用web控制台来实现资源调度管理和监控的窗口。该组件还提供console、VNC直接访问实例,通过各种方式的管理和监控,实现人机互动。

    三、云计算运用实践

    根据以上Openstack的主要组件和功能介绍,我们了解了云计算的基本情况。目前运营商作为云基础提供商,主要提供公有云、私有云、混合云等多种云计算资源给客户使用。对于公有云主要是提供给各类电商、中小型企业、个人使用,云资源部署在公网上,内部云资源根据客户需要通过IP映射和端口映射提供给相应的客户使用,所有用户共用计算、存储、网络资源;私有云主要提供给政府单位和大型企业使用,一般该类用户要求高安全、私密性和高可用性,从计算资源池、存储资源池、网络资源都根据客户需求设置独立区域,通过专用网络与客户内网互联,提供用户独立使用,所有资源为客户独享,根据客户需求可以增加相应的租户,共享独立的资源;混合云技术结合了私有云和公有云的特点,提供给有部分保密资源要在内网使用,又有部分资源需要在公网使用的客户,通过不同的资源分配和网络防护措施做到相应的安全与私密的综合要求。充分结合了私有云和共有云的特点,利用云资源网络控制和资源灵活分配的特点控制资源和信息的发布区域和来访客户的合法性[5]。

    云计算能够广泛的应用是与云计算分布式部署、虚拟化应用、广泛的适应性、多样的应用服务提供密不可分的。例如云主机屏蔽了底層硬件设备的差异,在云主机内部都是标准化的虚拟配置,这就为云主机的平滑迁移和平滑扩容创造了各种便利条件。

    在云迁移方面,由于没有底层设备的差异,我们能将实验或测试环境建立的云主机配置打包成一个镜像文件,在其它的云环境下搭建同样的虚拟环境,就能将云主机轻松无缝迁移。对于在物理机环境下较难实现的无缝扩容,对虚拟机也是轻松实现,只需要在管理界面内配置增加相应的虚拟设备,相应的环境就能在极短时间内满足客户的需求。

    在云主机的适应性方面,云主机的高安全性和灵活性也是云主机得以广泛应用的关键。云主机的运行是依赖于整个资源池而不是单台主机的,整个云架构分为控制节点、计算节点和存储节点三大类,所有的节点都是通过多台主机负荷分担的模式工作的,当某台物理机发生故障的情况下,云主机的控制节点会进行相应的动作,将该台设备上的运用资源进行重新调整分配,保证其上的运用或存储、计算资源调整到其它正常的物理主机上。实现虚拟主机的资源漂移,以保证整个系统的稳定可靠。

    四、结束语

    目前云计算的发展更多与现代技术相互融合,云计算全栈化趋势催生出了docker容器应用;智能化应用充分与AI人工智能相互结合;行业化应用推动全球化进程。可以预见未来云计算将成为我们信息化发展中不容缺失的一环,将会推动信息化走向更宽广的未来!

    参? 考? 文? 献

    [1]许豪主编.云计算导论[M].西安:西安电子科技大学出版社,2015.

    [2]朱培佩.基于云计算的大数据分析优化技术研究[J].现代信息科技,2019(14):69.

    [3]邢伟,苏圣魁.大数据云计算环境下的数据安全分析[J].通讯世界,2016(13):25.

    [4]张佳,周雪.基于云计算的大数据处理技术探讨[J].电脑编程技巧与维护,2019(12):104-105+120.

    [5]蔡炜.以云计算为基础的大数据处理技术探讨[J].数字技术与应用,2017(12):205-206.