Date: 南京, 2014年8⽉月
Author: 杜⽟玉杰
OpenStack企业应用之路
2014华东云计算⾼高峰会议
Date: 南京, 2014年8⽉月
Author: 杜⽟玉杰
杜玉杰(Ben) � !
TryStack执行董事 �
OpenStack基金会独立董事 �
中国企业级云计算联盟(ECA)副秘书长 �
� � � � @ben_杜玉杰 �
� � � � � � � � � � � � [email protected] �
� � � � � � � � � � � � http://www.linkedin.com/in/duyujie/
PAGE: www.trystack.cn
云计算带来的挑战
KK,互联⺴⽹网思维,《失控》,云计算 !!!!!!
4
内容简介 1994年在美国出版,这本关于机器、系统、⽣生物和社会的“⼤大部头”,揭⽰示了社会进化、特别是互联⺴⽹网发展的“先知预⾔言”。作者 凯⽂文·凯利(Kevin Kelly,1952〜~,⼈人们昵称他为 KK)
PAGE: www.trystack.cn5
IBM/HP/Dell Oracle
x86虚拟化 (VMWare) 杂牌服务器
去中⼼心化 去权威化 去⾼高富帅
去层级化(简化) 去⾼高富帅
去⾼高富帅
EMC NetApp
HDS
去⾼高富帅 ZFS
去⾼高富帅 去中⼼心化
GlusterFS(Block) Ceph(Block) Swift(Object)
HDFS(Bigdata)
私有云⽅方案 (IBM/HP/Dell/
Cisco/Microsoft)
Openstack去⾼高富帅
Cisco OVS Openflow
失控
失控
失控
服务器
存储
⺴⽹网络
数据库 Oracle
去⾼高富帅 去中⼼心化
MySQL
Hadoop
去⾼高富帅
去权威化
去中⼼心化
KVM
失控
失控
扩张
萎缩 扩张
私有云 公有云
失控
失控
IBM放弃X86业务
失控
加⼊入Openstack基⾦金会
失控
AWS公有云技术
IBM Smart Cloud IBM收购SoftLayer
HP Public Cloud
Microsoft Azure
Oracle Public Cloud
Cisco Public Cloud
VMWare + Carpathia 建⽴立公有云
失控
IaaS失控(≠失败)
PAGE: www.trystack.cn6
ZFS
GlusterFS(Block) Ceph(Block) Swift(Object)
HDFS(Bigdata)
Openstack
OVS Openflow
MySQL
Hadoop
KVM
加⼊入Openstack基⾦金会
AWS公有云技术
IBM Smart Cloud IBM收购SoftLayer
HP Public Cloud
Microsoft Azure
Oracle Public Cloud
Cisco Public Cloud
VMWare + Carpathia 建⽴立公有云
Software-Define Data Center ?
私有云如果被厂商锁定,如何降低成本?
公有云没有Google的高技术团队,如何拥有Google式数据中心?
OpenStack or Non-OpenStack
2~5年之后?
PAGE: www.trystack.cn
Is OpenStack a Product?
8
Yes !
No
OpenStack will never be ready for the enterprise!
It's a technology framework
Yes !
No
PAGE: www.trystack.cn10
⽩白⾦金赞助商APR 2012150
Contributors 2600 个成员
⻩黄⾦金赞助商社区成员APR 20141202
Contributors 15970个成员
OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。
Exponential growth in 2 YR
OpenStack⽣生态
PAGE: www.trystack.cn
OpenStack基⾦金会强⼤大的推动⼒力
12
基⾦金会董事会!代表商业利益!⼀一年选举⼀一次
技术委员会!代表开发者!半年选举⼀一次
⽤用户委员会!代表⽤用户!
由董事会和TC提名
8个!⽩白⾦金会员
8 8 8
18个!黄⾦金会员
18912位!个⼈人会员
83家!企业赞助商
293家!⽀支持机构
3
https://wiki.openstack.org/wiki/Governance
13
143个国家!社区成员
PAGE: www.trystack.cn
https://wiki.openstack.org/wiki/Governance/NewProjects
孵化-集成-核⼼心
逐步完善的社区治理模式
13
PAGE: www.trystack.cn
OpenStack⽣生态系统
集成发布
Graduation
每六个⽉月发布⼀一个新版本 !技术委员会 + 版本发布经理& PTLs
⽀支持系统
孵化项⺫⽬目
Works with projects in
greater Ecosystem
OpenStack项⺫⽬目共享基础设施和资源
Applied & Accepted by TC
版本集成之路 !⼀一般需要18-24 个⽉月才能完成孵化毕业!由技术委员会决定是否通过孵化阶段 来⾃自 TC更迫切的孵化需求
OpenStack 创新模型
14
⼤大量相关开源项⺫⽬目!某些可能会申请成为孵化项⺫⽬目!⼤大多数或许不会申请
PAGE: www.trystack.cn
OpenStack⽣生态系统
集成发布
Graduation
每六个⽉月发布⼀一个新版本 !技术委员会 + 版本发布经理& PTLs
⼤大量相关开源项⺫⽬目!某些可能会申请成为孵化项⺫⽬目!⼤大多数或许不会申请
⽀支持系统
孵化项⺫⽬目
Works with projects in
greater Ecosystem
OpenStack项⺫⽬目共享基础设施和资源
Applied & Accepted by TC
OpenStack 创新模型
15
Staccato Libra
Turbo-hipster Mistral Climate Entropy
Designate Pecan Kite Milk
Graffiti Rubick
Packstack Murano Manila Docker Solum Rally
Barbican Sitori Fuel
开源⽣生态系统
版本集成之路 !⼀一般需要18-24 个⽉月才能完成孵化毕业!由技术委员会决定是否通过孵化阶段 来⾃自 TC更迫切的孵化需求
PAGE: www.trystack.cn
集成发布
⽀支持系统
孵化项⺫⽬目
Compute(Nova)
Object Storage(Swift)
Block Storage(Cinder)
Networking(Neutron)
Dashboard(Horizon)
Image Service(Glance)
Identity(Keystone)
Infrastructure | Docs | Common Libraries | QA | Release Mgmt
Mettering & Monitoring!(Ceilometer)
Orchestration(Heat)
Grizzly Release (April 2013)
Steady Growth
16
PAGE: www.trystack.cn
Hadoop(Savannah) Telemetry(Ceilometer)
Bare Metal(Ironic)Orchestration(Heat)
Messaging(Marconi)
Deployment(TripleO)
Havana Release (Oct 2013)
New
New
Relational DB(Trove)
Compute(Nova)
Object Storage(Swift)
Block Storage(Cinder)
Networking(Neutron)
Dashboard(Horizon)
Image Service(Glance)
Identity(Keystone)
集成发布
⽀支持系统
孵化项⺫⽬目
Infrastructure | Docs | Common Libraries | QA | Release Mgmt
Steady Growth
17
PAGE: www.trystack.cn
Database Service(Trove)Bare Metal(Ironic)
Queue Service(Marconi)
Data Processing(Sahara)
New
Icehouse Release (April 2014)
Telemetry(Ceilometer)
Orchestration(Heat)
Compute(Nova)
Object Storage(Swift)
Block Storage(Cinder)
Networking(Neutron)
Dashboard(Horizon)
Image Service(Glance)
Identity(Keystone)
集成发布
⽀支持系统
孵化项⺫⽬目
Infrastructure | Docs | Common Libraries | QA | Release Mgmt
Steady Growth
18
PAGE: www.trystack.cn
最新的Icehouse
20
Neutron
Cinder
Nova
Horizon
Glance Swift
Keystone
Common UI
Access Control
不是OpenStack项⺫⽬目,但是有助于理解OpenStack组件
间的关系
不是OpenStack项⺫⽬目,但是有助于理解OpenStack组件
间的关系
Heat
Ceilometer
PAGE: www.trystack.cn
发展趋势
• 功能解耦(如:把Nova-Volume 独⽴立成Cinder) • 模块之间通过API通信 • 抽象出通⽤用性的API/Infrastucture (如:Olso项⺫⽬目,原名openstack-common)
• 模块化后端服务(Backends) & 和可适配的外延(drivers , everything’s pluggable)
• IaaS 到PaaS的衍⽣生: Heat/Savana/Trove • 分久必合:Oslo
21
PAGE: www.trystack.cn
国内代码贡献统计
23
总排名企业 名次 Reviews
Huawei 19 2373UnitedStack 21 1994EasyStack 54 240Netease 59 16999cloud 73 92Kylin Cloud 74 85
Juno排名企业 名次 ReviewsHuawei 15 1020UnitedStack 23 368EasyStack 41 13299cloud 53 69Netease 71 29Kylin Cloud 93 9
Icehouse排名企业 名次 Reviews
Huawei 15 1104UnitedStack 21 598EasyStack 33 108Netease 60 38Kylin Cloud 63 3399cloud 75 13
以上统计数据均来⾃自(截⽌止2014年8⽉月):http://stackalytics.com/
PAGE: www.trystack.cn
以华为为例
24
版本 Filed Bugs
Resolved Bugs
Total commits Change Requests
Completed Blueprints
Draft Bluepr
说明Havana 110 58 104 143 2 7 完成了两个Cinder的BPIcehouse 368 201 362 540 4 42 Nova相关4个BPJuno 625 361 673 1,079 27 145 主要涵盖四个模块:Heat、
Nova、Cinder、Ceilometer
以上统计数据均来⾃自(截⽌止2014年8⽉月):http://stackalytics.com/
PAGE: www.trystack.cn
部署拓扑变幻⽆无穷
26
Public Switch 10.10.0.0/24
!CONTROLLER!
!KEYSTONE!
NOVA-COMPONENTS!GLANCE!
NEUTRON-SERVER!CINDER
!NETWORK NODE!
!OVS-AGENT!
DHCP-AGENT!L3-AGENT!
METADATA-AGENT!
!COMPUTE NODE!
!NOVA-COMPUTE!
OVS-AGENT
Private Switch 172.16.0.0/24
OVS OVS
PAGE: www.trystack.cn
⾼高可⽤用看似简单确要经历⻛风⾬雨
27
HTTPAMQPSQL第三⽅方
Nova API
Scheduler
Conductor
Nova Cell
Queue
Nova DB
Nova
Nova
Nova-Compute
Nova HypervisorCompute Node
VM
Network
Router/GW
DHCP/IPAMNetwork Node
Storage
Block Storage Node
Proxy Server
Object Store
Swift
Plugin /Agent Neutron DB
Neutron API
Neutron
Plugin /Agent
Keystone API
Keystone DB
Keystone
Queue
Scheduler
Queue
Heat DB
Heat API
Queue
DB
Ceilometer API
Ceilometer
Cinder API
SchedulerCinder DB
Queue
Cinder Vol Cinder Backup
UI: Horizon / CLI
Cinder
Glance API
Glance Registry
Glance DB
Glance
Agent
Collector
PAGE: www.trystack.cn
⺴⽹网络是奔向SDN还是等待
28
Network
br-int
eth1
br-eth1(veth)
qr-c0bfa11f-ce(tag=1)
qr-c0bfa11f-a1(tag=1)
qr-c0bfa11f-e2(tag=1)
VM
eth1
br-int
br-eth1(veth)
qr-c0bfa11f-ae(tag=1)
qr-c0bfa11f-fe(tag=1)
br-exqr-c0bfa11f-ca
eth2
Router
VLAN TAG
compute node network node
VLAN GRE
VXLAN FLAT
PAGE: www.trystack.cn
!COMPUTE NODE
OVS
phynet gre
br-int
!COMPUTE NODE
OVS
phynet gre
br-int
!COMPUTE NODE
OVS
phynet gre
br-int
VM Traffic Path
29
PAGE: www.trystack.cn
VLAN Bridges
30
!
Router
br-int
br-ex
br-eth1
qr-c0bfa11f-ce(tag=1)
tapcfbfc01f-a1(tag=1)
10.0.0.1
10.0.0.2
eth1
qg-9c24ade1c0-c1
eth2
!
br-int
br-eth1 (veth)
tap99c710cc-ce(tag=1)
tapa98bfce2c-11(tag=1)
eth1vlan100
74.125.31.101
74.125.31.1
74.125.31.254
10.0.0.3
10.0.0.4
veth
PAGE: www.trystack.cn
GRE Bridges
31
!
br-tun
Router
br-int
br-ex
gre-2(remote_ip=“1.1.1.2”)
patch-int (peer=patch-
patch-tun (peer=patch-
qr-c0bfa11f-ce(tag=1)
tapcfbfc01f-a1(tag=1)
★ 10.0.0.1
★ 10.0.0.2
eth11.1.1.1
qg-9c24ade1c0-c1
eth2
!
br-tun
br-int
gre-2(remote_ip=“1.1.1.1”)
patch-int (peer=patch-
patch-tun (peer=patch-
tap99c710cc-ce(tag=1)
tapa98bfce2c-11(tag=1)
eth11.1.1.2
★ 74.125.31.101
★ 74.125.31.1
74.125.31.254
10.0.0.3
10.0.0.4
PAGE: www.trystack.cn
What’s the best choice?
32
VLAN or GRE or other?
controller1compute2compute1
switchinternet
test1 test2 test3Neutron L3
GRE tunnel
VLAN tag
VLAN tag+physical GW
PAGE: www.trystack.cn
部分测试结果
33
930M
bits/s
ec93
5Mbit
s/sec
940M
bits/s
ec94
5Mbit
s/sec
950M
bits/s
ec
5s 10s 15s 20s 25s 30s
946
943
941942
940
942
947
940941 941 941
937
946
943
941 941
943
940
VLAN GRE VLAN+ph_gw
880M
bits/s
ec89
7.5Mbit
s/sec91
5Mbit
s/sec
932.5
Mbits/s
ec950M
bits/s
ec
5s 10s 15s 20s 25s 30s
946 943 941 942 940 942
885 882 884 884 884 884
939 939 938 939 939 939
VLAN GRE VLAN+ph_gw
0Gbit
s/sec
2.25G
bits/s
ec4.5Gbit
s/sec
6.75G
bits/s
ec9Gbit
s/sec
5s 10s 15s 20s 25s 30s
7.698.67
8.09 7.79 7.78 7.886.85
6.056.90
6.42 6.067.13
6.63
8.12 8.20 8.20 7.13 6.89
VLAN GRE VLAN+ph_gw
870M
bits/s
ec88
0Mbit
s/sec
890M
bits/s
ec90
0Mbit
s/sec
910M
bits/s
ec
5s 10s 15s 20s 25s 30s
897893
905 903 905 905
882878
874
882
876
882
894
900 897 899 901 902
VLAN GRE VLAN+ph_gw
PAGE: www.trystack.cn
存储千差万别
34
!CONTROLLER!!
CINDER-API!CINDER-SCHEDULER!
CINDER-VOLUME
!STORAGE01!!
SOLARIS(ZFS)!
!STORAGE02!!
SOLARIS(ZFS)!
!COMPUTE NODE!!
Send/Receive
zfs volume
zfs driver
ssh
shell
VM
iscsi
VM
LVM GlusterFS
ZFS CEPH Other
Storage
PAGE: www.trystack.cn
⽤用ZFS挂载⼀一个云硬盘给虚拟机
35
!CONTROLLER !
CINDER-API CINDER-SCHEDULER
CINDER-VOLUME
!STORAGE01 !
SOLARIS(ZFS)
!STORAGE02 !
SOLARIS(ZFS)
!COMPUTE NODE
Send/Receive
zfs volume
zfs driver
ssh
shell
VM
iscsi
VM
1.nova通过api调⽤用cinder 例如:主机名、iSCSI inititor名字、FC WWPNS
2.cinder-api发送消息给cinder-volume
3.manager检查合法性并调⽤用存储driver
4.volume driver配置客户端调⽤用 例如:计算节点允许访问云盘
5.volume driver返回接⼊入信息 例如:iSCSI iqn and portal, FC WWPN
6.计算节点根据返回信息连接存储
7.计算节点把设备和⽂文件映射给VM
PAGE: www.trystack.cn
安全,下⼀一个热点?
36
203.166.x.x
203.166.x.x
sw-outside
controller1controller2
sw-inside
compute1 compute2 compute3 compute4 compute5 storage1 stroage2
203.166.x.x 203.166.x.x
172.16.x.6/24
172.16.x.7/24
172.16.x.2/24 172.16.x.3/24 172.16.x.4/24 172.16.x.8/24 172.16.x.10/24 172.16.x.5/24 172.16.x.9/24
172.16.x.253/24
172.16.x.252/24
PAGE: www.trystack.cn
如何控制多个节点的内部和外部⺴⽹网络?
37
L3#agent# DHCP#agent�
Vswitch� Network#node
Neutron#Server#
Nova�
Service#node
DB
DB#driver#
####
#######Hypervisor�
VM� VM� VM�
Vswitch�
####
Hypervisor#�
VM� VM� VM�
Vswitch�
Opendaylight##Controller�
port� port�port� port� port� port�
OVSAagent�
OVSAagent�
ipmgr#driver�
ipmgr#driver�
Compute#node Compute#node
FWaaS##agent#ipmgr#driver�
PAGE: www.trystack.cn
企业实施Openstack的意义
• 成本降低: –⽤用开源私有云产品替换商业产品 –⽤用低成本分布式存储替代商业存储 –⾃自动化运维降低⼈人⼯工成本
• 效率提升: –通过虚拟化提⾼高服务器使⽤用效率 –通过按需⽽而⽤用提升资源使⽤用⽅方式 –通过⾃自动化提升运维⽔水平
• 技术沉淀 –传递最佳实践, –掌握开源技术,理解内在原理 –提升团队技术深度,提⾼高服务质量
• ⾃自主可控 –开源技术,代码公开 –灵活的 定制化开发
39
私有云
开源技术
成本降低
效率提升
技术沉淀
最佳实践
社区实践总结
商业实践总结
⾃自主可控
PAGE: www.trystack.cn
⼀一般性架构设计
设计要点: !
其他企业系统
40
⽆无法纳⼊入统⼀一存储的设备可被管理的异构存储设备
统⼀一存储管理设备
X86资源池 Zone A
Openstack 控制节点
X86资源池 Zone B
认证服务器
NTP服务器
块存储服务
镜像存储后端
认证服务
集成
虚拟机镜像
分布式块存储Ceph/GlusterFS
分布式对象存储Swift
HA
备份/⽂文件服务
UNIX资源池
数据库
通信
⾮非X86应⽤用
2
1
6
7
9
3
5
集成
4
8
控制节点实现⾼高可⽤用冗余,未来可根据扩展需要,升级⾄至硬件加速控制节点根据应⽤用(Web/App/DB)或者根据业务等级(Dev/Pre-Prod/PROD)需求,差异化资源池,挖据不同应⽤用特性,在性能、数据安全、容量损耗寻求平衡,根据应⽤用特点提供映像存储模式!计算存储松耦合,⼲⼴广泛企业应⽤用!计算存储紧耦合,⾼高吞吐,如数据应⽤用服务器
整合的异构存储,保护企业投资;应⽤用⾃自扩展,⾼高可⽤用和⾃自迁移
和企业其他既有系统整合和企业其他既有系统整合可根据业务需要,选择扩展⾄至分布式块存储(Block Storeage),利⽤用Ceph/GlusterFS等技术,实现存储开销的降低可根据业务需要,选择扩展是分布式对象存储(Object Storage),利⽤用Openstack的Swift模块实现对象存储,实现存储开销的降低
针对某些⽆无法迁移的的应⽤用(如PowerPC系统),实现Openstack X86的业务环境和它们的融合,实现应⽤用层通信
可根据业务需要,扩展Openstack的⺴⽹网络服务⾄至三层管理,或者配合硬件加速,实现更灵活的软件定义⺴⽹网络(SDN)架构
PAGE: www.trystack.cn
TryStack.cn 参考架构
41
UsersNginx/
HA Proxdy
Nova API
Keystone API
Neutron API
Cinder API
Glance API
Swift Proxy
Compute Manager
Volume Manager
ZFS
KVM Guest images
Host
Swift Storage
PAGE: www.trystack.cn
企业内部测试开发私有云
44
源码版本管理仓库
7.冒烟测试 10.组件测试13.系统测试
16.手工测试
4.构建
制品管理仓库
15.性能测试
1.提交
2.复查
3.检出
5.预发布 6.部署 9.部署 12.部署
15.部署
18.部署
8.晋升 11.晋升
14.晋升
17.晋升
19.发布
收集测试覆盖率
收集流水线状态 拉取测试用例列表
代码质量面板CI 仪表盘
测试用例库
开发人员
评审委员会
配置仓库
PAGE: www.trystack.cn
基于OpenStack技术的公有云
• 构建基于X86服务器的公有云平台,提供公有云服务!
• 提供⼀一整套基于OpenStack公有云解决⽅方案,并上线运营!
• 提供⼀一整套符合公有云服务的⽤用户管理、虚拟机管理、存储管理、⺴⽹网络管理、按需计费的管理系统!
• ⺫⽬目前已对外提供公有云服务,并稳定运⾏行, SLA达到99.9%
45
PAGE: www.trystack.cn
我们为您提供更多的选择
…
虚拟IDC/公有云托管私有云
计算存储融合 � “软件”方案 � Cloud-In-a-Box � (CIB) � Solution
私有云方案
其他X86服务器供应商
一体化的交付方案 – 集网络/计算存储,拥有自主可控核心技术
Web UI
OpenStack
MySQL
RabbitMQ
Web UI
OpenStack
MySQL
RabbitMQ
HA�
OpenFLow
隧道处理
三层网关
安全策略
Nova-compute
VM 1 VM 2 … VM n
iSCSI/ISER target
RDMA Raid
控制节点
SDN 交换机
计算节点
存储节点
……
OpenFLow
隧道处理
三层网关
安全策略
Nova-compute
VM 1 VM 2 … VM n
iSCSI/ISER target
RDMA Raid
SDN交换机
计算节点
存储节点
46
PAGE: www.trystack.cn47
OpenStack企业应⽤用之路
⽂文档更新地址:!http://www.slideshare.net/ben_duyujie/hello-open-stack2014
Thanks
PAGE: www.trystack.cn48
地点、时间(拟定) 09⽉月上旬-北部:北京
09⽉月下旬-东部:上海、南京;
10⽉月上旬-西部:成都、西安;
10⽉月下旬-南部:⼴广州、深圳;
国内企业在应⽤用OpenStack时遇到了哪些问题?
企业应⽤用OpenStack最佳实践;
OpenStack创业团队;
其他您想和⼤大家分享的OpenStack相关内容
OpenStack企业应⽤用之路
2014年中国OpenStack企业⾏行 联系⼈人:[email protected]