ACPI

ACPI

私はファンを制御するために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には1つあります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 Webページを再ロードして再ログインした後、KVMを再起動する必要がありました。ある時点では、IPMIが私のパスワードを知っているにもかかわらず、ルートログインを完全に拒否しました。サーバーを抜いて再接続し、IPMIを待ってから再接続しました。私の結論は、IPMIが自分自身を失ったことです。

たぶんあなたは設定することができますデューティサイクルBIOSで。これは一部のTyanマザーボードで利用できるようですが、設定では明確ではありません。

手動と最高速度の2つの値のいずれかに設定できます。それはすべてです。上記の温度はすべて、ファンデューティサイクルをデフォルト値の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では使用できません。

他の回答で述べたように、ipmitoolIPMIを含むサーバークラスのソフトウェアがある場合は試してみてください。

そうでない場合の最善の方法は、実際にBIOSにファンコントロールオプションがあることを確認することです。もう1つの秘訣は、別のオペレーティングシステムでチップを構成し、その間に設定がリセットされないことを望んでFreeBSDに再びホットリブートすることです。最後に、ソリューションを直接ハッキングしてみることもできます。実際にこれが私が使用したものです。ファン制御サーバーを静かにしたいときにOpenBSD / DragonFly用のパッチを設定しました。

関連情報