跳转到主要内容

读写二进制FRU文件

项目描述

FRU工具是一个命令行实用程序,用于生成和转换IPMI FRU二进制数据文件。

描述

计算机或电子设备的每个现代组件,通常称为现场可更换单元或FRU,都包含一个存储该组件库存信息的内存块。这包括制造商的名称、产品名称、制造日期、序列号和其他有助于识别组件的详细信息。

英特尔FRU信息存储定义了IPMI规范中设备应在其FRU区域遵守的标准格式。每个组件供应商在其制造过程中填充FRU区域,并且所有FRU区域都可以通过IPMI轻松访问。

戴尔EMC PowerEdge服务器的OEM FRU存储功能是一个额外的FRU区域,允许使用戴尔EMC服务器作为其解决方案组件的OEM客户,在FRU存储区域中包含自己的跟踪信息。这些信息可以在工厂部署期间加载到服务器中,并在需要故障排除或支持时访问。这允许OEM客户在服务器中存储自己的零件编号和库存信息,使其能够在其内部管理系统内跟踪其解决方案。这与戴尔EMC服务器使用标准FRU区域存储跟踪信息(如服务标签和制造日期)的方式类似,并在现场识别和支持这些系统时使用这些信息。

考虑到FRU区域是二进制有效载荷,手动构建内容结构并非易事。为了简化OEM客户的努力,提供了这个Python工具以加快创建有效载荷的过程。

虽然FRU工具专门编写来支持这个OEM用例,但它符合英特尔规范,可以用于为任何设备构建FRU结构。

先决条件

FRU工具经过测试,与Python 3.8及以上版本兼容。

为了在目标服务器上写入、读取或编辑OEM FRU存储区域,需要开源的IPMItool工具或等效工具。此工具可以通过使用内置的包管理器(如yum或apt-get)安装到Linux发行版上。戴尔EMC提供Windows版本,可在戴尔EMC支持下的系统管理部分的任何PowerEdge服务器上的驱动程序和下载部分找到。它包含在名为Dell OpenManage BMC Utility的软件包中,您也可以通过在Google上搜索该软件包名称来找到它。有关IPMItool的文档,请通过Google搜索“man ipmitool”。

安装

安装很简单,只需运行python -m pip install fru即可。

使用说明

FRU工具包含一个名为frutool的命令行界面。您可以使用以下任一方法运行,具体取决于您的路径配置

frutool

python -m fru

这些命令是等效的。为了方便,以下命令以frutool运行。

生成示例文本文件

要创建一个完整但为空的文本文件,请运行frutool sample命令

frutool sample EDITABLE.txt

(将EDITABLE.txt更改为符合您需求的任何文件名。)

然后您可以在任何编辑器中打开文本文件并编辑其内容。请注意,文件格式是TOML;基本格式说明包含在示例文件的顶部作为注释。

将二进制FRU文件转换为文本

要将二进制FRU文件转换为可编辑的文本文件,请运行frutool dump命令

frutool dump FRU.bin EDITABLE.txt

(将FRU.binEDITABLE.txt更改为符合您需求的任何文件名。)

然后您可以审查和编辑文本文件。

将文本文件转换为二进制FRU文件

要将文本文件转换为二进制FRU文件,请运行frutool generate命令

frutool generate EDITABLE.txt FRU.bin

(将EDITABLE.txtFRU.bin更改为符合您需求的任何文件名。)

然后您可以使用ipmitool将二进制FRU文件写入硬件系统。

ipmitool -I lanplus -H $IP_ADDRESS -U root -P password fru write FRU.bin

有关OEM FRU功能的详细使用信息和用例,请参阅戴尔OEM FRU白皮书

贡献

为了贡献,请随意分支项目,并提交包含所有更改及其描述的拉取请求,说明添加或删除了什么以及原因。如果获得批准,项目所有者将合并它。

许可

FRU工具在MIT许可下免费分发。

支持

请在此项目的GitHub问题页面上提交错误和问题。代码和文档发布时没有保证或SLA,并旨在通过社区驱动的过程获得支持。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分布

fru-4.1.0.tar.gz (14.1 kB 查看哈希值)

上传时间

构建分布

fru-4.1.0-py3-none-any.whl (14.9 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页