2024年9月16日月曜日

Raspberry Pi 4 でファイルサーバーを作ってみた(前編)

PCをニ台常用するようになったので、ファイル共用が必要になってきました。そこでファイルサーバーを作ってみたのでメモを残しておきます。

余っていた Raspberry Pi 4 Model B 4GB とファイルサーバー用のソフトは OpenMediaVault を使用します。ネットワークは無線は使用せず、WiFiルーターに直接ケーブルを接続します。ストレージはSDカードは使用せず、SATAのSSD(512GB)を使用します。

24時間稼働させるのでケース類も用意しました。



boot用SSDの作成

Raspberry Pi Imager で SSD(SATA) に Linux イメージを書き込みます。今回は OpenMediaVault を使用するため Raspberry Pi OS Lite (64bit) を使用します(Desktop版にはインストールできないようです)。
デバイスの選択

OSの選択


ストレージの選択


設定の編集








起動確認

X825 SATAボードにSSDを挿入し、Raspberry Pi 本体、X735電源管理ユニットを組み立て、イーサーネットケーブルをWiFiルーターに接続して起動します。


上から、X735電源管理ユニット、Raspberry Pi 4 本体、SATA拡張ボード


IPアドレスの固定

ルーターのDHCP設定でRaspberry PiのIPアドレスの固定します。 まず、ルーターの管理画面を開きDHCPが貸し出しているのIPアドレスとMACアドレスをメモします。次にルーターのDHCPアドレス固定画面に上記MACアドレスと割り当てるIPアドレスを指定します。なお、設定手順は使用しているルーターの説明書を参考に設定します。

Rasipberry Pi を再起動し、IPアドレスが固定されていることを確認します。



Linuxのアップデート

$ sudo apt update
apt update を実行したところ以下のメッセージが出力されました。
N: Repository 'http://deb.debian.org/debian bookworm InRelease' changed its 'Version' value from '12.6' to '12.7'

以下のコマンドでリポジトリの変更を許可します。
$ sudo apt-get update --allow-releaseinfo-change

再度アップデートを実行し、再起動します。

$ sudo apt update
$ sudo apt full-upgrade
$ sudo reboot

作業に必要なソフトの導入

git と mc(midnight comander)をインストールします。

$ sudo apt install git mc

電源管理ソフトの導入

参考:X735-script - Geekworm Wiki

1.1. config.txt の修正

/boot/firmware/config.txt の [all] セクションに以下を追加します。

dtoverlay=pwm-2chan,pin2=13,func2=4

1.2. reboot

$ sudo reboot

1.3. GPIO 関連の確認

以下のコマンドで gpiod パッケージが導入されていることを確認します。

$ sudo apt list --installed | grep -i gpiod

以下のコマンドで python3-rpi.gpio パッケージが導入されていることを確認します。

$ sudo apt list --installed | grep -i python3-rpi.gpio

1.4. スクリプトの準備

スクリプトのダウンロードとパーミッションの設定

$ git clone https://github.com/geekworm-com/x735-script
$ cd x735-script
$ chmod +x *.sh

1.5. ファン・サービスの作成

$ sudo ./install-fan-service.sh
Start installing fan service...
Created symlink /etc/systemd/system/multi-user.target.wants/x735-fan.service → /lib/systemd/system/x735-fan.service.
Fan service installed

これでファンが動作し始めます。


1.6. 電源管理(x735-pwr)サービスの作成

$ sudo ./install-pwr-service.sh
Start installing the power management service...
Created symlink /etc/systemd/system/multi-user.target.wants/x735-pwr.service → /lib/systemd/system/x735-pwr.service.
Power management service installed

1.7. ファイルの確認

$ ls -l /usr/local/bin
-rw-r--r-- 1 root root 1029 Sep 14 17:11 pwm_fan_control.py
-rwxr-xr-x 1 root root 5652 Sep 14 17:11 x735-fan.sh
-rwxr-xr-x 1 root root 1450 Sep 14 17:12 xPWR.sh

1.8.ソフトウェアのシャットダウン スクリプトの導入

$ sudo cp -f ./xSoft.sh /usr/local/bin/
$ ls -l /usr/local/bin
-rw-r--r-- 1 root root 1029 Sep 14 17:11 pwm_fan_control.py
-rwxr-xr-x 1 root root 5652 Sep 14 17:11 x735-fan.sh
-rwxr-xr-x 1 root root 1450 Sep 14 17:12 xPWR.sh
-rwxr-xr-x 1 root root  609 Sep 14 17:18 xSoft.sh

1.9.コマンドの別名を登録と有効化

$ cd
$ echo 'alias x735off="sudo /usr/local/bin/xSoft.sh 0 20"' >> ~/.bashrc
$ source ~/.bashrc

1.10.電源オフの確認

以下のコマンドで電源がオフになることを確認します。

x735off

1.11.ファンスピードの確認

以下のコマンドでファンのスピードを確認します。

$ cd x735-script
$ sudo python3 read_fan_speed.py
Traceback (most recent call last):
  File "/home/synctam/x735-script/read_fan_speed.py", line 29, in <module>
    GPIO.add_event_detect(TACH, GPIO.FALLING, fell)
RuntimeError: Failed to add edge detection

上記エラーが発生し、ファンの速度が表示されないため、下記の対応策を実行しました。

参考:X735-script - Geekworm Wiki

$ sudo apt update && sudo apt install python3-rpi-lgpio  --auto-remove --purge

この対策でファンスピードが表示されるようになりました。
$ sudo python3 read_fan_speed.py
0 RPM
1774 RPM
1770 RPM
1827 RPM
1775 RPM
...
ハードウエアの設定はここまでです。後編ではファイルサーバーソフト(OpenMediaVault)の導入と設定を行います。


後編に続く・・・

0 件のコメント:

コメントを投稿

Raspberry Pi 4 でファイルサーバーを作ってみた(後編)

前編 では各種拡張ボードの組み立て、Rasiberry Pi OS Lite(64bit)のインストールと各種設定を行いました。今回はファイルサーバーソフト(OpenMediaVault)の導入と設定を行います。 ファイルサーバー用のパーティションの作成 HDDを取り外し...