随着“中兴事件”不断升级,引起了国人对国产自主可控技术的高度关注;本人作为所在单位的运维工程师,也希望能找到一个稳定、能兼容国产CPU的一整套架构方案,来构建IaaS平台和PaaS平台,满足单位对安全自主可控的需求。要基于全国产方式解决公司业务需求至少要在软硬件层面满足,而国内基本都是基于x86解决方案,想找到满足需求的国产化解决方案还是非常困难的事情。但笔者由于一个偶然的机会,接触到了国产的芯片厂商和云计算厂商,并得知他们已经实现了全国产化的云计算平台,笔者也亲自动手体验了安装部署该云计算平台,并在其之上安装部署了容器平台,以下是笔者的分享。
第一节 基于国产CPU的服务器
纵观国内能用于商用国产CPU服务器也没几家真实能用的;有的是基于3B1500国产商用28纳米8核处理较高主频达1.5GHz;通过多方查阅相关资料目前性能无法满足云平台需求,而且还不支持虚拟化。
一个偶然机会参加2018年贵州大数据博览会,参会过程中发现一个有意思的事情,就是在阿里云展台看到国产云平台+国产芯片宣传字样。
于是上前跟现场的工作人员进行简单的沟通,了解到国产CPU是由华芯通设计开发,这颗芯片内置48颗物理核心,单核心2.6GHz,64Bit、 支持虚拟化!没想到这颗CPU居然支持虚拟化,看来距离我的想法又进一步,起码已经有硬件可以实现了。还了解到目前已经有国产云平台具备商用环境;名字叫ZStack for Alibaba Cloud,据工作人员介绍目前已有业务系统运行在基于华芯通CPU的云平台上,云平台就是ZStack。热心的工作人员带我去华芯通的专柜进行详细参观。
看到实物那一刻,我发现这个跟x86架构的服务器区别并不大,之前一直以为它是一个类似路由器这样的小盒子。没想到ARM服务器工艺已和x86服务器自造工艺无太大差别。
第二节 国产云平台
1、哪些云平台支持国产CPU架构?
ZStack作为国内为数不多的自研云平台,根据官网信息已发布基于国产CPU架构的版本,那么完全可以实现基于国产CPU架构来构建国产云平台。
ZStack架构:
这架构图摘自他们的产品白皮书,从架构上看整个逻辑还是比较清晰,各组件依赖度并不高,不会因为管理控制节点故障而影响业务系统。经过仔细研究ZStack架构发现以下特点:
◆ 全异步架构:异步消息、异步方法、异步HTTP调用
◆ 无状态服务:单次请求不依赖其他请求
◆ 无锁架构:一致性哈希算法。
◆ 进程内微服务:微服务解耦。
再看看ZStack的功能架构图:
从图里可以发现,服务之间的交互统一走消息队列,整个拓扑结构不再紧密,实现星状的架构,各服务之间只有消息的交互,服务之间基本独立,添加或者删除某个服务不会影响整个架构(只会失去某些功能)。
回到文章的主题上,了解到以上信息后,我们决定使用华芯通CPU+ZStack国产化云平台来实现容器平台管理方案敲定后,接下来就是走借测流程。
通过之前展会联系的华芯通负责人帮忙,在等了2、3个星期之后,机器寄到了单位。
上图是他们的工程机,但做工已经非常精细,完全不输给主流大厂的X86服务器。接下来先部署云平台,之前提到的ZStack是国产化云计算平台的先行者,核心引擎也是完全开源的,笔者通过ZStack的官方网站(http://www.zstack.io/product/enterprise/),下载了他们的iso系统,并根据用户手册的图文教程做了烧录,不得不说,整个文档做的非常清晰,很快就完成了准备工作,下面就按照文档进入安装过程。
2、安装云平台
2.1启动ARM服务器,从U盘启动
通过Console连接看到如下一些信息,这是ARM服务器在进行自检。
直到出现以下信息:
按Delete或者ESC建进入BIOS设置。
2.2 ARM服务器BIOS基本设置
2.2.1修改时间
2.2.2快速选择引导设备
选择引导设备后按回车键,快速引导。
2.2.3使用基于VNC方式安装ZStack
当选择引导设备后,将进入启动项选择界面,如下图所示:
选择using VNC模式进行引导启动;
选择usingVNC模式引导启动,即可实现通过VNC图形模式进行安装;
表示启动VNC服务,并自动从DHCP工具获取IP地址同时自动分配默认VNC端口5901;当出现这个界面即可使用VNC viewer客户端进行连接。
2.2.4安装设置
A、选择安装模式
目前ZStack For ARM有3种安装模式分别对应为:
◆ 企业版管理节点模式
◆ 计算节点模式
◆ 专家模式
可根据实施规划进行选择部署,选择建议:
◆ 如果在实施方案中将管理节点独立,则刚安装时应选择管理节点模式;
◆ 如果用承载云主机,则安装模式为计算节点;
根据实际情况选择好对应的安装模式,然后点击Done按钮;
B、配置磁盘分区:
选择磁盘:
选择用于安装ZStack的系统盘。
配置分区:
自动分区。
下面就分区模式进行说明:
分区模式有UEFI 模式和Legacy模式两种,应与BIOS设置的引导模式一致。
UEFI 模式
/boot:创建分区 1GB
/boot/efi:创建分区 500MB
swap(交换分区):创建分区 32GB
/(根分区):配置剩下容量
网络设置:
选择需要修改的网卡,点击Configure按钮进行配置;
设置密码并开始安装:
各模式安装部署步骤都大同小异,官网可以直接下载用户手册。安装完后的Web UI,非常简洁大方,整个安装过程超级简单,以前一直都是使用OpenStack的,而这回使用ZStack 不到30分钟部署成功,1个小时内3个节点全部部署成功,还顺带初始化了环境。
安装部署结束后,可以看到还有网络拓扑功能
安装总结:
底层硬件是ARM服务器,云平台底层也是基于ARM64位的系统。安装部署超级方便,管理控制层与业务层完全独立,就是说如果管控节点宕掉,根本就不影响业务系统的正常运行,这一点是OpenStack无法实现的。在测试过程中尝试各种断电关机测试,整个平台运行依然不受影响,稳定性非常高。目前在ZStack For ARM 云平台上轻松跑了16个ARM架构的云主机。