Direction
和 Name
的定義Direction
字段的含義Direction
字段用於定義風扇轉速閾值觸發的方向,常見的值包括:
"less than"
:當風扇轉速小於設定值時觸發。"greater than"
:當風扇轉速大於設定值時觸發。"equals"
:當風扇轉速等於設定值時觸發。Name
字段的含義Name
字段用於標識閾值的類型,以便在監控和日誌記錄中直觀區分不同的狀態,常見的值包括:
"lower critical"
:下臨界閾值。"upper critical"
:上臨界閾值。"lower non-critical"
:下非臨界閾值。"upper non-critical"
:上非臨界閾值。"normal"
:正常狀態。要確定 Direction
和 Name
的正確字串值,建議參考以下資源:
具體步驟如下:
config.json
或相關配置文件。OpenBMC 使用 JSON Schema 來定義配置文件的結構和允許的值。以下是一些範例配置:
{
"Thresholds": [
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 800.0,
"Hysteresis": 100
},
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 500.0,
"Hysteresis": 100
}
]
}
在此範例中:
"Direction": "greater than"
表示當值大於 800.0 時觸發。"Name": "upper critical"
指定這是上臨界值。通常,風扇配置文件位於 /usr/share/phosphor-fan-presence/control/fans.json
。在文件中新增或修改閾值配置,例如:
{
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 500.0,
"Hysteresis": 100
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 800.0,
"Hysteresis": 100
}
]
}
修改完成後,使用以下命令來驗證配置文件是否正確:
# 檢查 JSON 格式
jq . /usr/share/phosphor-fan-presence/control/fans.json
如果沒有錯誤,重新啟動相關服務以應用更改:
# 重新啟動 fan-presence 服務
systemctl restart fan-presence
為了確保系統的穩定性和互操作性,應使用 OpenBMC 和 Redfish 規範中定義的標準化值,避免使用自定義字串。
可以參考其他廠商或平台的 fan.json
配置範例,理解常見的配置模式和最佳實踐。
隨著 OpenBMC 的更新,定期檢查和更新配置文件,以確保它們與最新的代碼庫和文檔保持一致。
若需添加新的閾值類型,應遵循現有的命名慣例,確保新類型與 D-Bus 接口和 Redfish 規範一致。例如,如果要添加「中等警告」閾值,可以使用以下配置:
{
"Direction": "greater than",
"Name": "upper warning",
"Severity": 2,
"Value": 700.0,
"Hysteresis": 50
}
Severity
的意義是什麼?Severity
字段用於指示閾值觸發的嚴重程度,數值越小表示越嚴重。例如:
Hysteresis
?Hysteresis
用於防止閾值頻繁觸發,設置一個延遲值。例如,當閾值被觸發後,必須超過一定的 Hysteresis
值後,才會再次觸發。
假設需要設定一個上臨界值,以確保風扇在轉速過高時能夠自動降低速度,保護硬體。配置如下:
{
"Thresholds": [
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 1000.0,
"Hysteresis": 150
}
]
}
解析:
"Direction": "greater than"
:當轉速大於 1000.0 時觸發。"Name": "upper critical"
:標識這是上臨界值。"Severity": 1
:表示這是一個臨界警告,需立即響應。"Hysteresis": 150
:設置觸發後需要超過 150 的轉速才會再次觸發,以防止頻繁響應。同樣地,若需設定下臨界值以確保風扇不會運行過慢,配置如下:
{
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 300.0,
"Hysteresis": 50
}
]
}
解析:
"Direction": "less than"
:當轉速小於 300.0 時觸發。"Name": "lower critical"
:標識這是下臨界值。"Severity": 1
:表示這是一個臨界警告,需立即響應。"Hysteresis": 50
:設置觸發後需要低於 50 的轉速才會再次觸發。jq 是一個輕量級且靈活的命令行 JSON 處理器,可用於驗證和格式化 JSON 文件:
# 檢查 JSON 格式
jq . /usr/share/phosphor-fan-presence/control/fans.json
在修改配置文件後,需要重啟相關服務以應用更改:
# 重新啟動 fan-presence 服務
systemctl restart fan-presence
字段 | 可能的值 | 描述 |
---|---|---|
Direction |
"less than" |
當風扇轉速小於閾值時觸發 |
Direction |
"greater than" |
當風扇轉速大於閾值時觸發 |
Direction |
"equals" |
當風扇轉速等於閾值時觸發 |
Name |
"lower critical" |
下臨界閾值 |
Name |
"upper critical" |
上臨界閾值 |
Name |
"lower non-critical" |
下非臨界閾值 |
Name |
"upper non-critical" |
上非臨界閾值 |
Name |
"normal" |
正常狀態 |
在 OpenBMC 中配置 fan.json
文件時,正確理解並設置 Direction
和 Name
字串至關重要。通過查閱相關的官方文檔、代碼庫以及遵循最佳實踐,可以確保配置的準確性和系統的穩定運行。定期檢查和更新配置文件,並利用工具和命令來驗證和應用更改,將有助於維持系統的健康和性能。