DCAM (DDN Cluster Asset Management) 是一个专业的DDN存储集群资产管理系统,用于管理和分析DDN EXAScaler存储系统的配置、容量和状态信息。
- 客户信息维护和管理
- 客户与存储系统的关联管理
- 客户级别的资产统计
- DDN EXAScaler系统配置管理
- TOML配置文件和SFA信息文件的导入处理
- 自动化的OST容量计算和统计
- 支持多种SFA文件格式(IDEA/AION等)
- 智能OST容量提取和计算
- 支持多种容量格式自动识别
- 设备级和集群级容量统计
- 容量趋势分析和报告
- 自动生成集群YAML配置文件
- 网络信息自动提取(InfiniBand/Ethernet)
- 设备序列号和版本信息管理
- 可扩展的配置模板系统
- 上传文件的自动归档和管理
- 按客户和系统分类存储
- 文件版本控制和备份
- 后端框架: Flask (Python)
- 前端技术: Bootstrap + jQuery
- 数据存储: JSON文件数据库
- 文件处理: tarfile, json处理
- 配置管理: YAML/TOML格式支持
- Python 3.7+
- Flask
- PyYAML
- 其他依赖见
requirements.txt
-
克隆项目
git clone https://github.com/your-username/dcam.git cd dcam
-
安装依赖
pip install -r requirements.txt
-
初始化数据目录
mkdir -p data/{customers,systems,backups}
-
启动应用
python app.py
-
访问系统
http://localhost:5000
- 访问
/customers
创建和管理客户信息 - 每个客户可以关联多个存储系统
- 访问
/import
上传TOML配置文件和SFA信息文件 - 系统自动解析并计算容量信息
- 支持的文件格式:
.toml
- EXAScaler配置文件.tar.gz
- SFA信息压缩包
- 系统自动识别OST卷并计算容量
- 支持多种容量格式:
- IDEA系统:
Cap=15.4 TiB
- AION系统:
Capacity='713.8 TiB'
- 直接字节数格式
- IDEA系统:
python generate_cluster_yaml.py --cluster-name <name> <toml_file> --sfainfo <sfa_files...>
dcam/
├── app.py # 主应用程序
├── generate_cluster_yaml.py # YAML配置生成器
├── config.py # 应用配置
├── requirements.txt # Python依赖
├── templates/ # HTML模板
│ ├── index.html # 主页面
│ ├── customers.html # 客户管理
│ ├── new_system.html # 系统创建
│ └── system_detail.html # 系统详情
├── static/ # 静态资源
│ ├── css/
│ ├── js/
│ └── images/
└── data/ # 数据存储
├── customers/ # 客户数据
└── systems/ # 系统数据
- 多格式支持: 自动识别不同SFA文件格式
- 容量计算: 精确的OST卷容量统计
- 错误处理: 完善的解析错误提示
- 自动归档: 上传文件按客户/系统分类存储
- 版本管理: 支持同一系统的多次导入
- 路径规范:
data/customers/{customer}/{system}/uploads/
- IDEA系统: 支持传统的Cap字段格式
- AION系统: 支持新的Capacity字段格式
- 向后兼容: 保持对旧格式的完整支持
export FLASK_ENV=development
python app.py
推荐使用 Gunicorn + Nginx 部署:
# 安装 Gunicorn
pip install gunicorn
# 启动服务
gunicorn -w 4 -b 0.0.0.0:5000 app:app
详见 DEPLOYMENT.md
文件。
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 提交 Pull Request
- v1.0.0 - 初始版本,基本的客户和系统管理功能
- v1.1.0 - 添加容量自动计算功能
- v1.2.0 - 支持AION系统格式,文件归档管理
- v1.3.0 - 完善容量解析逻辑,支持多种SFA格式
本项目采用 MIT 许可证 - 详见 LICENSE 文件
- 项目维护者: DDN Team
- 问题反馈: 请使用 GitHub Issues
本系统专为 DDN EXAScaler 存储系统设计,支持:
- SFA系列: SFA400NVX2E, SFA7990XE 等
- EXAScaler版本: 5.x, 6.x 系列
- 网络接口: InfiniBand, Ethernet
- 文件系统: Lustre OST/MDT 管理
如有技术问题,请参考 DDN 官方文档或联系技术支持。