Note. 이 방법은 HPE에서 권장하는 방법이 아님
Note. 이 방법을 사용 시, 발생하는 문제에 대하여 사용자의 책임이 있음 / 워런티 보증에 제약이 발생할 수 있음
HPE 서버에 인증되지 않은 3rd Party 장치를 추가하는 경우, 예상보다 높은 팬 동작에 따른 팬 소음이 발생할 수 있다.
이는 HPE 시스템에 호환되지 않는 부품에 의해 시스템의 온도가 관리되지 않는 상황(Overheating)을 예방하기 위해 필요 수준의 최대 냉각을 자동으로 하기 때문이다. (Working as Designed)
그럼에도 불구하고, 업무 상에 반드시 필요한 하지만 HPE와 호환 인증을 받지 않은 장치들을 사용해야 하는 경우가 있을 수 있겠다.
기본적으로는 업무 상황에 맞는 특별한 ROM을 개발하여 적용해야 하겠으나, 사실상 쉽지 않을 것으로 예상된다. (실질적인 볼륨/이익 측면 등 여러 조건이 검토될 것으로 추정됨)
조치 방안은
1. 인증/호환되지 않은 장치를 제거 (이래서 될 것 같으면 ...)
2. curl과 RESTful API를 통해 팬 가동에 제약을 설정
아래 명령을 통해 FAN의 동작 제한을 지정할 수 있음 (0~ 50)
Note. 0: 제약 없음 - 냉각에 필요한 (최대/적정) 냉각 수행
Note. 50: 최대 제약 - 냉각에 필요한 수치에서 50%의 제약
(냉각을 위해 80%의 팬 동작이 필요한 상황에서 50%의 제약을 걸면 40%로 동작하게됨)
Note. 영구 적용이 아니어서 리부팅 시 다시 실행해야 함.
Linux:
# curl --request PATCH --url 'https://<ILO IP>/redfish/v1/Chassis/1/Thermal/' --user 'Administrator:<PASS>' --header 'content-type: application/json' --insecure --data '{"Oem": {"Hpe": {"FanPercentAdjust": 50}}}'
Windows:
C:\> curl --request PATCH --url "https://<ILO IP>/redfish/v1/Chassis/1/Thermal/" --user "Administrator:<PASS>" --header "content-type: application/json" --insecure --data "{\"Oem\": {\"Hpe\": {\"FanPercentAdjust\": 10}}}"
응용편: 시작프로그램에 등록하기 위해 배치 파일 생성
Set-iLOFanSpeed-OnStartup.bat:
-----------------
@echo off
REM -- HPE iLO Fan Speed Adjustment Script --
REM This script sets the fan speed of HPE iLO to 50% ~ 0% using Redfish API.
REM 0% - No limitation (100% FAN working from original cooling)
REM 50% - Max limitation (50% FAN working from original cooling)
REM --- IMPORTANT ---
REM Replace <ILO IP> with your iLO's actual IP address or hostname.
REM Replace <PASS> with the Administrator user's password.
REM The --insecure flag is used to bypass SSL certificate validation. Use with caution.
REM -------------------
set ILO_IP=<ILO IP>
set ILO_USER=<iLO Administrative User>, e.g.) Administrator
set ILO_PASS=<PASS>
set FAN_PERCENT=50
echo Attempting to set iLO fan speed to %FAN_PERCENT%%% on %ILO_IP%...
REM Execute the curl command
curl --request PATCH --url "https://%ILO_IP%/redfish/v1/Chassis/1/Thermal/" ^
--user "%ILO_USER%:%ILO_PASS%" ^
--header "content-type: application/json" ^
--insecure ^
--data "{\"Oem\": {\"Hpe\": {\"FanPercentAdjust\": %FAN_PERCENT%}}}"
REM Check the exit code of the curl command (0 usually means success)
if %errorlevel% equ 0 (
echo Fan speed command sent successfully.
) else (
echo Failed to send fan speed command. Error code: %errorlevel%
)
REM Optional: Keep the window open for a few seconds to see the output if run manually
timeout /t 10 /nobreak
-----------------
참고자료
https://hewlettpackard.github.io/ilo-rest-api-docs/ilo6/#fans-array
https://servermanagementportal.ext.hpe.com/docs/redfishservices/ilos/ilo6/ilo6_168/ilo6_other_resourcedefns168/#oemhpefanpercentadjust
https://servermanagementportal.ext.hpe.com/docs/redfishservices/ilos/ilo6/ilo6_168/ilo6_other_resourcedefns168/#oemhpefanpercentadjust-1
https://servermanagementportal.ext.hpe.com/docs/redfishservices/ilos/ilo6/ilo6_168/ilo6_other_resourcedefns168/#fans-array