openSeaChest 是一个由 Seagate Technology 发起的、基于开源 MPL 协议的跨平台存储管理项目,旨在解决不同硬件平台和操作系统环境下存储设备管理的需求。
项目概述
- 问题:当前缺乏高度便携、安全且非中断的软件栈来管理集成在多样化硬件平台和操作系统中的存储设备。
- 解决方案:开发一个用 C 语言编写的开源项目,作为基于 T10/T13/NVMe 行业标准的存储产品工具和库集合,实现设备诊断和管理。
关键特性
- 用例驱动:支持电源管理、擦除、日志等功能。
- 硬件支持:兼容 SATA/SAS/NVMe 直接连接。
- 操作系统支持:支持 Windows、Linux、FreeBSD、Solaris 和 VMware;ARM 架构适用于 Linux/Windows,其他架构(如 MIPS)适用于 Linux。
- 轻量级与便携性:基于可定制的 opensea-* 库构建。
主要用例
- 配置与部署:如配置、PIUI 物理速度、缓存等。
- 擦除:快速擦除、清理、修剪等。
- 格式化:PI 信息、格式化单元、快速格式化等。
- 通用测试:Butterfly 测试、2 分钟直径测试、用户范围测试等。
- 电源管理:EPC/APM、电源转换等。
- SMART 管理:SMART 属性、DST、缺陷列表、修复缺陷等。
- 日志管理:日志列表、GPL/SMART、模式页面等。
架构设计
- 可能的扩展:支持 GO、Python、C#、Java 等语言。
项目统计
- 代码量:110K 行代码。
- 提交次数:1000+ 次提交。
行动号召
- 开发自有应用:基于 openSeaChest 构建自定义应用。
- 扩展支持:开发 Python/Ruby/Go 等语言的扩展。
- UEFI 传输层支持:支持大端模式。
- 参考资料:
- GitHub 仓库:https://github.com/Seagate/openSeaChest
- API/库 GitHub 仓库:https://github.com/Seagate
- 启动 Linux USB 钥匙:https://apps1.seagate.com/downloads/certificate.html?key=381195785857