配置文件说明
ISV用户可以根据不同的底板对配置文件(device_config.json)的进行相应修改,从而实现边缘管理系统可以识别该外部设备,并可以展示外部设备信息。同时支持对外部设备存储进行分区创建、删除、挂载与解挂等操作。
配置文件
配置文件路径为“{project_dir}/src/app/add_extend_device”,代码目录结构如下所示。
├── device_config.json // 外设配置文件 └── validate_device_config.py // 外设配置校验脚本
{ "primary_partitions": [ 1, 2, 3, 4, 5 ], "usb_id": "0bda:5411", "extend_info": { "u-disk": [ # 外设类别名 { "platform": "a5080000.hiusbc1", "location": "usb2", "name": "u-disk2" }, # 单个设备配置 { "platform": "a5100000.hiusbc2", "location": "usb1", "name": "u-disk1" }, { "platform": "a5180000.hiusbc3", "location": "usb0", "name": "u-disk0" } ], "eMMC": [ { "platform": "82000000.sdhci0", "location": "eMMC1", "name": "eMMC" }, { "platform": "82010000.sdhci1", "location": "SDIO1", "name": "SD-card" } ], "DISK": [ { "platform": "a6000000.sata", "device": "0:0:0:0", "location": "PCIE-0", "name": "disk m.2" }, { "platform": "a6000000.sata", "device": "1:0:0:0", "location": "PCIE-1", "name": "disk0" }, { "platform": "a6000000.sata", "device": "2:0:0:0", "location": "PCIE-2", "name": "disk1" } ], "ethnet": [ { "platform": "a7100000.xge0", "location": "PORT1", "name": "eth0" }, { "platform": "a7200000.xge1", "location": "PORT2", "name": "eth1" } ] } }
参数名 |
参数说明 |
---|---|
primary_partitions |
含义:启动盘的系统主分区 类型:列表 取值:默认1~5;最多配置16个分区 说明:配置该参数后,通过查询磁盘分区集合信息、查询磁盘详细信息、删除磁盘分区等接口均查不到配置列表中的分区,可避免误删。 |
usb_id |
含义:USB HUB的厂商ID和产品ID 类型:字符串 取值:以0bda:5411为例,0bda是USB HUB的厂商ID,5411是USB HUB的产品ID,用于USB HUB异常检测 说明:可执行lsusb命令获取,若配置错误,可能导致不停触发USB HUB异常告警。 |
extend_info |
含义:外设扩展与匹配信息 类型:字典 取值:u-disk、eMMC、DISK、ethnet 说明:字典的键表示设备类型,字典的值为设备的外设配置信息列表。 |
platform |
含义:设备在/sys/devices/platform中的子目录名 类型:字符串 说明:边缘管理系统根据此参数的值查找系统中是否存在对应的设备。 |
device |
含义:/sys/block/设备名/device链接指向的目录名 类型:字符串 说明:类似DISK类型的外部设备,当platform名字一样时则无法区分出不同的DISK。此时,需要将对应设备的/sys/block/设备名/device链接指向的目录名配置到device参数,以供边缘管理系统查找对应设备。 |
location |
含义:页面展示的位置信息 类型:字符串 取值:建议按照物理位置配置location的取值,例如USB设备取值为usb1 说明:不同设备的该项配置不能重复,需要保证location取值的唯一性。 |
name |
含义:FusionDirector展示用的设备名 类型:字符串 取值:支持大小写字母,数字、其他字符(-_.)和空格;建议按照物理类型和物理位置编号取值,例如USB设备取值为usb1 说明:若配置不符合取值要求,可能导致外部设备信息查询失败。 |
配置说明
在Linux系统中,/sys/devices/platform目录下存储了系统中所有的平台信息。设备的详细信息可通过该目录下的子目录进行查询。每个子目录的名称代表了一个平台设备的名称,以Atlas 500 A2 智能小站为例:
- 子目录名称包含hiusb的表示USB设备
- 子目录名称包含sdhci表示eMMC存储设备
- 子目录名称为a6000000.sata表示sata盘
- 子目录名称包含xge的表示网卡设备
以上除了sata类型的存储盘,均能通过platform下的子目录名称关联出对应的物理设备,例如a5080000.hiusbc1关联了位置为usb2的插口,如图图1所示,82010000.sdhci1关联了位置为SD卡插口。sata类型的需要根据盘的具体路径信息关联对应设备,即/sys/block/存储设备盘符名/device目录(软连接)指向的目录名,0:0:0:0表示M.2,1:0:0:0表示disk0,2:0:0:0表示disk1。
扩展存储告警
OM SDK支持扩展存储设备的部分告警,包含硬盘温度过高、硬盘寿命到期预警、硬盘不在位、硬盘访问阻塞以及USB Hub异常。如果开发者期望使用OM SDK提供的扩展存储告警检测功能,需要配置device_config.json文件,存储设备的取值为u-disk、eMMC、DISK;硬盘(DISK)相关的location和device字段取值范围为(location=PCIE-0,device=0:0:0:0)、(location=PCIE-1,device=1:0:0:0)和(location=PCIE-2,device=2:0:0:0),分别表示M.2,DISK0和DISK1。如果开发者期望新增扩展存储的其他告警,可以参考自定义告警章节进行操作。