2022年2月24日木曜日

ラズパイ 42

ラズパイ4BのBustar 32bit+Nextcloud環境でNextcloudが使えそうだというのが分かった。特にiPhoneでの自動同期がDropboxみたいに楽に使えて、且つ、容量無制限なのでiPhoneカメラのバックアップ・アップロードにも使えて便利そうだ。なので、再び本命のBullseye 64bit+Nextcloud環境での安定環境構築テストに移行した。

以前から感じていることだが、どうもラズパイ4Bのアイドリング温度が上がっているように思う。完全ファンレスで運用するには真夏灼熱時に負荷をかけるとフリーズする事もあったし、Nextcloudで負荷が増えたからラズパイの冷却強化は不可欠かなと思う。もっとも、ラズパイのサーバー用途は3B+の方で担い、4Bはテスト+αという位置付けは当面変えるつもりもないんだけどね。

というワケで、過去にデスクトップPCで使っていた12VファンをUSB5V電源に片っ端から繋いでみて、実用的な音量で動くものを3つ確保した。あともう一つ、5V駆動の40mmファンは新品で買ってあるが、これは5V駆動でじゃプーンって音が気になる。何はともあれ、5Vで安定して起動し実用可能な音量のファンを以下3個確保出来た。

・60mm12Vファン(SocketA,Athlonの中速ファン)
・50mm12Vファン(Socket370,Pentium3の中速ファン)
・40mm12Vファン(AddA AD0412MS-G70のジャンク)
・40mm5Vファン(Nidec F410T-05LC、新品)

GPIO給電しているラズパイ3B+には、60mmファンを使うことにした。ファンのステーはどうするかというと、基盤固定用スペーサーのネジに共締めとし、100均アルミ針金1.00mm青で自作した。そもそも大した強度は必要無いので、ラジオペンチでだいたいで作った。足は、GPIOに被るところはナシの3本(GPIOの5V側は足無し)で、GPIOに干渉しない高さ(15~20mm程度)だ。これで100均ケース内で安定して使える。ちなみに、ファン交換でアイドリング時に43℃→38℃に下がった。
4Bの方はファンレスケースで使っているので、そのケースを冷やすのは50mmファン、アルミ針金でケース上空1cm程度のところに固定、GPIO 5V駆動とし、ファン追加でアイドリング時に47℃→33℃と予想以上に冷えた。無敵だ、これ。

とりあえずコレで数日動かしたんだけど、4Bの方で使っている50mm12Vファン(Socket370,Pentium3の中速ファン)が吹き上げ方向に装着するとノイズが低減することが分かり、上下逆さまにケース内で冷却している3B+の方で使った方が収まりが良いため、3B+と4Bでファンを入れ替えてみた。
3B+アイドリング時温度は39~40℃に上昇したが、収まりも良いしファン5V動作に心配も要らないし、ひとまず完成かな。
ちなみにアクシデントが一つ。基盤ねじ穴付近のコンデンサが自作ファンステーと干渉していたのに気付かずネジを絞めてしまったら、コンデンサが1つ剝がれてしまった。今のところ何事もなく動いてくれているのでラッキー...なのかなw
4Bのファンは、3B+で使っていた60mm12Vファン(SocketA,Athlonの中速ファン)に差し替えたら冷却性能が過剰防衛甚だしい感じになったw。

結果的に2台のラズパイは、ほぼ無音から静穏になった代わりに確実な冷却が可能となった。しかし、理想の冷却ファンはなかなか難しい。ファンが五月蠅いと感じたらGeeekpiのPWMファンが良いかも。これならプログラムでファン回転数を可変化出来るんですよね。
https://www.amazon.co.jp/GeeekPi-PWM%E5%88%B6%E5%BE%A1%E5%8F%AF%E8%83%BD%E3%83%95%E3%82%A1%E3%83%B3Raspberry-PWM%E9%80%9F%E5%BA%A6%E8%AA%BF%E6%95%B4%E3%83%95%E3%82%A1%E3%83%B340x40x10mm-4010%E9%9D%99%E3%81%8B%E3%81%AARGB%E3%83%95%E3%82%A1%E3%83%B3Raspberry-3%EF%BC%88%E3%83%9E%E3%83%AB%E3%83%81%E3%82%AB%E3%83%A9%E3%83%BC%EF%BC%89%E3%81%AB%E9%81%A9%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99/dp/B092Z9JHJ3

なお、12Vファンの5V駆動で動くか動かないかは運次第です。新品1000円以上で買った40mm静穏ファンなんてピクリとも動きませんでしたよ。そういう意味でも上記のGeeekpi 30mm PWMファンは貴重だと思います。

【オマケ1】
普段使っているWindowsPCに近い使い勝手が欲しくて少し弄った。ファイラーは重要だよ。
■MP3変換
sudo apt install soundconverter
■7zip
sudo apt install p7zip-full p7zip-rar
sudo snap install p7zip-desktop
■PCManFM-Qt
Add/Remove Softwareで「PCManFM-Qt」と検索し、pcmanfm-qt-0.16.0-1(64bit)とpcmanfm-qt-l10n-0.16.0-1を入れた。

【オマケ2】
Bullseyeからヘッドレス解像度という設定があるが、私のベスト解像度「1360x768」の設定は無かった。「1024x768」「1920x1080」というスタンダードな解像度なら不具合なく安定して動くのが分かった。(なお、解像度を弄るたびにアプリケーションランチャー設定が初期化されたり、Bullseyeは未だ安定性に欠ける。)
私は、Raspberry Piの設定でヘッドレス解像度「1920x1080」、デスクトップの設定で「大きな画面向け」というアイコン・文字サイズ等を大きくした設定とし、16:9画面でBullseye運用テストをすることにした。これなら、各種設定画面のOKボタンが画面外になることもないはずだ。

【オマケ3】
Pi-Appsから入れられるCommander Piというソフトでラズパイ4Bはお手軽オーバークロックが出来てしまう。当然、自己責任。
https://raspida.com/easy-install-piapps
4Bにファンを付けたらガチで冷えているので、それならRaspberry Pi 400相当までクロックアップしても大丈夫だろうと思いついた。CPU:1800、GPU:600、Volt Adj:0としてみたら動きましたよ。(電圧上げるならCPU:2000、GPU:650、Volt Adj:6くらいはイケるみたい。)
もともとのCPUクロックが1500MHzだったから、アジリティ20%上昇だな。Bullseyeでデスクトップ解像度をフルHDにしてから、VNC操作時の引っ掛かりが増して気になっていたのだが、これが改善された。デメリットも感じないので、当面このまま使ってみよう。

2022年2月1日火曜日

ラズパイ 41

NextcloudのNewsという拡張機能を試すため、ラズパイ4をBullseye 64bitでテストしていた。環境構築はNextcloudとブラウザとSamba共有くらいのものですが、今までにない設定が必要になった。

【Sambaに追加設定】
SambaサーバーにAndroid端末からアクセスしようとしたら接続できなかった。Android端末のほとんどのアプリ標準搭載はSMB1なので、SMB1が無効になっているとダメなんです。(X-plorerは何故かSMB2.0で接続出来ないんだろう。)
いつからSMB1がデフォ無効になったのか分かりませんが、Samba 4.13環境では以下設定が必要でした。ようはSamba Server最小プロトコルを明示的にSMB1.0にしてやるということです。ちなみにBuster 32bitのSamba 4.9環境では以下設定は必要ありませんでしたが、こっちも早めに設定は済ませておいた方が良いだろうね。

https://qiita.com/szly/items/de9df09b832d43d4d45c
http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html

sudo nano /etc/samba/smb.conf

server min protocol = NT1

【Nextcloudの調子が...】
そんな感じの環境で色々テストしているラズパイ4のBullseye 64bit環境ですが、何度かアップデートしてたらNextcloudがとても重くなって、何度かリロードしてやっと表示されるという感じになった。調子悪いなぁとラズパイのタスクマネージャーを見たらmysqldの負荷が高く、CPU温度も普段より約10℃高い52~55℃をウロチョロしている。Nextcloudで使っているMySQLが悪さをしているようだ。
ブラウザリロードを繰り返してログがたまたま見れたのだが、SQL関連では「Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused」とか「Doctrine\DBAL\Exception\ConnectionLost: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away at /snap/nextcloud/XXXXX/htdocs/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php#101」と出ている。
今バージョンMySQLの不具合なんだろうなぁと思いつつ、「sudo systemctl restart snap.nextcloud.mysql.service」でサービス再起動をしてみるも効果なし。システム全体を再起動しても効果なしだ。

もともと本環境を作った理由はNextcloudでNewsという64bit版しかない拡張を使ってみたかったから。Newsは使い物になるという感触は持ったが、自分でRSS巡回スケジュールを30分で設定したら頻度に物足りなさを感じたので、結果的に未だInoreaderをメインで使っている状況。なんだか64bit環境が育ちきる前に、メリットを感じなくなったw

ちなみに、Nextcloudのバックアップが不要なら、Nextcloudをアンインストールして再セットアップしてみるのもアリだ。以下のように一回削除して再度インストールすれば、一から始められることは実験済みだ。

sudo snap remove nextcloud
sudo snap install nextcloud

【Headless Resolutionが...】
Bullseye 64bit環境のHeadless Resolution設定が妙な動きをしている。解像度1280x720でソフトを全画面表示しようとしたら、横幅が1024になってしまう。なんとも気持ち悪い挙動だ。しかも、Headless Resolutionには、私が使いたい1360x768が無いし、カスタマイズ方法も分からない。もうちょっと色々と安定してからBullseyeを試しても良いかな。

【結局、Bustar 32bitとNextcloud】
現時点ではnews拡張は使わないので64bit環境である必要がなくなった。なので、ラズパイ4は、本実験前に使っていたBustar 32bit環境SSDにNextcloudをセットアップしてNextcloud常用テストをすることにした。今のところ、調子よさそうだ。ついでにrfriends2のデータフォルダもNextcloudにローカルフォルダ追加したので、自宅WiFiで自動転送テストをしてみよう。