Files
dell-fans-controller-docker/README.md
lkddi 91fadb7274 更新README.md文档
- 重新撰写完整的README文档
- 包含项目简介、使用方法、工作原理、技术实现等详细信息
- 添加故障排除和安全说明
2025-12-02 19:22:18 +08:00

154 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dell风扇控制器
## 项目简介
Dell风扇控制器是一个自动化工具通过IPMI接口监控Dell服务器的温度并自动调节风扇转速。本项目基于原项目 joestar817/dell-fans-controller-docker 进行了大量改进和功能增强。
### 主要特性
- **精准温度监控**通过IPMI接口获取服务器进出口、CPU等关键温度数据
- **智能转速控制**:根据温度自动调节风扇转速,平衡散热效果和噪音
- **网络容错能力**:具备强大的网络连接容错机制,能处理网络波动
- **多架构支持**:支持 AMD64 和 ARM64 架构,兼容多种平台
- **自动构建部署**:通过 GitHub Actions 自动构建和推送 Docker 镜像
## 使用方法
### 1. 准备工作
在开始使用之前,请确保:
1. 登录iDRAC管理界面并启用IPMI服务
2. 确保网络能够访问iDRAC管理接口
3. 准备好iDRAC的用户名和密码
### 2. Docker运行
```bash
# 基本运行命令
docker run -d --name=dell-fans-controller \
-e HOST=YOUR_IDRAC_IP \
-e USERNAME=YOUR_USERNAME \
-e PASSWORD=YOUR_PASSWORD \
--restart always \
lkddi/dell-fans-controller:latest
```
### 3. 配置参数
| 环境变量 | 说明 | 默认值 |
|---------|------|--------|
| HOST | iDRAC管理接口IP地址 | 10.10.11.11 |
| USERNAME | iDRAC用户名 | root |
| PASSWORD | iDRAC密码 | ddmabc123 |
## 工作原理
### 温度控制策略
系统会监控服务器的多个温度传感器,取最高温度值作为控制依据:
| 温度范围(℃) | 风扇转速(%) | 说明 |
|------------|------------|------|
| 0-50 | 15 | 静音模式 |
| 50-55 | 20 | 低速运行 |
| 55-60 | 30 | 中速运行 |
| 60-65 | 40 | 高速运行 |
| >65 | 自动模式 | 由iDRAC自动调节 |
### 智能控制机制
- **模式切换**:系统在手动模式和自动模式间智能切换
- **转速监测**:实时监测当前风扇转速,避免不必要的调整
- **状态跟踪**:记录和跟踪风扇模式和转速设置历史
## Docker镜像
### 支持的架构
- AMD64 (x86_64)
- ARM64 (aarch64)
### 镜像仓库
- Docker Hub: `lkddi/dell-fans-controller:latest`
- Harbor: `harbor.ay.lc/library/dell-fans-controller:latest`
### 自动构建
项目通过 GitHub Actions 实现了自动构建和部署:
- 每次推送代码到master分支时自动构建新镜像
- 支持多架构镜像构建
- 自动推送至Docker Hub和Harbor仓库
## 技术实现
### 核心功能
1. **精确的温度读取**使用正则表达式解析IPMI传感器数据准确提取温度值
2. **RPM到百分比转换**通过校准数据建立RPM与风扇转速百分比的准确转换关系20% = 4800 RPM
3. **网络容错机制**
- 5次重试机制
- 60秒超时设置
- IPMI会话建立失败的特殊处理
- 10秒重试间隔
### 配置选项
- 运行间隔每60秒检查一次温度并调整风扇转速
- 网络超时60秒超时限制
- 重试机制5次失败后停止
## 部署示例
### Proxmox VE (PVE)
```bash
docker run -d --name=dell-fans-controller \
-e HOST=192.168.1.100 \
-e USERNAME=root \
-e PASSWORD=calvin \
--restart always \
lkddi/dell-fans-controller:latest
```
### 群晖NAS
在群晖的Docker应用中
1. 搜索并下载 `lkddi/dell-fans-controller` 镜像
2. 创建容器并设置环境变量
3. 启用自动重启选项
## 安全说明
- 项目使用IPMI协议与服务器通信需要相应的管理权限
- 建议使用专用的IPMI管理账户
- 定期更新镜像以获得安全补丁
## 故障排除
### 常见问题
1. **连接失败**检查网络是否能访问iDRAC接口
2. **认证失败**:确认用户名和密码正确
3. **权限不足**确保账户有IPMI控制权限
### 日志查看
```bash
docker logs dell-fans-controller
```
## 免责声明
手动调整服务器风扇转速可能带来过热风险,使用本项目前请充分了解风险并做好数据备份。对于使用本项目引发的任何问题,作者概不负责。
## 贡献
欢迎提交 Issue 和 Pull Request 来改进项目。
## 许可证
该项目遵循原项目的开源协议。