저는 팬을 제어하기 위해 FreeBSD 상자(FreeNAS 실행)를 얻으려고 노력해 왔습니다. 시스템이 상당히 시원하더라도 고속으로 실행하기를 원합니다. lm-sensors 패키지는 Linux에서 이 작업을 수행할 수 있지만 FreeBSD에서는 사용할 수 없습니다.
나는 이것을 찾았다유제여기에는 응답이 없습니다.
FreeBSD에서 이 작업을 수행하기 위해 커널 모듈을 로드할 수 있습니까?
답변1
ACPI
예. 하드웨어가 지원하는 경우고급 구성 및 전원 인터페이스(ACPI) 그런 다음 로드 가능한 모듈이 있습니다.ACPI지원하다.
불행하게도 대부분(모두는 아니더라도)기준 치수대상은 노트북입니다.
다음 명령을 사용하여 팬과 관련된 설정이 있는지 확인할 수 있습니다 sysctl
.
# sysctl hw.acpi
그러나 팬 속도를 수동으로 조정하는 대신 온도와 부하에 따라 자동으로 조정됩니다. FreeBSD에서는 다음과 같이 수행됩니다.힘기본적으로 비활성화되어 있습니다.
그래서 팬이 직접 노출되지 않더라도 조정할 수는 있지만 CPU 주파수를 조정하면 됩니다. 그러면 일부 BIOS는 이에 따라 팬 속도를 조정합니다(이 역시 합리적인 온도 범위 내에 있는 경우).
예제는 다음과 같이 설정되어 있습니다./etc/rc.conf
powerd_enable="YES"
powerd_flags="-a adaptive"
performance_cx_lowest="C2" # Online CPU idle state
performance_cpu_freq="1399" # Online CPU frequency
economy_cx_lowest="C3" # Offline CPU idle state
economy_cpu_freq="NONE" # Offline CPU frequency
sysctl hw.acpi
또한 위 설정 중 하나가 적용될 수 있는지 여부도 표시됩니다 .
지능형 제조 관리 인터페이스
ACPI 경로를 따르지 않았다면 아마도지능형 플랫폼 관리 인터페이스(IPMI)가 도움이 될 수 있습니다. 그러나 이는 일반적으로 BMC가 있는 서버급 마더보드에서만 사용할 수 있습니다.
서버가 부팅되면 팬은 운영 체제가 인계받을 때까지 BIOS 기본 속도로 작동합니다. 운영 체제가 인계받지 않는 경우(즉, ACPI 사용) CPU와 팬은 일반적으로 최고 속도로 실행됩니다. BIOS 구성 화면에서 직접 임계값을 사용할 수 없는 경우도 있지만 IPMI를 사용하여 설정할 수 있습니다.
FreeBSD에는 하나가 있습니다IPMI 드라이버당신은 설치할 수 있습니다sysutils/ipmitool설정을 가지고 놀자.
다음 스 니펫은서비스 홈 홈페이지일부 SuperMicro 마더보드(X9/X10/X11)에 적합해야 합니다.
#set fan mode to "full"
ipmitool raw 0x30 0x45 0x01 0x01
#set fans in "system" zone to 37.5%
ipmitool raw 0x30 0x70 0x66 0x01 0x00 0x24
#set fans in "peripheral" zone to 25%
ipmitool raw 0x30 0x70 0x66 0x01 0x01 0x16
노트:설정하지 않으면 BMC가 팬 속도를 변경하지 않는 것처럼 보이므로 팬 모드가 먼저 최대 속도로 설정됩니다.
위의 링크에는 다음과 같은 내용이 나와 있습니다.
하지만 매직넘버는 똑같아
SuperMicro 보드의 매직 넘버는 어떤 IPMI 도구를 사용하든 관계없이 동일합니다. Tyan에게는 다를 수 있습니다. 어려운 부분은 이것을 알아내는 것입니다. SuperMicro가 0x30을 사용하는 것처럼 보이지만국제 비즈니스 기계 공사0x3a를 사용할 수 있습니다.
사용자 이름/비밀번호를 설정한 경우 해당 정보도 제공하세요.
ipmitool -H HOST_IP -U USERNAME -P PASSWORD raw 0x3a 0x07 0x01 0x50 0x01
아마도 당신은 잘못된 선택을 하지 않았을 것입니다. 다소 사실좋다Taian. 그러나 구현이 약간 다를 수 있습니다.이상한. 매직 넘버를 추측하려는 경우 이는 매우 중요합니다. BIOS가 업데이트되면 2020년의 경험이 더 좋아질 수 있습니다.
물론, Tyan 마더보드는 IPMI와 관련해 다소 거친 부분이 있습니다. SM 구현만큼 잘 사용되거나 다듬어지지 않았기 때문입니다. 1800초의 시간 초과에도 불구하고 KVM 연결이 끊어지는 것을 발견했습니다. IPMI 웹 페이지를 다시 로드하고 다시 로그인한 후 KVM을 다시 시작해야 했습니다. 어느 시점에서는 IPMI가 내 비밀번호를 알고 있음에도 불구하고 루트 로그인을 완전히 거부했습니다. 방금 서버를 뽑았다가 다시 연결하고 IPMI를 기다렸다가 다시 접속했습니다. 내 결론은 IPMI가 스스로를 잃었다는 것입니다.
어쩌면 당신은 설정할 수 있습니다듀티 사이클BIOS에서. 이는 일부 Tyan 마더보드에서 사용할 수 있는 것으로 보이지만 설정에서는 명확하지 않습니다.
수동 및 최고 속도의 두 가지 값 중 하나로 설정할 수 있습니다. 그게 다야. 이제 위에 표시된 모든 온도는 팬 듀티 사이클을 기본값인 30%로 설정하여 달성한 것입니다. 지원 티켓을 생성하고 Tyan에게 CPU 또는 시스템 온도에 따라 팬을 변경하는 방법을 문의하겠습니다.
업데이트: 팬 제어가 작동한다는 것을 지적한 @jpmomo에게 감사드립니다. 어떻게든 듀티 사이클을 15로 설정하고 마더보드의 부하 테스트를 거쳤습니다. 여기서 승자는 분명히 Supermicro SNK-P0064AP4 쿨러입니다. 기본 30% 듀티 사이클에서는 1600RPM으로 회전하며 매우 조용합니다. 방열판은 또한 CPU가 부하 상태에서 68C를 초과하지 않도록 보장합니다. 이것은 놀라운 결과입니다. 듀티 사이클을 15%로 줄이면 CPU 팬이 1300RPM으로 회전하지만 CPU가 75C 이상으로 올라가면 팬이 더 빠르게 회전합니다. 이 쿨러가 얼마나 좋은지 믿을 수 없습니다. 물론 7302P는 "그냥" 180W 프로세서이므로
하드웨어
다른 모든 방법이 실패하면 저렴한 하드웨어 팬 컨트롤러를 구입하세요 :-).
또는 직접 조금 수정해도 괜찮다면 시도해 볼 수 있습니다.7VDC 팬
3핀 팬 커넥터에는 4핀 Molex 커넥터가 필요하며, 팬이 여러 개인 경우에는 Y 하네스가 더 필요합니다. 검정색 전선을 집어 커넥터의 맨 끝으로 옮깁니다. 그러면 결국 접지선이 +5VDC 라인으로 이동하여 기본적으로 7VDC(12VDC - 5VDC는 7VDC와 같음)가 됩니다. 올바르게 수행하는 한 팬은 더 느린 속도로 작동하므로 안전합니다. 여전히 너무 빠르게 회전하는 경우 노란색(어댑터의 빨간색일 수 있음)만 반대쪽으로 이동할 수 있습니다. 이렇게 하면 +5VDC가 되지만, 팬이 회전할 만큼 전압이 충분하지 않아 일부 팬이 작동하지 않을 수 있습니다.
답변2
여러분이 보고 있는 것은 X9와 X10/X11에서 서로 다른 BMC를 사용한 결과인 것 같습니다. X9는 팬 모드를 변경하기 위해 원시 명령만 실행할 수 있습니다. 즉, 4개 값 문자열(아래 요약)을 사용할 수 있지만 X10/11 보드는 팬 영역 및 듀티 사이클을 추가로 제어하기 위해 6개 값 문자열을 사용할 수 있습니다.
# Set fan mode: raw 0x30 0x45 0x01 [x]
# [x] Modes: CPU Zone Peripheral Zone
# Target Target
# ------------- -------- ---------------
# 00 Standard 50% 50%
# 01 Full 100% 100%
# 02 Optimal 30% 30%
# 04 Heavy I/O 50% 75%
답변3
기존 팬 제어는 일반적으로 BSD 시스템에서 지원되지 않습니다. FreeBSD 12(2019)에는 센서 프레임워크가 없으며 NetBSD와 OpenBSD가 둘 다 있지만 팬 제어를 지원하지 않습니다. 지적했듯이 Linux는 팬 제어를 지원 lm-sensors
하지만 실제로 BSD에서는 사용할 수 없습니다.
다른 답변에서 언급했듯이 ipmitool
IPMI가 포함된 서버급 소프트웨어가 있으면 사용해 볼 수 있습니다.
그렇지 않은 경우 가장 좋은 방법은 실제로 BIOS에 팬 제어 옵션이 있는지 확인하는 것입니다. 또 다른 비결은 다른 운영 체제로 칩을 구성한 다음 그 동안 설정이 재설정되지 않기를 바라면서 FreeBSD로 다시 핫 재부팅하는 것입니다. 마지막으로 솔루션을 직접 해킹해 볼 수도 있습니다. 실제로 이것이 제가 사용한 것입니다.팬 제어서버를 조용하게 만들고 싶을 때 OpenBSD/DragonFly용 패치를 설정했습니다.