Raspberry Piクラスタは放熱注意クラスタケース必須です

先日構築した、Raspberry Pi 4 + USBスティックSSD + Fedora CoreOSクラスタですが。カッターマットの上に置いて、そのまま何日か使用していたところ。

Raspberry Pi 4を置いていた部分の、カッターマットが変形してしまいました。ぐにゃり。

原因は、Raspberry Piの発熱。熱がこもるのは問題で、対策が必要です。

思い当たる原因と対策を記録しておこうと思います。


Raspberry Pi 4クラスタの放熱対策は必須

Raspberry Pi 4にアーマーケースを取り付けたため、放熱対策は要らないと思って油断していました。

次のような条件で、Raspberry Pi 4周辺に大きな熱が籠もってしまいました。

Raspberry Pi本体周辺に熱が籠もった要因

要因1 Kubernetesの分散ストレージ+ポッドの負荷

うーむ。Raspberry Piのロードアベレージが、20を超えてしまいました。正直、20超は初めてみました。むしろ「20超えても暴走せずに動くのですね」と関心していたのですが、発熱は予想外でした。

フル稼働状態のロードアベレージは4.0としますと、その5倍の負荷がかかっています。

先日構築したクラスタですが

Raspberry Pi 4 + Fedora CoreOSのKubernetesクラスタ構築手順の覚書
USBスティックSSDに、Fedora CoreOSをプロビジョニングしまして。 Raspberry Pi 4を3台使用して、クラスタ...

Rook Cephによる分散ファイルシステムを実装しました。

Raspberry Pi 4クラスタで分散ファイルシステム構築 前編 OSD構築
Raspberry Pi 4 3台にSSDを取り付けまして。 分散ファイルシステムを構築してみようと思います。各ノードでOSD...

ロードアベレージが20を超えた原因は。

  1. Rook Cephによる分散ファイルシステムの同期処理の負荷。
  2. WordPressの2つのポッド、httpdとmysqldがこのノードにデプロイされた負荷。

分散ファイルシステムの負荷と、アプリケーション(WordPress)のポッドが2つもデプロイされた負荷で、このような恐ろしく高い負荷になったようです。


要因2 スティックSSD

こちらの記事にて検証致しましたが、スティックSSDは900mAの電源容量を必要とします。

Raspberry Pi 4はUSBスティックSSDで起動・安定動作する?速度は?
Raspberry Piに、スティック型のSSDを接続してみました。 SSDの消費電力ですが、不明な点が多い印象です。メーカーの仕様ペ...

この電力の供給は、Raspberr Pi 4本体のレギュレータ(整流回路)が行っています。

つまり、電源容量の大きなSSDを取り付けたために、Raspberry Pi 4の発熱量が増大していたと思われます。


要因3 本体を密集させすぎ

写真の通り、Raspberry Pi 4本体を、立てて密集させていました。

カッターマットが変形した際、Raspberry Pi 4本体に触ったのですが、持ち上げられず、火傷をするくらい熱くなっていました。

前述の要因2の通り、SSDを取り付けて発熱が大きくなった上に、密集させて熱が籠もったのかと思います。

そして、その熱をカッターマットが吸収したように思えます。

要因4 アーマーケースから外部への熱の伝導経路不足

今回使用したRaspberry Piはすべて、アーマーケースを装着してありました。

正直、アーマーケースを使用せず、ロードアベレージが20を超える負荷をかけた場合、Raspberry Pi 4は故障していたかもしれません。

アーマーケースがRaspberry Pi 4本体を守り、SoCやメモリーチップから出た熱を拡散したのは確かですが、その先、アーマーケースから外への熱の拡散が不足していました。

要因5 Raspberry Pi 4のリソース不足

ロードアベレージが20どころか、10を超えるのは、Raspbrry Pi 4のメモリー容量が4GBのノードのみでした。

実は、メモリー容量8GBのRaspberry Pi 4は、同じ状況でもここまで負荷が上がらないのは確認済みです。

4GB版を使用する場合は、ノードの負荷分散をよく考えなければなりませんね。


Raspberry Pi 4クラスタの放熱対策

以上の要因から、次の対策が考えられます。

  1. Raspberry Pi 4単体の熱拡散のため、アマーケースは必須
  2. エアフローで、アーマーケースに籠もった熱を拡散する
  3. 密集させない。密集させる場合は、熱が伝導する経路を作る

チップ全体の熱を吸収するためアーマーケース必須

ケースの工作精度から、私個人は海賊ロボ忍者さるさん、pimoroniさんのアーマーケースは必須だと思います。

アーマーケースではなく、SoCにヒートシンクやクーリングファンを取り付ける方法もありますが、SoC以外の他のチップの熱を吸収することができません。

SoC以外、レギュレータ等から発生する熱を吸収するためには、アーマーケースは必須だと思います。

クラスタケース必須

Raspberry Pi 4でクラスタを構築する場合は、クラスタケースは必須だと思います。

理由は、後述のエアフローを作るためと、置き場所を整理する意味もあります。

後で写真が出てきますが、私はクラスタケースを自作して失敗しました。Raspberry Pi 3のサイズでクラスタケースを作ったところ、Raspberry Pi 4が入りませんでした。(やや大きい

作る手間を考えると、購入したほうが安価で綺麗です。(断言

エアフローを作るためクーリングファン導入

アーマーケースに籠もった熱を逃がすために、エアフローを作る必要があります。

Raspberry Pi 4のアーマーケースは、写真のような方向に溝が切ってあります。

このため、ファンを取り付ける場合は、溝に沿って風が流れるように、上から、またはmicroSDカード端子側(写真左側)にファンを取り付ける必要があります。

USBファンを使用すれば、Raspberry Pi用の電源からファンの電力を供給できます。

写真は14cmファン+本体4台になります。14cmのファンを使用する場合、4段x2、8台の本体のエアフローを作れそうです。

私の自作のクラスタケースはアルミ板を使用しています。アルミ等の金属は熱伝導率が高く、クラスタケースが放熱板の役割をしています。

Raspberry Pi が密集していますが、クラスタケースによる放熱と、USBファンによるエアフローの効果で、Raspberry Pi 4本体(アーマーケース)に触ると、室温と変わらないレベルまで、発熱が拡散するようになりました。


シングルボードコンピュータやPCは、熱がこもると安全装置が作動して、性能が低下する(低クロックモードに変わる)場合があります。

性能を最大限に引き出すためにも、放熱対策は必須かと思います。

実際にクラスタを構築してわかりましたが、ノードであるRaspberry Piには恐ろしい負荷がかかる場合があります。

さらにSSDによる電力増加の影響もありますし、密集による影響もあることがわかりました。

クラスタを構築する場合、このあたりに十分注意しての構築をお勧め致します。

スポンサーリンク

フォローする

スポンサーリンク