StarlingX介绍
2018年5月, Intel和风河宣布将其电信云/边缘云的商业产品Titanium Cloud中的部分组件开源, 命名为StarlingX, 并提交给OpenStack Foundation管理。
风河Titanium Cloud最初构建在OpenStack等开源组件上, 然后对其进行扩展和加固, 以满足关键的基础设施需求, 包括: 高可用性、故障管理和性能管理,可用于NFV电信云、边缘云、工业物联网等场景。
StarlingX是一款高性能的电信云/边缘云软件, 最初版本代码基于风河的商业软件Titanium Cloud R5产品,开源以后代码采用Apache2许可证。
除了提供传统的OpenStack服务, StarlingX代码功能还包括额外的增强管理:
高可用服务管理, 进程监控
单独的故障管理服务
节点、裸金属、硬件管理
安装、配置管理
软件管理, 包括补丁, 升级, 备份和恢复
StarlingX代码发布策略: 2018年10月将发布第一个正式版本, 从2019年起, 每年将发布3个版本。另外, 每个月第2周会发布一个测试版本。目前从git log上来看, 参与的人数还比较少,处于起步阶段。
官网: https://www.starlingx.io
wiki: https://wiki.openstack.org/wiki/StarlingX
git库: https://git.openstack.org/cgit/openstack/stx
https://github.com/starlingx-staging
gerrit:https://review.openstack.org/#/admin/projects/?filter=stx
StarlingX整体架构
2.1 StarlingX软件架构
StarlingX基于现有OpenStack等开源软件(有部分增强和扩展, 详情见各软件代码log: https://github.com/starlingx-staging), 并加入对配置、故障、节点、软件、服务、基础设施的管理,使整个系统更加稳定和易于管理。
下图展示了StarlingX控制节点、计算节点、存储节点的组件架构:
图2-1 StarlingX节点组件架构 - 控制节点
图2-2 StarlingX节点组件架构 - 计算节点
图2-3 StarlingX节点组件架构 - 存储节点
2.2 StarlingX物理节点架构
从下图来看, StarlingX的节点/组网结构和普通的OpenStack没有太大区别。
在标准配置下, 包括:
2个HA的控制节点集群
2-100个计算节点
2-9个CEPH (可选)
计算节点采用了DVR分布式路由
Cinder后端可采用LVM或者CEPH
Glance后端可采用文件系统或者CEPH
Swift后端只支持CEPH
图2-4 StarlingX节点和组网架构
2.3 StarlingX的可扩展性
单台服务器部署:
控制、计算、网络、存储功能部署在同一台节点上
不支持HA
2台服务器部署:
每台服务器上运行控制、计算、网络、存储功能
计算、网络、存储采用双机HA方式
多台服务器部署:
2台HA控制节点集群
2-100台计算节点
2-9台可选的CEPH存储节点集群
计算节点上运行DVR分布式路由
图2-5 StarlingX节点部署的可扩展性
2.4 StarlingX和分布式云/边缘计算
StarlingX支持分布式云,可用来支持边缘计算场景。 其主要功能有:
基于OpenStack多region概念
中心region通过分布式管理器(dc-manager)统一对各子云进行管理、配置、故障聚合、软件升级/patching等
边缘region将会通过3层网络/REST API和中心region通信
边缘云运行精简过的控制平面
图2-6 StarlingX - 多region分布式架构
StarlingX主要新组件介绍
除了OpenStack等开源社区的组件, StaringX项目新增的组件主要有以下6个:
配置管理
主机管理
服务管理
软件管理
故障管理
基础设施管理
另外, StarlingX会对使用到的开源项目, 如: CEPH, CentOS, OpenStack等做增强和扩展, 这些代码最终将会回馈给社区。
图2-7 StaringX主要组件
3.1 配置管理
可进行资产配置和节点配置:
安装
自动发现新节点
管理安装参数 (控制台、根磁盘等)
通过xml文件批量配置节点
具备安装进度条
资产发现
CPU/核, SMT, 内存、大页信息
GPU, 加解密/压缩硬件, LLDP邻居信息
节点配置
节点角色, 角色配置
CPU核, 内存(包括大页)分配, dpdk
网络接口和存储配置
批量节点配置
用户界面
支持REST API, Horizon界面和命令行
另外, 可通过puppet进行配置
3.2 主机管理
管理主机的生命周期
自动发现主机故障, 并恢复
监控、告警和恢复。包括: 网络连接、进程问题、接口状态、资源利用率、硬件故障、主机看门狗等等
主机带外重启、上电、下电、硬件传感器监控
发布主机状态给其它组件
可通过REST API进行主机管理
3.4 软件管理
提供软件升级功能
可以对整个软件的各层次升级/打补丁, 从kernel层一直到openstack的各服务层
所有节点软件可以并行更新
已在线的服务如果打了patch需要进行重启
提供详细的补丁状态信息, 包括节点层和系统层
支持滚动升级(Rolling Upgrade)
自动处理数据库schema变更和转换
提供REST API, Horizon界面和命令行
3.5 基础设施编排
管理和编排VM HA能力
自动恢复故障虚拟机实例
生成实例告警和日志信息
可对节点的软件升级和打补丁进行编排
支持REST API, Horizon界面和命令行
3.6 故障管理
提供一个故障管理的框架软件服务
可通过客户端/REST API对故障管理软件进行配置、清空、查询告警、日志等事件。并可通过SNMPv2c Trap进行信息发布
可在Horizon界面上显示告警信息列表
故障信息覆盖: 节点、虚拟机、网络、存储等等
StarlingX代码结构
StarlingX代码托管位置: https://git.openstack.org/cgit/?q=stx
StarlingX未来发展和总结
StarlingX未来将会朝着容器化方向发展, 将会把openstack等组件做在容器中, 并可使用K8S来管理。从功能上来看, StarlingX在系统HA、性能调优、软件管理、故障监控方面有很好的参考价值, 很适合OpenStack开发人员研究。
StarlingX安装方法
以Ubuntu 16.04 LTS 64-bit为例:
6.1 更新操作系统
# sudo apt-get update
6.2 安装stx-tools工具项目
# cd $home
# git clone git://git.openstack.org/openstack/stx-tools
6.3 安装依赖包
# cd $HOME/stx-tools/deployment/libvirt/# bash install_packages.sh
6.4 制作StarlingX的ISO镜像
可参考https://wiki.openstack.org/wiki/StarlingX/Developer_Guide进行镜像制作。
注意:
下载依赖包时, 由于众所周知的原因, 国内访问有问题, 所以最好设置http代理下载, 或者使用国外虚拟机上进行镜像制作。
通过源码编译、打包成RPM包, 这个过程很长, 笔者的虚拟机上跑了约12个小时, 请耐心等待
编译各RPM源代码时使用了linux的mock隔离环境, 其log位置在
/localdisk/loadbuild/user/starlingx/std/results/user-starlingx-tis-r5-pike-std/XXX包名/build.log
如果碰到报错:
ERROR: Command failed: 09:08:15 # mount -n -t tmpfs -o mode=0755 -o nr_inodes=0 -o size=5g mock_chroot_tmpfs /localdisk/loadbuild/user/starlingx/std/mock/b1/root
可以尝试修改:
/usr/lib/python2.7/site-packages/mockbuild/plugins/tmpfs.py
self.optArgs += ['-o', 'nr_inodes=500000]
6.5 复制镜像到bootimage.iso
# cp $HOME/stx-tools/deployment/libvirt/bootimage.iso
6.6 关闭防火墙
# sudo ufw disable
Firewall stopped and disabled on system startup
# sudo ufw status
Status: inactive
6.7 通过ISO镜像启动, 并按照提示进行安装StarlingX, 详情请参考:
https://wiki.openstack.org/wiki/StarlingX/Installation_Guide_Virtual_Environment/Simplex
关于“Linux宝库”微信公众号:
欢迎关注"Linux宝库"微信公众号,这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生。
-END-
-责任编辑 王鹏-