APP下载

基于OpenStack的高可用云桌面设计与实现

2018-04-13连鸿鹏

数字通信世界 2018年2期
关键词:架构设计桌面实例

连鸿鹏

(福建师范大学协和学院,福州 350117)

1 引言

传统IT架构转型云计算的因素中,适应业务变化和改善IT生态是一个非常重要的驱动因素,面对新兴的云计算技术和目前虽然略显臃肿但是满足企业各种业务的传统IT架构,转型云计算平台确实是一项值得商榷的事情。

针对传统企业的顾虑和困惑,本文拟将通过基于OpenStack高可用实践企业私有云桌面,对云计算技术在解决保障数据安全和满足复杂多变的业务需求两方面做出有益探索,旨在探索和展示云计算技术在解决传统企业员工PC管理的优势。

2 OpenStack相关技术

2.1 Redhat OpenStack高可用架构

Redhat的OpenStack高可用架构方案主要有两种,一种是基于Keepalived的高可用方案,另一种是基于HAproxy和Pacemaker的高可用方案。

2.2 Mariantis OpenStack高可用架构

与Redhat的OpenStack高可用架构不同,Mariantis作为一家致力于OpenStack云计算环境落地的创业公司,Mariantis在架构的设计上着眼于部署实施成本和后期运维的压力。所以,为了减轻后期运维的压力,Mariantis强烈建议使用高可用架构。在OpenStack众多的服务集下,如何防止因为单点故障导致的服务宕机显得尤为关键,至少三台控制节点的要求有效地降低了单点故障可能引发的问题。在部署落地成本的考虑上,则建议采用计算、存储、网络节点混合部署的架构,可以减轻项目实施落地环境对于硬件资源的需求。

2.3 云桌面技术

基于OpenStack云计算环境的云桌面系统,首先需要解决的是实例创建的问题,如果实例都无法创建,那么更谈不上将实例以桌面的形式发布给用户使用。在OpenStack中创建虚拟机,是通过Nova组件提供服务,虚拟机创建流程一次需要 经 过 Nova-API、Conductor、Scheduler、Placement、Nova-Compute等主要服务。

3 OpenStack的高可用平台架构整体设计

3.1 高可用平台整体架构设计

本平台参考携程全球呼叫中心云桌面的架构设计,为了增大包括OpenStack基础架构在内的云桌面体系的资源弹性,减小OpenStack云计算基础设施与云桌面系统应用的粘性。便于后期OpenStack云计算环境作为物理硬件设施为其他系统提供支持,也为云桌面系统的整体跨平台可移植提供可能。拟采用松耦合的结构,以“搭积木”的方式设计整体框架,然后对OpenStack高可用系统和云桌面系统分别进行详细设计。

在整体框架中,实现OpenStack基础架构与云桌面系统解耦,OpenStack基础架构的致力于向云桌面系统提供实例,云桌面系统自身解决用户登陆鉴权、桌面操作等功能。底层存储通过Cinder对接开源统一存储解决方案Ceph提供块存储服务,为存储高可用提供支持。整体架构设计如下图:

图1 OpenStack高可用架构设计图

在本架构设计中OpenStack集群有6个节点,其中,有三个控制节点,三个计算节点,存储节点和网络节点分布在6个节点上。

(1)控制节点:部署OpenStack API服务及各种功能组件如数据库、消息队列服务。

(2)计算节点:部署Nova-compute和Neutron-Linuxbridge-Agent,该节点服务实例的创建。

(3)网络节点:项目中不设计独立的网络节点,而是分布在整个集群的每个节点上。其中DHCP agent、L3 agent、Linux bridge agent、Metadata agent设计分布在控制节点,Neutron-Linuxbridge-Agent设计分布在计算节点。

(4)存储节点:存储节点也不设计独立的节点,分布在整个集群的每个节点上。而且,规划存储只提供块存储服务。其中,cinder-scheduler分布在控制节点,cinder-volume分布在整个集群的所有节点。

关于OpenStack高可用的设计,具体的拟通过HAproxy+Keepalived的方案提供高可用支持。

(1)HAproxy:HAproxy提供集群服务的负载均衡任务,针对不同服务的特点,设计不同的负载均衡策略,从而实现服务的服务的负载均衡效果。

(2)Keepalived:Keepalived作为软件负载均衡器,同样提供基于VRRP的LVS负载均衡器故障迁移能力。项目中拟设计admin-node为Active,node-1和node-2为Backup,同时利用Source Hash Scheduling算法,通过在静态Hash表中查询源IP地址以确当请求转发的后端服务器。

在OpenStack的集群高可用设计中,还遵循以下规则:

(1)能够实现Active/Active方案的,尽量选择Active/Active方案。

(2)组件自身有HA方案的,耦合自身HA方案,不通过HAproxy的代理。

(3)有流量区分地规划网络。

3.2 云桌面架构设计

本项目中云桌面与以往的硬件瘦客户端或软件客户端不同的,本项目系统通过浏览器作为云桌面客户端,浏览器通过访问Web服务器获取客户端,并在Web服务器中鉴权,云桌面系统与OpenStack集群之间主要通过Web服务器向OpenStack集群发送执行命令实现对实例的操作。

4 结束语

本项目在研究分析国内外云计算领域多年研究取得的宝贵经验和知名厂商的高可用方案基础上,结合实验室实际情况进行合理的规划设计,利用有限的资源条件初步实现了基于OpenStack高可用的私有云桌面系统,为企业的OpenStack私有云落地应用提供实践经验。

其中,内网yum源的建设为后期生产环境部署落地提供支持。对于整个基于OpenStack高可用私有云环境的云桌面系统而言,最大的亮点和创新在于架构的高度松耦合,OpenStack私有云为云桌面系统提供云桌面实例的方式通过基于C/S模式的网络通讯系统实现,具有一定的创新性。

[1] 刘源,蒋建峰.基于SPICE协议的虚拟云桌面访问技术的研究与应用[J].科技资讯,2016,14(30):1-2.

猜你喜欢

架构设计桌面实例
浅析工业网络安全架构设计
基于安全性需求的高升力控制系统架构设计
基于APP在线控制双挤出头FDM桌面3D打印机的研制
桌面云技术在铁路行业中的应用
大数据时代计算机网络应用架构设计
桌面装忙
完形填空Ⅱ
完形填空Ⅰ
对称加密算法RC5的架构设计与电路实现
当灰尘厚厚地落满了桌面