Firefly集群服务器产品WIKI

1. 产品介绍

1.1. 1. 产品简介

Firefly集群服务器是一款高密度ARM核心板卡的集群服务器。服务器采用机架式服务器规格设计,核心板卡基于Rockchip芯片平台。通过Firefly的创新设计和软件支持,使得集群服务器在云手机、边缘计算等多领域具有良好的适应性。Firefly集群服务器经过多个软硬件版本迭代,现已经具有完善合理的软硬件系统支持,并且具有以下特色:

  • 高密度核心:

R1版集群服务器为1U规格,支持集成11个独立核心板卡。

R2版集群服务器为2U规格,支持集成72个独立板卡。

  • 核心板卡可配置

根据业务场景的需求,集群服务器的核心板卡可以选择不同的规格。并且也支持不同规格板卡混插。如云手机、AI运算、区块链运算等,都可以选用不同规格的核心板卡。

  • 核心板软件系统独立

集群服务器各个核心板卡可独立运行Android/Linux 操作系统。单个核心板故障不会导致整个服务器宕机。

  • BMC可视化管理系统

通过集群服务器的BMC管理单元,可以实现用户在web浏览器对核心板卡的监测、配置、系统更新等操作。

  • 热插拔设计

集群服务器的电源单元、子核心板单元、网络单元、温控单元、扩展存储单元均采用热插拔设计,可以有效降低服务器的部署和维护工作。

  • 冗余设计

集群服务器的电源管理单元和网络管理单元采用冗余设计,可以应对部分电源和网络的突发故障。

  • 温控设计

集群服务器集成温控单元,通过监测服务器内环境温度和核心温度,可以有效调节散热风扇工作状态,优化服务器的整体性能和稳定性。

1.2. 2. 产品规格

1.2.1. (1). 技术规格

型 号 Cluster Server R1 Cluster Server R2
核心板卡数 11 72 (热插拔设计)
构 架 ARM架构 ARM架构
操作系统 支持Android、Ubuntu、Linux操作系统 支持Android、Ubuntu、Linux操作系统
网 络 1GE千兆RJ45网口4个其中:主核心板网口1个,普通网口3个 双网卡冗余设计,单网卡集成:千兆网口(RJ45)×2、万兆网口(SFP+)×2BMC网络接口
4G 4G/LTE/5G网络(可选配) 不支持
显 示 1×Mini HDMI 2.0,4K@60Hz(控制主板显示) 1×Mini HDMI 2.0,4K@60Hz(控制主板显示)
扩展存储 3.5寸STAT硬盘 3.5寸STAT硬盘 / SD卡
USB 2个USB2.0 HOST1 个 Type-C(处理器核心板调试用) 1 × USB3.0 HOST
电 源 300W AC电源(输入:100V AC~240V AC) 双路冗余电源设计 :AC 100~240V 50/60Hz,1300W / 800W 可选
散 热 散热片 +5个高速散热风扇 散热片 + 2组风扇模组: 风扇模组1(3×2冗余风扇设计)、风扇模组2(2×2冗余风扇设计)
UID UID按键×1
硬件看门狗

1.2.2. (2). 子板规格

型 号 Cluster Server R1 Cluster Server R2
节点数 一体化1U服务器 9个刀片节点
每个节点都能配置8个处理器核心板
节点9可用于安装2个3.5寸SATA/SSD硬盘
核心数 最高可配置11个处理器核心板 最高可配72个处理器核心板
核心板 RK3399(AI)核心板(Core-3399-JD4)
RK3328核心板(Core-3328-JD4)
RK1808(AI)核心板(Core-1808-JD4)
RK3588核心板(Core-3588SJD4)
RK3399(AI)核心板(Core-3399-JD4)
RK3328核心板(Core-3328-JD4)
RK1808(AI)核心板(Core-1808-JD4)
RK3588核心板(Core-3588SJD4)
内 存 1GB / 2GB / 4GB 1GB / 2GB / 4GB
存 储 eMMC
3.5英寸硬盘
1个SATA/SSD硬盘
eMMC
3.5英寸SATA/SSD硬盘位x2(节点9)
SD卡 x1

说明: Firefly后期会持续推出更高性能,更大内存的的核心子板,支持8 / 16G内存

1.2.3. (3). 物理规格

型 号 Cluster Server R1 Cluster Server R2
尺 寸 标准1U机架式:490mm x 390mm x 44.4mm 标准2U服务器机箱:580mm x 434mm x 88.8mm
重 量 服务器主机:5.8kg 包装总重:7.2 kg 包装总重量:29 kg

1.2.4. (4). 环境规格

型 号 Cluster Server R1 Cluster Server R2
工作温度 0ºC - 40ºC 0ºC - 50ºC
工作湿度 8%RH~95%RH 10%RH~80%RH

2. 使用说明

2.1. 1. 整机说明

2.1.1. (1). 实物图

  • 集群服务器 Cluster Server R1

    _images/wps102.png

    _images/wps103.png

2.1.2. (2). 网络拓扑图

_images/R1_netword_topology_diagram.jpg

2.1.3. (3). 开关机

  • 正常开机: 接上电源线。

  • 正常关机: 断开电源。

2.2. 2. BMC管理系统

BMC管理系统是一套运行集群服务器BMC管理单元上的软件系统,BMC管理单元是一块使用RK3399作为主控芯片的控制板(以下简称主板),主板运行Ubuntu 18.04系统,通过网络和USB接口与集群服务器内其它核心板(以下简称子板)进行数据交互,实现对集群服务器各个核心板卡的监测和管理。其软件栈的组成为:

  • node_exporter: 运行在主板和子板上,负责收集设备的监控数据。

  • Prometheus: 运行在主板上,负责收集和存储各个设备的监控数据。

  • Grafana: 运行在主板上,负责监控图表的集中显示。

该方案的优点是,由主板统一布署 node_exporter 到各个设备上(子板的操作系统可以是 Android 或 Ubuntu),以直观的图表方式显示各个子板的资源使用状况。

2.2.1. (1). 登录

  • 外接HDMI显示器:

通过集群服务器的HDMI接口接显示器,接入鼠标键盘,可以登入BMC管理单元Ubuntu系统,打开系统浏览器,在地址栏输入 http://127.0.0.1:3000 并回车即可访问,⽆需任何配置。

  • 使用BMC扫描工具:

通过BMC扫描工具可获取同一局域网内所有的BMC管理系统IP地址,打开工具后会默认扫描一次局域网,也可通过刷新按钮 _images/wps1.jpg 手动扫描,根据软件界面中呈现的BMC管理系统IP地址列表项,点击ACTIONS下相应的 _images/wps2.jpg 图标即可打开外部浏览器并进入相应IP地址的BMC管理系统登录页面。

_images/wps40.png

  • BMC系统初始用户名:admin 密码:admin,点击登录按钮,进⼊默认的设备列表页⾯。

_images/wps4.png

2.2.2. (2). 设备列表

登录后默认进入设备列表页面。任何时候需要访问设备列表页面,点击左边工具栏上的 _images/wps5.jpg 图标即可进入:

_images/wps6.png

这是集群服务器所有设备的列表,每个卡片代表一块设备。

设备列表页面的左上角,有两个下拉列表:

_images/wps7.jpg

(1). 设备:可以过滤需要显示的设备,这在设备比较多的情况下很有用。

(2). 离线设备:仅供快速查看离线设备的列表。

往下看,这是服务器提供的外设接口图(仅R1 有此面板):4个网口,双层USB,HDMI,OTG,Sim Card,磁盘;

_images/wps8.jpg

U:LAN 表示:上方黄色的LED灯的亮/灭对应着该设备的网络状态;

D:WORK 表示:下方绿色的LED灯的亮/灭对应着该设备的工作状态;

每个设备卡片,根据状态有不同的显示:

  1. 当设备可以通过 adb 访问,并进入正常的操作系统:
    _images/wps9.jpg

    • 卡片顶部左边以绿色字样显示“设备可用”状态,后跟设备的当前操作系统,右边显示的是软件操作系统的版本和硬件版本(硬件版本仅 R2 有);

    • 左边的图标表示核心板的 CPU 型号(CPU 核数和最高频率)、DDR 内存(4G) 和 eMMC 容量(32G);

    • “sub04”: 表示设备的 SUB 编号;

    • _images/wps10.jpg:点击该按钮进入 Shell 终端窗口;

    • _images/wps11.jpg:点击该按钮进入该设备的资源明细终端窗口;

    • _images/wps12.jpg:点击该按钮重置设备电源;

    • 卡片右边第二行显示该设备的主网络接口的 IP 地址及连接速率,鼠标悬停时会显示所有网络接口地址和速率(目前仅主板有多个网络接口);

    • 四个方块图分别显示 CPU、内存和磁盘的使用率,以及 CPU 的温度。

  2. 当设备处于离线状态,即设备由于物理移除、固件失效或操作系统异常等原因导致与主板的 usb 通讯失效时:
    _images/wps13.jpg

    • 卡片顶部以橙色字样显示“设备不可用”状态;

    • _images/wps14.jpg:点击该按钮重置设备电源。

  3. 当设备处理维护状态,即设备处于系统升级模式(loader)、固件升级系统(netrecovery)、安卓急救模式(android_recovery)或 ADB 离线(android_offline),将会显示:
    _images/wps14_1.jpg

    • 卡片顶部以黄色字样显示“设备维护”状态,后跟设备的明细状态。

    • 设备信息均为空,维护状态下不采集监控数据。

    • _images/wps14.jpg:点击该按钮重置设备电源。

2.2.3. (3). 仪表盘列表

在设备列表或其它仪表盘页面中,点击最左上角的仪表盘名称:

_images/wps15.jpg

可以查看更多的仪表盘:

_images/wps16.jpg

目前有以下仪表盘:

  • 设备概览

  • 设备明细

  • CPU 频率与温度监控

在仪表盘页面中,右上角的工具条,可以选择浏览时段,以及多长间隔自动更新。下图就显示最近 6 小时的数据,并每 5 秒更新一次。

_images/wps17.jpg

点击 _images/wps18.jpg 按钮可手工刷新监控数据页面显示。

2.2.3.1. A. 设备概览

通过仪表盘列表,或点击左边工具栏上的 _images/wps19.jpg 图标即可进入设备概览页面:

_images/wps20.png

设备概览页面将所有设备的 CPU、内存、磁盘和网络这四项数据集中显示在一起:

  • 鼠标悬停在曲线图上即可显示设备的明细数值。

  • 右上的“告警列表”,当 CPU、内存和磁盘超过红色警戒线一段时间,即触发告警动作,例如发送邮件等(此项功能需配置相关参数,待加说明)。

  • 右下的“设备列表”,列出所有在线设备的结点名称和 IP 地址,方便查看。鼠标点击即可查看该设备的设备明细页面。

2.2.3.2. B. 设备明细

有以下几种方法可以进入设备明细页面:

  1. 设备列表页面中点击设备卡上的 _images/wps21.jpg 按钮;

  2. 设备概览页面中点击右边设备列表上的表格项;

  3. 通过仪表盘列表进入。

_images/wps22.png

设备明细页面,提供资源的详细监控数据,用户可以选择其中一个设备来查看其详细的资源使用情况。

左上的结点下拉选择框可以切换设备的明细显示,IP 地址即为该设备的所有网络接口的 IP 地址(仅作信息显示之用):

_images/wps23.png

右边的快速工具条,点击即可打开该设备的 Shell 终端窗口:

_images/wps24.jpg

利用右边的滚动条往下翻,可见更多的监控项:

_images/wps25.png

2.2.3.3. C. CPU频率与温度监控

CPU 频率与温度监控页面用作开发阶段比对 CPU 频率与 SOC、GPU 温度的关系,看是否会因为风扇散热性能不足导致温度持续上升,进而导致 CPU 强制降频。

_images/wps27.png

RK3399 有 6 个 CPU 核心,分别是小核 0~3, 大核 4~5。一般观测大核即可,因为页面空间原因,同一时间只显示一个核心。通过上部的下拉条可以切换核心显示:

_images/wps28.jpg

2.2.4. (4). Shell终端窗口

有以下几种方法可以进入设备的 Shell 终端窗口:

  1. 点击设备列表页面中点击设备卡上的 _images/wps29.jpg 按钮;

  2. 点击设备明细页面右上角的快速工具条 _images/wps30.jpg

_images/wps31.png

主板的 Shell 终端窗口是主板 Ubuntu 系统下的 root shell,拥有超级用户的权限,可以执行各种系统维护命令,以及通过 adb 去操作各个子板。

子板的 Shell 终端窗口是 adb shell,可以运行 su 命令切换成 root 用户。

为方便管理,Firefly 集群监控系统引进命令行管理工具 bmc,能快速地进行各种日常子板操作和批量操作,详情请参见《bmc 命令行工具》一章。

2.2.5. (5). 子板固件升级

准备工作:

  • 重要: 主板和要升级的子板都需要获得有效的 DHCP IP 地址,请务必插好网线。

  • 集群服务器的 OTG USB 口与外部 PC 机的连接必须断开。

  • 固件需要以 “.img” 扩展名结尾,并放到主板的 /home/firefly/Firmware 目录里。

点击左边工具栏上的 _images/wps32.jpg 图标即可进入子板固件升级页面:

_images/wps33.png

点击右上角的按钮 _images/wps34.jpg 进入“新增子板固件升级”页面:

_images/wps35.png

  • 选择升级固件,在下拉列表中选择即可。

  • 选择升级设备:左边是可用的设备列表,右边则是待升级的设备列表。

    • 若要升级所有的设备,按“添加全部”按钮,可将所有的可用设备添加到右边的列表中。

    • 若要升级一两个设备,直接鼠标双击对应的设备,可将单个设备添加到右边的列表中。

    • 设备列表上方的编辑框是做筛选之用,可快速筛选出需要的设备。

    • 按“删除全部”按钮,可清空待升级的设备列表。

    • Ctrl+鼠标点击,可以增加或删除单个设备的选择;Shift+鼠标点击则可以增加或删除连续设备的选择。这跟 Windows 上的列表选择操作是一致的。选择设备后,按相应的“添加”或“删除”按钮即可将设备添加或移除到待升级的设备列表。

  • 按“升级固件”按钮,即可开始固件升级。

刚提交的页面是这样的:

_images/wps36.jpg

固件的升级时间较长(涉及到后台一系列切换和读写操作),请耐心等待。后台是隔 15 秒刷新一次进度,界面会显示如下的进度页面:

_images/wps37.jpg

  • 左边是升级设备和进度列表。

  • 右上是升级进度折线图。

  • 右下即是已完成的设备列表(包括成功和出错的)。

2.2.6. (6). 修改密码

鼠标移到左下角用户头像,在弹出菜单中选择“修改密码”:

_images/wps38.jpg

输入旧密码、新密码和确认新密码,最后按“修改密码”按钮即可。

2.2.7. (7). BMC 升级

鼠标移至左下角的帮助图标:

_images/wps38_1.jpg

在弹出菜单中选择“检查更新”。如果 BMC 有新版本,将会弹出对话框,并显示更新日志:

_images/wps38_2.jpg

点击对话框右上角的“安装”按钮,系统将会自动下载安装包、安装并自动刷新界面。

2.3. 3. 其它使用说明

2.3.1. (1). 恢复出厂设置

在终端输入以下命令:

sudo recovery reset

系统进入恢复模式进行恢复出厂设置,大约30s后会自动重启进入系统。

2.3.2. (2). 变砖急救方法

如果Cluster Server R1系统严重损坏无法正常使用,有2种方法但都要拆除机盖:

2.3.2.1. (2.1). 使用typer-C线连接PC重装系统

Cluster Server R1如果main core系统崩溃了,需要拆机进入recovery模式升级。

  1. 断开电源

  2. 拆除顶部机箱盖板

  3. 用type-C数据线连接Cluster Server R1和PC

  4. 按下main core的recovery按键不松开,主机上电,保持5s后可松开按键

  5. 进行在线升级 参考

2.3.2.2. (2.2). 通过另外一台服务器升级

拆除main core的核心板,将该核心板当做另外一台Cluster Server R1的子板,通过BMC软件升级相应的主板固件程序

  1. 关闭主机电源

  2. 打开机箱盖,取出main core的核心板

  3. 将核心板放人另外一台Cluster Server R1的子板的卡槽中,上电进入BMC软件服务进行系统烧写

  4. 升级完成后掉电取出核心板,重新安装回原来Cluster Server R1的main core卡槽位置

  5. 接上电源,正常启动系统。

2.3.3. (3). 子板ADB丢失处理方法

子板ADB连接丢失一般有这3种情况:

  • USB通信链路异常

  • 子板ADB服务异常

  • 子板系统崩溃

常规处理方法:

  1. 复位子板所在USB HUB的电源,恢复无效则执行2操作(可能会造成更多子板ADB丢失,建议执行操作2)

  2. 使用BMC管理系统来重置子板电源,恢复无效则执行3操作

  3. 使用BMC管理系统给该子板重新安装系统

2.3.4. (4). openstf

BMC固件已经安装了openstf,但是因为资源占用问题默认关闭openstf,如果想开启服务可以输入以下命令:

sudo systemctl start openstf

注意:安卓10目前不支持openstf

3. 应用场景

3.1. 1. 云手机

Firefly集群服务器的每一个核心板卡都可以独立运行一个Android系统。用户可以将自己的手机应用部署到每个核心板上。针对云手机应用场景,Firefly集群服务器增加了以下功能。

3.1.1. (1). 虚拟硬件设备

包括虚拟摄像头、虚拟声卡等。专业技术支持和更详细资料请联系商务。

  • 虚拟摄像头

智能设备在没有安装摄像头或不能安装摄像头的情况下,会导致需要打开摄像头的应用无法使用;而Firefly的虚拟摄像头技术案例可在Firefly集群服务器上虚拟出多个摄像头,通过虚拟摄像头,用户可把准备好的视频文件/图片等加载进去,让这些虚拟摄像头输出这些图像信息。

  • 虚拟声卡

众所周知在没有声卡的设备上播放音频、视频文件,会出现“没有找到音频设备…”“由于声音,设备出现问题…”等等提示而不能播放。而Firefly的虚拟声卡技术案例可在Firefly集群服务器上虚拟出声卡,可以让没有声卡的设备播放音频文件,而不会因为提示没有设备而不能播放。

3.1.2. (2). NFS,iSCSI网络存储

Firefly 集群服务器上(包括android,linux系统)提供NFS,iSCSI网络存储方案,实现存储资源统一管理。专业技术支持和更详细资料请联系商务。

  • NFS

NFS( Network File System,网络文件系统),对于在同一个网络上的多个用户间共享目录和文件很有用途。通过使用NFS,用户和程序可以像访问本地文件一样访问远程系统上的文件。

  • iSCSI

iSCSI( Internet Small Computer System Interface,Internet小型计算机系统接口)。iSCSI使用了TCP/IP协议(一般使用TCP端口860和3260),透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN(存储局域网)模拟成为本地的储存装置。可以使用它来连接服务器计算机 (例如,数据库服务器)和磁盘卷上存储阵列。较NFS其读写效率、稳定性更好。

3.1.3. (3). 虚拟Android系统

虚拟Android系统是指在一个Soc中,利用容器和虚拟设备技术,虚拟出多个Android系统,每个Android系统之间独立运行。对于用户而言,如果一个子核心板虚拟三个Android设备,那么一个集群服务器最多可以虚拟216个Android设备。虚拟Android系统在应用程序测试、社交媒体运营等邻域有着广泛的应用。

3.2. 2. 云计算

Firefly集群服务器的子核心板有多种配置(参见)。其中RK3399采用双核A72+4核A53架构,集成MaliT860P4 GPU。而RK1126采用RK最新一代NPU架构,AI算力最高可达3T。所以使用Firefly集群服务器作为云计算平台,也是很合适的。针对云计算平台,Firefly集群服务器增强了以下功能支持。

3.2.1. (1). Ubuntu Minimal系统支持

Ubuntu系统在工作环境搭建,部署,更新等环节都非常方便。Firefly集群服务器子核心板搭载的Ubuntu Minimal系统,具有以下优势:

  • 没有桌面环境,占用资源少,在简化网络管理之后,只需40M内存;

  • 针对嵌入式平台,精简系统服务。

  • 提供基于Rockchip VPU + Mpp 的视频硬编解码支持。

  • 提供基于Arm Mali GPU的OpenGL、OpenCL支持。

  • 适配QT、Docker、Electron等开发框架。

  • 提供一系列接口,以操作板载资源设备。

  • 系统采用overlayfs文件系统,支持导出rootfs,二次打包,恢复出厂设置等功能

3.2.2. (2). 多路IPC解码+AI推理

​ Firefly集群服务器,核心板搭配方案采用RK3399 + RK1808 x N,实现了多路网络视频流解码与AI分析。该方案中,集群服务器连接多路网络摄像头进行视频数据采集,利用RK3399强大的视频解码功能对采集到的视频流解码后分发给AI加速芯片RK1808完成AI分析;然后再收集AI分析的结果,实时输出到用户端。

详细介绍参见:多路视频解码与AI分析