标签: OpenStack

OpenStack 开发架构设计的一些问题请教下各位。

基于 OpenStack 做私有云开发,前端自己重新做页面设计,预计只采用虚拟机管理和网络相关的一些功能,需要再做一个后端吗?不确定前端开发直接和 OpenStack api 通信是否合理。
OpenStack 开发 API 私有7 条回复 • 2021-06-30 11:32:39 +08:00
alexsunxl 1
alexsunxl 2 天前
肯定还是要做。 现在不做,后面需求变一点点,还得搞整改。
直接通信肯定会有很多问题的。
defunct9 2
defunct9 2 天前
openstack 太沉重了
buchikoma 3
buchikoma 2 天前
我们目前是前端对接 openapi,openapi 对接 openstack 的 Nova-api 这些
fengjianxinghun 4
fengjianxinghun 2 天前
1. 假如你是前端,那么肯定要做。
2. 假如你是后端,那么肯定不需要做。
3. 假如你是老板,*好别用 OpenStack 。。
HandForLove 5
HandForLove 2 天前
@fengjianxinghun 哈哈哈
HandForLove 6
HandForLove 2 天前
@buchikoma #抱拳,我去研究学习下。
quxuanxuan 7
quxuanxuan 1 天前
我们也在做私有云+混合云,开源的 https://github.com/yunionio/cloudpods, 可以参考下

怎么学Linux匿名管道

云计算人才要会哪些技能?怎么学Linux匿名管道?云计算产业的迅猛发展催生了大量的人才需求,为了能够快速的入行,很多人选择专业学习。接下来小编就给大家分享云计算入门学习中有关Linux匿名管道的知识点。

%title插图%num

 

什么是管道呢?

管道实际上就是内核中的一块缓冲区,通过进程从管道中放数据,取数据来完成进程中数据资源的传输。管道的特点是:单向通信,也就是说传输数据的一方,就只能传输数据,接收数据就只能接收数据。

匿名管道,就是没有名字的管道,没有名字两个不相干的进程是无法传输数据的。所以匿名管道的适用范围就是父子进程等有亲缘关系的进程间通信。

匿名管道特点

1)管道是半双工单向通信(即数据只能在一个方向上流动),具有固定的读端和写端。需要双方通信时,需要建立两个管道;

2)只能用于具有亲缘关系的进程之间的通信(父子进程或者兄弟进程之间);通常,一个管道由一个进程创建,然后该进程调用fork,此后父子进程之间就可应用该管道;

3)生命周期随进程,进程退出,管道释放;

4)面向字节流;

5)可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。

如何创建和使用匿名管道?

创建管道

函数原型:

BOOLWINAPICreatePipe(

PHANDLEhReadPipe,

PHANDLEhWritePipe,

LPSECURITY_ATTRIBUTESlpPipeAttributes,

DWORDnSize

);

函数说明:

*个参数返回新创建的管道的读取端句柄;

第二个参数返回新创建的管道的写入端句柄。注意不能在管道的读取端写入数据也不能在写入端读取数据;

第三个参数表示管道的安全属性,通常可以作如下设置:

SECURITY_ATTRIBUTES sa;

sa.nLength

= sizeof(SECURITY_ATTRIBUTES);

sa.lpSecurityDescriptor

= NULL;

sa.bInheritHandle

= TRUE;

第四个参数表示管道的缓冲区容量,为0表示使用默认大小。函数执行成功返回TRUE,否则返回FALSE。

从管道中读取数据

函数原型:

BOOLReadFile(

HANDLEhFile,

LPVOIDlpBuffer,

DWORDnNumberOfBytesToRead,

LPDWORDlpNumberOfBytesRead,

LPOVERLAPPEDlpOverlapped

);

函数说明:

*个参数为句柄,可以是创建文件函数CreateFile()的返回值也可以是管道;

第二个参数是一个指向缓冲区的指针,函数将读取的数据写入该缓冲区;

第三个参数的表达非常好,光从名字上就可以知道这是用来指定读取的字节数;

第四个参数将返回实际读取到的字节数;

第五个参数是用于异步操作方面,一般传入NULL即可。

向管道写入数据

函数原型:

BOOLWriteFile(

HANDLEhFile,

LPCVOIDlpBuffer,

DWORDnNumberOfBytesToWrite,

LPDWORDlpNumberOfBytesWritten,

LPOVERLAPPEDlpOverlapped

);

函数说明:

*个参数为句柄,可以是创建文件函数CreateFile()的返回值也可以是管道。

第二个参数是一个指针,该指针指向待写入管道的数据。

第三个参数表示要写入的字节数。

第四个参数将返回实际写入管道的字节数。

第五个参数是用于异步操作方面,一般传入NULL即可。

关闭管道的一端

函数原型:BOOLCloseHandle(HANDLEhObject);

函数说明:当读取和写入端都关闭后,系统会关闭管道并回收资源。

一个合格的云计算人才需要掌握很多技能,比如Linux、网络工程师、Python运维、云计算、OpenStack、Doctor容器技术等。如果你想快速掌握这些技能,可以选择专业的学习。

 

云计算未来发展趋势怎样 热门开源技术有哪些

云计算未来发展趋势怎样?热门开源技术有哪些?随着开源软件的普及以及云计算的迅猛发展,越来越多的人将开源与云计算结合起来使用,想要学习开源云计算技术的人与日俱增。为了更快更好的入行,很多人选择专业学习。下面且看千锋小编的分析。

%title插图%num

事实上,开源与云计算是两种不同的概念,云计算与开源密切结合的背后有两大促进因素:

1)开源云计算有助于打破亚马逊和谷歌等的技术垄断;

2)开源云计算平台提供了一个平等参与事实标准形成的机会。

当下热门的开源云计算技术有很多,比如OpenStack、Docker容器。

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。*重要的是,他们不依赖于任何语言、框架包括系统。

了解云计算未来的发展趋势很重要,但更重要的是你需要掌握企业所需的技术、具备较多的实战经验。如果你想快速掌握企业所需的云计算技术,可以选择专业学习一下,让自己求职起点更高、就业速度更快!

从事云计算要学什么技术 如何快速掌握岗位需求

从事云计算要学什么技术?如何快速掌握岗位需求?依托于技术产业创新以及政策的不断利好,我国云计算产业进入快速发展期,企业对云计算人才需求迫切,相关从业人员薪资更是一涨再涨。很多人想要从事云计算却不知道要学什么技术,毕业能够找到高薪工作吗?下面且看一下千锋小编的分析。

 

%title插图%num

想从事云计算要学什么?根据企业的招聘需求我们可以找到答案。

1)熟悉Java、scala、python、c语言中的至少一种;

2)熟悉分布式文件存储系统的设计、规划、部署;

3)熟悉云计算体系架构,熟悉Vmware、OpenStack等主流虚拟化产品;

4)熟悉linux、windows server操作系统,熟悉服务器相关操作;

5)熟悉至少一种数据库的安装、配置和维护,对移动组网结构有清楚的了解;

6)有一定的云计算/云桌面基础能力,对服务器虚拟技术有相关了解,有相关项目经验者优先。

当然,由于企业对云计算人才的岗位定性不同,求职者所需要掌握的技能也不尽相同,在此就不多做赘述。

从招聘角度出发,多数企业对于云计算开发人才的岗位需求是:熟悉Java/Python等主流语言中的至少一种、掌握常见的数据结构算法,具有云计算领域或运维、运营管理平台、主流云计算产品的架构设计经验,主导产品或者平台版本的可维护性设计等。

如果你真的下定决心从事云计算,并愿意为之付诸努力及时间,你可以参加专业系统学习技术并积累对应的实战经验,让自己尽快的满足企业需要。

OpenStack云计算快速入门教程

*部分 OpenStack及其构成简介

一、云计算

云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。

不同的“云”对应着不同的基础设施。下面是三种广义的“云”:

l 基础设施即服务(IaaS)

l 平台即服务(PaaS)

l 软件即服务(SaaS)

译者注:Open为开放之意,Stack则是堆砌,OpenStack合起来如其名,就是许多Open的Softwares堆积的集合,但1 + 1 > 2,系统的功能更为强大。

相关阅读:

Ubuntu 12.10 上安装部署Openstack  http://www.linuxidc.com/Linux/2013-08/88184.htm

Ubuntu 12.04 OpenStack Swift单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm

在Ubuntu上安装OpenStack的Swift组件-installing openstack object storage  http://www.linuxidc.com/Linux/2013-08/88180.htm

OpenStack Hands on lab系列  http://www.linuxidc.com/Linux/2013-08/88170.htm

二、OpenStack

(一)OpenStack概要

OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立、运行自己的云计算和存储设施。Rackspace与NASA是*初重要的两个贡献者,前者提供了“云文件”平台代码,该平台增强了OpenStack对象存储部分的功能,而后者带来了“Nebula”平台形成了OpenStack其余的部分。而今,OpenStack基金会已经有150多个会员,包括很多知名公司如“Canonical、DELL、Citrix”等。

以下是5个OpenStack的重要构成部分:

l Nova – 计算服务

l Swift – 存储服务

l Glance – 镜像服务

l Keystone – 认证服务

l Horizon – UI服务

%title插图%num

图1 OpenStack基本构架

下图展示了Keystone、Dashboard二者与其它OpenStack部分的交互。

%title插图%num

(二)OpenStack计算设施—-Nova

Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。

功能及特点

l 实例生命周期管理

l 计算资源管理

l 网络与授权管理

l 基于REST的API

l 异步连续通信

l 支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V

OpenStack计算部件

l Nova弹性云包含以下主要部分:

l API Server(nova-api)

l 消息队列(rabbit-mq server)

l 运算工作站(nova-compute)

l 网络控制器(nova-network)

l 卷管理(nova-volume)

l 调度器(nova-scheduler)

 

API服务器(nova-api)

API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。

消息队列(Rabbit MQ Server)

OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。

运算工作站(nova-compute)

运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。

网络控制器(nova-network)

网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。

卷工作站(nova-volume)

卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比如当结束一个实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。

因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。

调度器(nova-scheduler)

调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。

目前nova调度器使用了几种基本的调度算法:

随机化:主机随机选择可用节点;

可用化:与随机相似,只是随机选择的范围被指定;

简单化:应用这种方式,主机选择负载*小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。

(三)OpenStack镜像服务器—-Glance

OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:

本地文件系统(默认)

l OpenStack对象存储

l S3直接存储

l S3对象存储(作为S3访问的中间渠道)

l HTTP(只读)

功能及特点

提供镜像相关服务

Glance构件

l Glance控制器

l Glance注册器

 

(四)OpenStack存储设施—-Swift

Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。

功能及特点

l 海量对象存储

l 大文件(对象)存储

l 数据冗余管理

l 归档能力—–处理大数据集

l 为虚拟机和云应用提供数据容器

l 处理流媒体

l 对象安全存储

l 备份与归档

l 良好的可伸缩性

Swift组件

l Swift账户

l Swift容器

l Swift对象

l Swift代理

l Swift RING

Swift代理服务器

用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。

此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。

Swift对象服务器

对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。

注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前*好的选择。

Swift容器服务器

容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。

Swift账户服务器

账户服务器与容器服务器类似,将列出容器中的对象。

Ring(索引环)

Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。

(五)OpenStack认证服务(Keystone)

Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。如下图所示:

%title插图%num

Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone提供以下三种服务:

l 令牌服务:含有授权用户的授权信息

l 目录服务:含有用户合法操作的可用服务列表

l 策略服务:利用Keystone具体指定用户或群组某些访问权限

认证服务组件

服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。

l 区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。

l 用户:Keystone授权使用者

译者注:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。[来源:http://blog.sina.com.cn/s/blog_70064f190100undy.html]

l 服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。

l 角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。

译者注:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。

l 租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。

译者注:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。

(六)OpenStack管理的Web接口—-Horizon

Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。总之,Horizon具有如下一些特点:

l 实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等

l 访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等

l 偏好设定:对虚拟硬件模板可以进行不同偏好设定

l 镜像管理:编辑或删除镜像

l 查看服务目录

l 管理用户、配额及项目用途

l 用户管理:创建用户等

l 卷管理:创建卷和快照

l 对象存储处理:创建、删除容器和对象

l 为项目下载环境变量

用Docker之后还需要OpenStack吗

Docker从一个新兴的技术到一个商品化模式,这一过程的发展速度很惊人,它炙手可热的同时也给带来一些困惑。这也带来了一些同学的质疑和评论:假如用了Docker再去用OpenStack是否合适?本文来自Helion惠普云计算,深入浅出的对OpenStack和Docker进行类比。

以下是原文:

Solomon Hykes创立了Docker,没有想到过Docker会人气爆棚,成为仅次于OpenStack的*受欢迎的云开源项目。然而听说过Docker的朋友很少知道其真正的意义,很多人会被各种概念混淆,甚至把OpenStack和Docker进行类比。

Docker的相关背景

简单来说,Docker提供了一种程序运行的容器,同时保证这些容器相互隔离。虚拟机也有类似的功能,但是它通过Hypervisor创建了一个完整的操作系统栈。

不同于虚拟机的方式,Docker依赖于Linux自带的LXC(Linux Containers)技术。LXC利用了Linux可以对进程做内存、CPU、网络隔离的特性。Docker镜像不需要新启动一个操作系统,因此提供了一种轻量级的打包和运行程序的方式。而且Docker能够直接访问硬件,从而使它的I/O操作比虚拟机要快得多。

 

Docker可以直接跑在物理服务器上,这引起大家的疑问:假如已经用了Docker,还有必要使用OpenStack吗?

还有必要使用OpenStack吗?观点如下:

这个问题和OpenStack没有直接的联系,也可以套在其他云平台上。大家为什么会拿Docker和OpenStack做比较的原因是:OpenStack是私有云环境中*流行的云平台,在私有云环境中,大家认为可以把Docker作为另一种选择。

有关于Hypervisor的误区:很多KVM和Docker的性能测试的对比跟OpenStack一点关系都没有,因为OpenStack只是一种框架。事实上这种性能测试(不管是KVM还是Docker)是跑在OpenStack下,这表明了KVM和Docker可以共存。当使用OpenStack去管理Docker情况下,Docker和OpenStack的争论是没有意义的。

云平台提供一个完整管理数据中心的解决方案,至于用哪种hypervisor或container只是云平台中的一个小部分。像OpenStack这样的云平台包含了多租户的安全、隔离、管理、监控、存储、网络等其他部分。云数据中心的管理需要很多服务支撑,但这和用Docker还是KVM其实没多大关系。

Docker不是一个全功能的VM, 它有很多严重的缺陷,比如安全、Windows支持,因此不能完全替代KVM。现在Docker社区一直在弥补这些缺陷,当然这会带来一定的性能损耗。

原生hypervisor的性能、容器化的性能、应用的性能是不一样的东西,相互对比没有意义。

把Docker容器打包进KVM镜像中对Docker运行几乎没有影响。这种架构通常是用hypervisor来管理计算资源,而像Heat、Cloudify、Kubernetes这样的的orchestration layer都用于管理在hypervisor中的docker容器。

总结

正确看待OpenStack、KVM、Docker的方式应该是: OpenStack用于管理整个数据中心,KVM和Docker作为相应的补充,KVM用于多租户的计算资源管理,Docker Container用于应用程序的打包部署。

OpenStack 如何笑傲开源云计算战场—— OpenStack 与 CloudStack 的对比

OpenStack和CloudStack都是功能强大的开源云平台,那OpenStack是凭借什么,在百花齐放的云计算战场取得如此大幅度的*优势呢?本文基于”用户倾向于云计算的理由”这个角度,对OpenStack和CloudStack进行对比,试着来寻找答案。

短短几年间,云计算已不再虚无飘渺,而是落入凡间,变成实实在在的技术。而开源技术更是逐渐成为对公司、厂商更有吸引力的选择。大概一周前,Zenoss刚刚完成了一份名为“2014开源云计算解析”的市场调查显示,69%已经不同程度地应用云计算技术,43%的用户花费大量资源在开源技术上。

在这些选择了开源云的企业中,超过86%的企业关注OpenStack,并且这些数值在过去几年都在不断增长。 排在第二位的CloudStack则被远远甩在后面,只有44%。

%title插图%num
OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。那是什么原因使OpenStack 在这场开源云计算的战争中笑傲群芳呢?

对于用户倾向于开源云计算的理由,在这份Zenoss的报告中的数据也有显示,诸多原因中以下四种*为重要:

灵活性(71%)
避免被厂商锁定(66%)
更低的成本(66%)
开放的标准和API(60%)

%title插图%num

那么本文,我们就将讨论的重点放在冠军OpenStack和 亚军 CloudStack上,先从这四个回合看看冠军OpenStack 和亚军 CloudStack分别是怎样迎接这场开源云战役的。

选手简介:

OpenStack由NASA和Rackspace公司在2010年联合发布,两者分别贡献计算代码(Nova)和存储代码(Swift),以Apache许可协议进行授权。OpenStack的目标是提供一个既可以用来建设公有云也能建设私有云的通用的开源云计算平台,而且做到云平台的搭建尽量的简单方便,同时能够快速的横向扩展。

CloudStack*初由Cloud.com公司开发,分为商业和开源两个版本,开源版本通过GPLv3(GNU General Public License, version 3)许可协议进行授权,Citrix公司在2011年收购Cloud.com后,将全部代码开源,并在2012年将CloudStack贡献给Apache软件基金会,成为Apache的孵化项目,同时将授权协议改为更加宽松开放和商业友好的Apache许可协议,CloudStack在2013年3月份升级为Apache的正式项目。CloudStack的目标是提供高度可用的、高度可扩展的能够进行大规模虚拟机部署和管理的开放云平台。

Round 1:灵活性

OpenStack由几个主要的组件组合起来完成具体工作,采用分布式架构。整个平台按照功能不同分为多个模块项目,项目之间通过消息队列中间件和RESTful形式的API进行交互通信,因此每个项目都可以单独部署在不同的主机上,支持几乎所有类型的云环境。

CloudStack采用集中式的单体架构(Monolithic architecture),整个平台只有一个项目构成,不同模块之间通过的本地调用进行交互,在一台主机上就可以完成平台的部署,非常方便。

可以看到,两者的架构几乎是相对的,OpenStack的分布式架构灵活性好,缺点每个项目都要部署配置一遍,比较麻烦;CloudStack因为只有一个项目,部署起来会相对容易很多,然而平台的扩展性就要相对弱一些。

如果单从用户*关注的灵活性的角度来看,本回合OpenStack胜。

Round2: 避免被厂商锁定

OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。

不同的是CloudStack虽然在云平台构建时会比较方便,对企业来说会更容易上手,但它必竟是从商业软件开源出来的,会带有商业软件属性;而OpenStack自诞生之初就是开源软件,所有的开发都是由社区承担,采用分布式的架构,不同的项目之间几乎没有耦合,所以可以方便的进行开发定制。

综合比较,第二回合,OpenStack胜。

Roud3: 更低的成本

又如前面说到的,CloudStack由于其某种程度带有商业软件属性,平台架构又比较集中,模块间耦合度比较高,导致其二次开发的成本较高。但OpenStack面临的问题是,由多个项目组成,每个项目都要单独安装,并且要保证项目间的协作,所以部署会比较麻烦。而且以Openstack目前发展的状况看来,不同版本之间项目可能会有较大的变动,因此版本间的升级会比较困难,由此带来的运维成本不好估算。

但我们还要考虑到的是,OpenStack和 CloudStack虽然都对VMware的ESXi虚拟化技术提供支持,但支持方式是不一样的。CloudStack要经过vCenter 才可以实现对ESXi宿主机上虚拟机的管理;而OpenStack支持直接和ESXi通信,实现对虚拟机的基本管理,只有高级功能才需要vCenter的 支持。针对目前中小企业普遍采用VMware的免费虚拟化技术而没有vCenter的现状,这也是在平台选择时需要考虑的。

本回合OpenStack 险胜。

Round 4: 开放的标准和API(60%)。

我们已经知道,OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。OpenStack对外提供丰富和功能强大的API,使得资源可以被用户方便的使用和调度,同时提供和Amazon AWS(Amazon Web Services)兼容的API。CloudStack同样地对外提供自身API和与Amazon AWS相兼容的API。

所以这轮,双方算打个平手。

小结:

单就Zenoss调查报告所显示的用户需要程度*高的四个标准来看,OpenStack似乎基本保持不败。但这并不代表它尽善尽美,而且如果从使用户操作方便,简便易用的角度看来,CloudStack应该更胜一筹。

我们再来回顾这个数据:超过86%的企业关注OpenStack,排在第二位的CloudStack只有44%。这个数据显示,很多用户有可能同时关注这两项技术。技术强不强是客观的,主要还是要看用户自身的需要。但就目前来看,基于OpenStack更加开放的架构,以及众多技术厂商的支持,加上OpenStack 自身迅速成长壮大的势头,从长远来看对企业还是非常有益的。

原文链接:
https://cloud.tencent.com/info/a2f24a2ecb6954523d51a899f2c5d785.html

对于搭建小型 OpenStack 平台,如何采购服务器

目前学院有 10 万美元用于采购服务器,计划搭建 OpenStack 平台供学院的师生科研和实验使用。因为本人对专业服务器不太了解,所以向各位咨询一下服务器配置的选择以及架构的可行性。

架构方面,目前计划一台服务器作为控制服务器用于一系列基础服务(Keystore, Horizon, Glance,有可能再加上 Heat),一台或者两台分别用于块存储和对象存储 (Cinder, Swift,如果一台服务器不可以同时安装这两个服务的话就上两台),一台用于网络服务 (Neutron),若干台用于计算服务 (Nova)。目标用户大概包括 10~20 个老师和 100 以内的学生。每个用户单个 instance 的配置并不高,主要在于做实验的时候可能用到的 instance 数量较多。

针对上述架构的话,我认为网络服务器和计算服务器的瓶颈在于 CPU、内存和网络,存储服务器的瓶颈在于硬盘和网络。然后计划采购戴尔的 PowerEdge 系列的 Rack Server,不知道针对上述架构在配置的选择上大佬们有没有什么建议。当然如果有更好的选择的话,品牌也可以不限于戴尔。另外大家也可以分享一下自己搭建 OpenStack 平台的架构。谢谢大家的帮助!

感谢各位的回复。以下是*终和老师商议后暂定的方案,希望对其他人有所帮助:

pfSense Firewall Dell PowerEdge R740 Rack Server CPU: 2x Intel Xeon Gold 5217 3.0G 8C/16T RAM: 64G RDIMM 2933MT/s Hard drive: 2x 600GB 10K RPM SAS with RAID 1 Network: Intel X520 Dual Port 10GbE SFP+ & i350 Dual Port 1GbE BASE-T Price: $6600

OpenStack Controller (Keystone, Horizon, Glance, Swift, Cinder, Nova Server, etc) Dell PowerEdge R740 Rack Server CPU: 2x Intel Xeon Gold 5218 2.3G 16C/32T RAM: 128G RDIMM 2933MT/s Hard drive: 2x 600GB 10K RPM SAS with RAID 1 Network: Intel X520 Dual Port 10GbE SFP+ & i350 Dual Port 1GbE BASE-T Price: $7400

OpenStack Network (Neutron) 同pfSense Firewall

Distributed Storage Dell PowerEdge R740 Rack Server CPU: 2x Intel Xeon Silver 4216 2.1G 16C/32T RAM: 64G RDIMM 2933MT/s Hard drive: 2x 300GB 15K RPM SAS with RAID 1 & 8x 2.4T 10 RPM SAS with RAID 5 Network: Intel X520 Dual Port 10GbE SFP+ & i350 Dual Port 1GbE BASE-T Price: $12000

2x OpenStack Compute (Nova) Dell PowerEdge R840 Rack Server CPU: 4x Intel Xeon Gold 5218 2.3G 16C/32T RAM: 512G LRDIMM 2666MT/s Hard drive: 2x 600GB 10K RPM SAS with RAID 1 Network: Intel X520 Dual Port 10GbE SFP+ & i350 Dual Port 1GbE BASE-T Price: 2x $24000

$100k经费的话,这样选配下来还剩$20k左右,还可以再选购10Gbps的交换机等等。目前考虑到初期内部测试使用,暂不对外开放,就没有对Controller部分没有做HA。这套选配可能还存在着种种问题,欢迎大家的意见与建议。

uleh 2019-07-31 08:49:57 +08:00 ❤️ 1
一个 instance 按 4G ram + 50G hd 来算,120 个 Instance 就是 480G 内存 + 6T 硬盘
品牌选戴尔、联想都可以,配置用 2U + 128GRAM,买 6 台组成 2 控+4 算 的集群
一台 1 万多刀,一共估计在 8w 刀之内,剩下钱买硬盘、光纤卡、交换机
uleh 2
uleh 2019-07-31 08:51:10 +08:00 ❤️ 1
如果对数据可靠性有要求就不加硬盘,增一台存储服务器
swulling 3
swulling 2019-07-31 09:13:26 +08:00 via iPhone ❤️ 1
两个控制节点,其他计算节点。虽然集群小,也要*起码有个主从…

如果钱不多,控制节点也可以跑计算
swulling 4
swulling 2019-07-31 09:14:57 +08:00 via iPhone ❤️ 1
存储和计算混部
littlewey 5
littlewey 2019-07-31 09:20:09 +08:00 via iPhone ❤️ 1
可以试试用 airship 来部署
x7395759 6
x7395759 2019-07-31 09:29:24 +08:00 ❤️ 1
搭建 OpenStack 有太多坑了,我不是很喜欢这个方案哈哈哈哈哈

主从我觉得可以不用,一般来说内存是*缺的,CPU 可以超并且影响不大,网络也还好,专业交换机上了也没有瓶颈。
zrp1994 7
zrp1994 2019-07-31 09:31:17 +08:00
@uleh
@swulling
请问两控是指一个 Network Controller 另一个是其他 Controller services 么?还是两个同样的 controller 做 high availability ?
zrp1994 8
zrp1994 2019-07-31 09:34:00 +08:00
@x7395759 因为之前在现有服务器上搭过 OpenStack 并且 Research 与 OpenStack 相关所以选用了 OpenStack。正如你所说的,OpenStack 坑太多,而且如果不深入优化的话性能不是很好。请问除了 OpenStack 有没有其他的平台建议?
x7395759 9
x7395759 2019-07-31 09:40:44 +08:00 ❤️ 1
@zrp1994 之前我司也自建了 OpenStack,后来搭建了 k8s+docker。个人感觉后者利用率是高一些,不过和 OpenStack 还是有很大的区别,如果要私有云的话好像是没有别的方案了。

也许科研学习实验用途对性能要求没有那么高也无所谓,主要还是看用途。
swulling 10
swulling 2019-07-31 10:01:50 +08:00 via iPhone ❤️ 1
@zrp1994 做 HA,控制节点你这么小规模没啥资源需求的

uleh 2019-08-06 10:43:38 +08:00 ❤️ 1
@zrp1994 做 HA 就行了
如果主要需求是提供虚拟机给学生 /老师用,其实用 proxmox 或者 oVirt 搭建集群更方便。。
httplife 12
httplife 2019-08-08 13:59:25 +08:00 ❤️ 1
pfSense Firewall 这个应该可以省去, 加个好点的 Layer 7 Juniper / Cisco 交换机(就是需要额外学一下怎么用 Junos OS/Cisco)
Dell 本身 software raid 不怎样, 用硬件 RAID,SSD 代替 SAS .

如果愿意折腾, 建议用 SuperMicro, 可以搭配更好点配置. 省下的钱还可以买备件
p200635 13
p200635 2019-09-27 07:39:33 +08:00 via Android
虚拟化 上 dell 这个方向没错。 但是为什么要上 OpenStack 而不是 ovirt 我司就是全套 VMware 爽到*限
p200635 14
p200635 2019-09-27 07:44:13 +08:00 via Android
从构架分析 你需要超融合方案 成熟的商用有 VMware nitanix 其他的不推荐 计算和存储是要分离的 网络是要支持软件定义的 还需要自动化运维 或者是桌面云 基本上数下来的话 直接找开源的话 ovirt 或者 pve 是*好的 也可以直接上 nutanix 的一体机 也是便宜还带有成熟的解决方案

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速