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 R2 (9刀)

    _images/wps97.png

    _images/wps98.png

    _images/wps99.png

《旧款集群服务器 Cluster Server R2 (6刀 不维护)实物图》

2.1.2. (2). 按键说明

  • 1. POWER LED x2 电源状态指示灯:分别对应主机左右(正面图)2个电源,电源正常为绿色,电源异常或缺失则相应位置的LED为红色。

  • 2. BMC LED 主板状态指示灯:主机main主板正常进入系统后亮起。

  • 3. FAN LED x2 风扇状态指示灯:风扇正常为绿色,风扇转速异常或没接入风扇模块则相应位置的LED为红色,并响起蜂鸣器提示声。

  • 4. UID LED UID指示灯: 按下UID按键(背面图的10号键)后常亮,便于机房维护人员使用。

  • 5. NET LED x2 交换机状态显示灯,正常为绿色,交换机异常或没有接入则相应位置的LED为红色。

  • 6. POWER KEY 电源按键:按下按键不松开,听到蜂鸣器提示声,等提示声消失后立即松开按键(持续时间为3s)。详情可查看开关机操作。

  • 7. RESTART KEY 复位按键: 按下复位键,main板强制重启。

2.1.3. (3). 网络拓扑图

_images/R2_netword_topology_diagram.png

2.1.4. (4). 开关机

  • 正常开机: 在主机关机状态下,按下POWER KEY不松开,持续几秒。

  • 正常关机: 在主机开机状态下,按下POWER KEY不松开,并听到蜂鸣器提示声,持续3s,主机确认关机状态后蜂鸣器提示声消失,立即松开按键。主机进行正常关机。

  • 强制关机(一般情况下不建议使用): 在主机开机状态下,按下POWER KEY不松开,并听到蜂鸣器提示声,持续5s,主机强制断电。

实现正常关机的条件是main core安装的linux系统,并安装了firefly-sr-service-*.deb,出厂固件默认已安装。

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 R2系统严重损坏无法正常使用,有2种方法:

2.3.2.1. (2.1). 使用SD card制作升级卡重装系统

Cluster Server R2预留的SD卡接口(后视图的7号标签)除了可以用来读写SD卡之外,还可以用来在紧急情况下烧写系统。

  1. 制作sd升级卡

  2. 插入SD卡到SD卡槽(后视图的7号标签)

  3. 重新开机或主机在上电状态下按下复位按键,进入main core启动并进入烧写模式

  4. 烧写完成后立即拔出SD卡,系统自动重新启动(升级后的第一次启动略慢,大约比正常启动多30s)。

可以任选一种以下方法来确认是否进入烧写模式:

  • 透过风扇模组(后视图便签2)可以看到,主机内部main core位置会有黄灯闪烁

  • Console(后视图标签12)接入串口(波特率为115200)会打印烧写信息

  • 接入Mini HDMI,会显示烧写信息

可以任选一种以下方法来确认是否烧写完成:

  • 透过风扇模组(后视图便签2)可以看到,主机内部main core位置会有黄灯停止闪烁,并常亮

  • Console(后视图标签12)接入串口(波特率为115200)看到Please remove SD CARD!!!, wait for reboot.提示信息后立即拔出SD卡。

  • 接入Mini HDMI,会显示烧写信息,看到Please remove SD CARD!!!, wait for reboot.提示信息后立即拔出SD卡。

_images/wps98.png

2.3.2.2. (2.2). 通过另外一台服务器升级(需拆机不推荐使用)

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

  1. 关闭主机电源

  2. 按压了蓝色卡扣,拔出主核心板抽屉(后视图标签2风扇模组的正下方底部抽屉),取出main core的核心板

  3. 将核心板放人另外一台Cluster Server R2的子板抽屉,进入BMC软件服务进行系统烧写

  4. 升级完成后重新安装回主核心板抽屉(后视图标签2风扇模组的正下方底部抽屉)的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分析