博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2753|回复: 0

OpenStack云全解析

[复制链接]
发表于 2014-8-12 09:28:50 | 显示全部楼层 |阅读模式

OpenStack云全解析


 在云时代,传统IT部门面临前所未有的挑战。传统的IT架构难以快速满足新一代应用的复杂规模、扩充弹性、海量数据等难题。

   

 

20131012092632669001.png

 OpenStack可以用来做什么?

  例如在瑞士日内瓦和法国边境,这里有一个全世界最大的核物理实验室CERN(欧洲核子研究组织,European Organization for Nuclear Research)。CERN有一套物理实验设备隐藏于总长约27公里的环形隧道,它是大型强子对撞机(Large Hadron Collider,LHC)。

  当LHC进行对撞实验时,每秒会产生1PB的海量数据,面对这些能够帮助人们探索宇宙奥妙的海量数据,如何提供可满足实验需求的运算资源,便成为CERN的IT部门最大挑战。为了解决每秒1PB量数据的分析难题,CERN选择用OpenStack来打造私有云。

  或像是号称南美洲eBay的全球第8大在线零售业者MercadoLibre,其IT部门也遇到了传统IT架构难以支持的维运大数据难题。仅2013年第一季,来自南美州14个国家的6200万名会员,在MercadoLibre拍卖平台上的成交金额累计达到了15.6亿美元的规模,成交1810万件商品,通过在线支付服务的交易笔数也高达670万笔。

  为了支撑这样的营运规模,MercadoLibre同样采用OpenStack来打造一套内部IaaS平台,通过自动化机制,来快速部署虚拟机器,以承载暴增的交易系统的程序运作需求,解决每分钟高达2千万次的API呼叫。

  全球在线支付平台PayPal也有同样的挑战,PayPal每1分钟需处理4400多笔交易,来自全球100多万会员利用各式各样的设备,从5个不同的国家,190个不同的在线交易平台,复杂度远胜传统IT系统的交易流程。甚至到了节庆假期,如复活节、圣诞节等,PayPal的平台会涌入比平常日更多的流量,为了要提供全球各地会员,一个稳固的平台让它们能够随时随地,完成结帐手续,PayPal同样也选择用OpenStack来自建云端平台。

  OpenStack是什么?为何能获得CERN、MercadoLibre和PayPal的青睐,成为能够支撑这些机构或企业核心业务的IT平台,甚至连美国有线电视、宽带网络的服务提供商Comcast、美国消费电子零售商Best Buy、24小时不停转播财经信息的彭博电视等世界知名企业也都采用OpenStack来解决传统IT不易处理的各种疑难问题。就连IT厂商也都积极拥抱OpenStack,英特尔用来打造内部混合云,思科的在线会议服务WebEx也以此为底层平台等。

  OpenStack:一套云操作系统

  就如同在实体的计算机上,操作系统可以用来控制实体计算机上的硬件机制,让应用程序和底层实体硬件隔离。操作系统提供了一个可以跨硬件的共通执行环境,让应用程序不用受制于不同服务商、规格的硬件功能。同样的逻辑,云操作系统作为云端应用程序和实体数据中心的中间层,让云端应用不用受制于实体数据中心内各种硬设备的局限,同样可以提供一个共通的云端执行环境。

  OpenStack不是唯一一套可以实现这个构想的技术,已有不少成熟的商用软件,如VMware和微软的虚拟化平台,同样也能实现这样的目标。但是,OpenStack不一样,它是一套免费开源的云操作系统(Cloud OS)。

  就像早在Linux出现之前,已有不少商用操作系统。但是免费开源Linux却掀起了新的开放革命。随着计算机硬件成本越来越低,Linux让计算机的进入门坎更低,甚至软件成本几乎可以忽略,也不用受限于特定软硬件厂商的绑定。任何人只要买了一台实体计算机,就能用免费的Linux打造出一个低成本的桌面执行环境,甚至是应用系统的执行环境。Linux提供了商用软件产品以外的另一个选择,打破了IT厂商垄断OS平台的局面。

  同样道理, OpenStack对云端平台的价值,如同是Linux对个人计算机的价值一样。OpenStack可以让企业打造出一套免费的云平台,来实现上云端的目标,不论是公有云、私有云,都可以使用OpenStack来建设。

  OpenStack打造IaaS服务的开源软件

20131012092632362002.jpg

   

  OpenStack是一套使用Python程序语言撰写的软件,也是个开放原始码计划,以Apache许可证授权。OpenStack内部包括运算模块、网通模块和储存模块,再搭配一个可集中管理上述三大类模块的仪表板模块,最后组合而成一套OpenStack共享服务,并且可以提供虚拟机器的方式,对外提供运算资源以便弹性扩充或调度。换句话说,OpenStack也是一套可以用来打造IaaS服务的开源软件。

  对应用程序而言,只要通过API就可以和OpenStack沟通,例如用API来调度虚拟机器的部署等,OpenStack再负责和不同厂商的硬件设备,或是软件系统沟通。

  OpenStack三大优势

  OpenStack有三大优势。首先,OpenStack可解决云服务被单一厂商绑定的问题。惠普企业业务事业群总经理监范钦辉表示,假设企业选择使用某家服务供货商的云服务,厂商会提供管理接口让企业了解硬件资源的运作情形,还会提供API,让企业在云平台上,客置化更多的加值服务,像是负载平衡、监控工具等。不过,若是有天,企业想使用其它厂商的云服务,势必就要重新建立各式各样的应用程序,因为不同厂商的API是无法共通的。

  而若是服务供货商提供的云平台,都是基础OpenStack,企业就可以将应用程序无缝转移到其它厂商的平台上。

  其次,对于想要打造云服务,而不想花费大量成本购买商业化解决方案的企业来说,OpenStack可帮助他们节省部署成本。这是因为,OpenStack是个开源的软件,只要不违背软件授权的规范,每个人都可以从网站上公开取得。像是CERN在选择使用OpenStack打造私有云之前,就曾评估过,若是使用公有云服务,虽然一开始的成本负担不多,但是,一旦需要增加网络资源时,所需的成本就会提升3~5倍之多。

  第三个优势就是是开源社群的技术支持,在OpenStack网站上注册的开发人员近万人,遍布全球87个国家。不只在网络上已有许多参考文件或是视频,可作为企业IT人员的学习范本,若是遇到无法解决的问题,也可求助几乎遍布全球的OpenStack用户社群。

  目前OpenStack共有9个不同的项目套件,9个不同的项目套件分别提供虚拟化技术、网络、储存、镜像文件管理等功能,许多程序代码甚至是来自这些IT技术领域的领导厂商所贡献的,像是x86服务器、刀片服务器、路由器、交换器、储存设备、Linux、虚拟化技术这七大领域的市占率前3名领导业者都参与OpenStack的开发。

  OpenStack 七大套件功能一览

20131012092633575003.jpg

   

  另外,OpenStack的管理机制也能延伸到商用产品, VMware资深技术顾问陈建民表示,凡是厂商的软硬件产品,能支持OpenStack项目组件所放出的套件,企业的IT人员,就可以通过OpenStack的管理网页,统一管理所有打造IaaS服务所需的硬件资源。

  OpenStack技术架构解析

  OpenStack最新版Grizzly共有7个不同功能套件,分别是运算套件Nova、对象储存套件Swift、区块储存套件Cinder、网通套件Quantum、身分识别套件Keystone、镜像檔管理套件Glance仪表板套件Horizon,此图为Grizzly的架构图,简述了套件之间是如何运作的。

    20131012092633699004.jpg

  运算套件Nova

  Nova套件主要提供部署与管理虚拟机器的功能。工程师可利用API开发云端应用程序,而IT管理人员则可透过网页式的接口查看或管理硬件资源运作的状况,并可重起、暂停、调整,甚至直接关闭虚拟机器。

  IT人员可将Nova套件部署在多家厂商的虚拟化平台上,目前来说,以KVM和Xen虚拟化平台最为稳定。除了支持不同的虚拟化平台之外,在硬件架构的部份,OpenStack支持x86架构、ARM架构等。另外,Nova套件还支持Linux轻量级的虚拟化技术LXC,能够再切割虚拟机器,分出更多的虚拟化执行环境。

  此外,Nova套件还具有管理LAN网络的功能,可程序化的分配IP地址与VLAN,快速部署网络与资安功能。Nova套件还可将某几台虚拟机器设为群组,和不同群组作隔离,并有基于角色的访问控制(RBAC)功能,可根据使用者的角色确保可存取的资源为何。

  对象储存套件Swift

  Swift套件提供可扩展的分布式储存平台,以防止单点故障的情况产生。使用者可透过API进行存取,可存放非结构化的数据,像是图像、网页、网志等,并可作为应用程序数据备份、归档以及保留之用。

  透过Swift套件,可让业界标准的设备存放PB等级的数据量。而且,当新增服务器后,储存群集可轻易的横向扩充。

  此外,因为Swift套件是透过软件的逻辑,确保数据被复制与分布在不同设备上,这可让企业使用较便宜的设备,节省成本。

  区块储存套件Cinder

  Cinder套件允许区块储存设备能够整合商业化的企业储存平台,像是NetApp、Nexenta、SolidFire等。区块储存系统可让IT人员设置服务器和区块储存设备的各项指令,包括建立、连接和分离等,并整合了运算套件,可让IT人员查看储存设备的容量使用状态。

  Cinder套件并提供快照管理功能,可保护虚拟机器上的数据,作为系统回复时所用,快照甚至可用来建立一个新的区块储存容量。

  网通套件Quantum

  Quantum套件是个可扩展、随插即用,透过API来管理的网络架构系统,确保IT人员在部署云端服务时,网络服务不会出现瓶颈,或是成为无法部署的因素之一。

  Quantum套件支持众多网通厂商的技术,IT人员可配置IP地址,分配静态IP或是动态IP。而且,IT人员可使用SDN技术,像是OpenFlow协议来打造更大规模或是多租户的网络环境。

  此外,允许部署和管理其它网络服务,像是入侵侦测系统(IDS)、负载平衡、防火墙、VPN等。

  身分识别套件Keystone

  Keystone套件作为OpenStack的身分认证系统,具有中央目录,能查看哪位使用者可存取哪些服务,并且,提供了多种验证方式,包括使用者账号密码、Token(令牌)以及类似AWS的登入机制。另外,Keystone可以整合现有的中央控管系统,像是LDAP。

  镜像文件管理套件Glance

  Glance套件提供提供硬盘或服务器的镜像文件寻找、注册以及服务交付等功能。储存的镜像文件可作为新服务器部署所需的范本,加快服务上线速度。若是有多台服务器需要配置新服务,就不需要额外花费时间单独设置,也可做为备份时所用。

  仪表板套件Horizon

  Horizon套件提供IT人员一个图形化的网页接口,让IT人员可以综观云端服务目前的规模与状态,并且,能够统一存取、部署与管理所有云端服务所使用到的资源。


  Horizon套件是个可扩展的网页式App。所以,Horizon套件可以整合第3方的服务或是产品,像是计费、监控或是额外的管理工具。

20131012092633700005.jpg

   

  在这里我用CentOS6.4创建了OpenStack云,输入用户名及密码进入管理平台Horizon:

20131012092634166006.jpg

   

  点击右边的Project:

20131012092634123007.jpg

   

  可以看到当前没有运行任何实例,接下来我们建立一个实例,点击Instance.

    20131012092634695008.jpg 20131012092634108010.jpg 20131012092634677009.jpg

   

  设置实例源,实例所要使用的镜像及名称,以及要分配多少CPU数,内存,硬盘空间等。

  我们在这里建立一个limingit的实例,镜像使用RHEL6.,也就是说我们要建立一个RHEL6的虚拟机。

   

  在这里我们内存分配2GB.CPU数为1,硬盘20GB.然后点Launch,执行。

    20131012092634279011.jpg

   

  接下来我们可以通过IP地址去SSH连接管理这台服务器了,对于用户来说,只要登录openstack管理平台就可以管理自己的虚拟机,如果用过Amazon EC2应该对上面的操作介界很熟悉吧。

20131012092634323012.jpg

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-12-27 08:25 , Processed in 0.109940 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表