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.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). 网络拓扑图¶
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地址,打开工具后会默认扫描一次局域网,也可通过刷新按钮 手动扫描,根据软件界面中呈现的BMC管理系统IP地址列表项,点击ACTIONS下相应的 图标即可打开外部浏览器并进入相应IP地址的BMC管理系统登录页面。
BMC系统初始用户名:admin 密码:admin,点击
登录
按钮,进⼊默认的设备列表页⾯。
2.2.2. (2). 设备列表¶
登录后默认进入设备列表页面。任何时候需要访问设备列表页面,点击左边工具栏上的 图标即可进入:
这是集群服务器所有设备的列表,每个卡片代表一块设备。
设备列表页面的左上角,有两个下拉列表:
(1). 设备:可以过滤需要显示的设备,这在设备比较多的情况下很有用。
(2). 离线设备:仅供快速查看离线设备的列表。
往下看,这是服务器提供的外设接口图(仅R1 有此面板):4个网口,双层USB,HDMI,OTG,Sim Card,磁盘;
U:LAN 表示:上方黄色的LED灯的亮/灭对应着该设备的网络状态;
D:WORK 表示:下方绿色的LED灯的亮/灭对应着该设备的工作状态;
每个设备卡片,根据状态有不同的显示:
当设备可以通过 adb 访问,并进入正常的操作系统:
卡片顶部左边以绿色字样显示“设备可用”状态,后跟设备的当前操作系统,右边显示的是软件操作系统的版本和硬件版本(硬件版本仅 R2 有);
左边的图标表示核心板的 CPU 型号(CPU 核数和最高频率)、DDR 内存(4G) 和 eMMC 容量(32G);
“sub04”: 表示设备的 SUB 编号;
:点击该按钮进入 Shell 终端窗口;
:点击该按钮进入该设备的资源明细终端窗口;
:点击该按钮重置设备电源;
卡片右边第二行显示该设备的主网络接口的 IP 地址及连接速率,鼠标悬停时会显示所有网络接口地址和速率(目前仅主板有多个网络接口);
四个方块图分别显示 CPU、内存和磁盘的使用率,以及 CPU 的温度。
当设备处于离线状态,即设备由于物理移除、固件失效或操作系统异常等原因导致与主板的 usb 通讯失效时:
卡片顶部以橙色字样显示“设备不可用”状态;
:点击该按钮重置设备电源。
当设备处理维护状态,即设备处于系统升级模式(
loader
)、固件升级系统(netrecovery
)、安卓急救模式(android_recovery
)或 ADB 离线(android_offline
),将会显示:卡片顶部以黄色字样显示“设备维护”状态,后跟设备的明细状态。
设备信息均为空,维护状态下不采集监控数据。
:点击该按钮重置设备电源。
2.2.3. (3). 仪表盘列表¶
在设备列表或其它仪表盘页面中,点击最左上角的仪表盘名称:
可以查看更多的仪表盘:
目前有以下仪表盘:
设备概览
设备明细
CPU 频率与温度监控
在仪表盘页面中,右上角的工具条,可以选择浏览时段,以及多长间隔自动更新。下图就显示最近 6 小时的数据,并每 5 秒更新一次。
点击 按钮可手工刷新监控数据页面显示。
2.2.3.1. A. 设备概览¶
通过仪表盘列表,或点击左边工具栏上的 图标即可进入设备概览页面:
设备概览页面将所有设备的 CPU、内存、磁盘和网络这四项数据集中显示在一起:
鼠标悬停在曲线图上即可显示设备的明细数值。
右上的“告警列表”,当 CPU、内存和磁盘超过红色警戒线一段时间,即触发告警动作,例如发送邮件等(此项功能需配置相关参数,待加说明)。
右下的“设备列表”,列出所有在线设备的结点名称和 IP 地址,方便查看。鼠标点击即可查看该设备的设备明细页面。
2.2.3.2. B. 设备明细¶
有以下几种方法可以进入设备明细页面:
设备列表页面中点击设备卡上的 按钮;
设备概览页面中点击右边设备列表上的表格项;
通过仪表盘列表进入。
设备明细页面,提供资源的详细监控数据,用户可以选择其中一个设备来查看其详细的资源使用情况。
左上的结点下拉选择框可以切换设备的明细显示,IP 地址即为该设备的所有网络接口的 IP 地址(仅作信息显示之用):
右边的快速工具条,点击即可打开该设备的 Shell 终端窗口:
利用右边的滚动条往下翻,可见更多的监控项:
2.2.3.3. C. CPU频率与温度监控¶
CPU 频率与温度监控页面用作开发阶段比对 CPU 频率与 SOC、GPU 温度的关系,看是否会因为风扇散热性能不足导致温度持续上升,进而导致 CPU 强制降频。
RK3399 有 6 个 CPU 核心,分别是小核 0~3, 大核 4~5。一般观测大核即可,因为页面空间原因,同一时间只显示一个核心。通过上部的下拉条可以切换核心显示:
2.2.4. (4). Shell终端窗口¶
有以下几种方法可以进入设备的 Shell 终端窗口:
点击设备列表页面中点击设备卡上的 按钮;
点击设备明细页面右上角的快速工具条
主板的 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
目录里。
点击左边工具栏上的 图标即可进入子板固件升级页面:
点击右上角的按钮 进入“新增子板固件升级”页面:
选择升级固件,在下拉列表中选择即可。
选择升级设备:左边是可用的设备列表,右边则是待升级的设备列表。
若要升级所有的设备,按“添加全部”按钮,可将所有的可用设备添加到右边的列表中。
若要升级一两个设备,直接鼠标双击对应的设备,可将单个设备添加到右边的列表中。
设备列表上方的编辑框是做筛选之用,可快速筛选出需要的设备。
按“删除全部”按钮,可清空待升级的设备列表。
Ctrl+鼠标点击,可以增加或删除单个设备的选择;Shift+鼠标点击则可以增加或删除连续设备的选择。这跟 Windows 上的列表选择操作是一致的。选择设备后,按相应的“添加”或“删除”按钮即可将设备添加或移除到待升级的设备列表。
按“升级固件”按钮,即可开始固件升级。
刚提交的页面是这样的:
固件的升级时间较长(涉及到后台一系列切换和读写操作),请耐心等待。后台是隔 15 秒刷新一次进度,界面会显示如下的进度页面:
左边是升级设备和进度列表。
右上是升级进度折线图。
右下即是已完成的设备列表(包括成功和出错的)。
2.2.7. (7). BMC 升级¶
鼠标移至左下角的帮助图标:
在弹出菜单中选择“检查更新”。如果 BMC 有新版本,将会弹出对话框,并显示更新日志:
点击对话框右上角的“安装”按钮,系统将会自动下载安装包、安装并自动刷新界面。
2.3. 3. 其它使用说明¶
2.3.2. (2). 变砖急救方法¶
如果Cluster Server R2系统严重损坏无法正常使用,有2种方法:
2.3.2.1. (2.1). 使用SD card制作升级卡重装系统¶
Cluster Server R2预留的SD卡接口(后视图的7号标签)除了可以用来读写SD卡之外,还可以用来在紧急情况下烧写系统。
插入SD卡到SD卡槽(后视图的7号标签)
重新开机或主机在上电状态下按下复位按键,进入main core启动并进入烧写模式
烧写完成后立即拔出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卡。
2.3.2.2. (2.2). 通过另外一台服务器升级(需拆机不推荐使用)
¶
拆除main core的核心板,将该核心板当做另外一台Cluster Server R2的子板,通过BMC软件升级相应的主板固件程序
关闭主机电源
按压了蓝色卡扣,拔出主核心板抽屉(后视图标签2风扇模组的正下方底部抽屉),取出main core的核心板
将核心板放人另外一台Cluster Server R2的子板抽屉,进入BMC软件服务进行系统烧写
升级完成后重新安装回主核心板抽屉(后视图标签2风扇模组的正下方底部抽屉)的main core位置,插入抽屉(注意要完全插入否则无法开机)
接上电源,正常启动系统。
2.3.3. (3). 子板ADB丢失处理方法¶
子板ADB连接丢失一般有这3种情况:
USB通信链路异常
子板ADB服务异常
子板系统崩溃
常规处理方法:
复位子板所在USB HUB的电源,恢复无效则执行2操作(可能会造成更多子板ADB丢失,建议执行操作2)
使用BMC管理系统来重置子板电源,恢复无效则执行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分析