HDDやSSDを2台接続、1台にデータを入れて、2台目をバックアップ用に使用すると、メインのストレージが壊れてもデータの消失を防ぐことができます。
Raspberry Pi 4でそのような運用をするために。
USB端子1つ・コンセント1つで、2.5インチのHDDを2台接続する方法を記録しておこうと思います。
目次
使用する機材
Raspberry Pi本体
USB3.0端子を持つRaspberry Pi 4を使用しました。
microSDカードは使用せず、接続するHDDから起動しています。2.5インチHDD
ドライブの厚さは9.5mmのものを選択します。価格が下がってきたSSDを選択しても良さそうですね。2.5インチHDDケース
HDDはこちらのケースを使用しています。
こちらのケースに5V 2AのACアダプタが梱包されていますが使用せず、USB電源とmicroBのUSBケーブルを使用しました。USB電源
Raspbery Pi本体に3A、ストレージに2Aを想定して、25W以上の電源を選択しました。Raspberry Pi用Type-Cケーブル
USB電源とRaspberry Piを接続する電源ケーブルになります。HDD用microBケーブル
USB電源とHDDケースを接続する電源ケーブルになります。電源が複数あると電位差が生まれて機器に悪影響
コンセントを2つ使用しない、明確な理由があります。
それは、複数のコンセントを使用すると、「同じ5V(ボルト)という電圧でも、複数の電源(ACアダプタ)を使うと、わずかに電圧が異なり、電位差が生まれるから」です。
Raspberry Pi用に電源(ACアダプタ)を1つ、HDD用に別の電源を1つ使うと、実は必ず電圧の違いが生じます。
具体的には、たとえばRaspberry Piが5.01V、HDDが4.98Vという場合があります。これをケーブルで接続すると、0.03Vの電位差が生じます。その結果、電圧の高い方から低い方へわずかに電流が流れてしまうため、HDD側の電源に負荷がかかってしまいます。
結果として、動作に悪影響を及ぼしたり、電源や機器の寿命を縮める事になります。
よって、電源は1つにまとめたほうが、電位差がないフラットな状態になり、機器への負担を減らす事ができる、という理由に基づいています。
HDDケースの組み立て
HDDケースにはドライバーが梱包されていますので、工具は不要です。
HDDを2台セットして、外側のアルミケースにはめ込んで、ネジを2箇所締めます。ケースの前面は、左からUSB microBタイプの電源端子、Raspberry Piに接続するUSB 3.0端子、モード設定用のスイッチ、リセットスイッチが並んでいます。
モード設定は、JBODを選択しました。接続したHDD2台は、それぞれ/dev/sdaと/dev/sdbとして認識されます。
全体的な配線はこのような感じになります。右上のカラフルなケーブルはシリアルコンソールです。
HDDから起動する場合
HDDから64ビット版のUbuntu 20.04.1 LTSを起動する手順は次の記事になります。
2台のドライブが正しく使用できるか確認
/dev/sda1にOSをインストールして実際にHDDから起動してみました。このような感じで、問題なく/dev/sda1から起動しました。
2台目の/dev/sdbも正しく認識されています。
/dev/sdbにLinuxパーティションを作成してみました。このような感じで、fdiskコマンドで/dev/sdb1パーティションを作成、mkfs.ext4コマンドでフォーマット後、fsckコマンドでパーティションをチェックしました。
ただ、1つ気になる点があります。
Partition does not start on physical sector boundaryの修正
/dev/sdbは2TBのHDDを接続しましたが、普通にパーティションを作成した場合、「Partition 1 does not start on physical sector boundary.」という警告が表示されます。
おそらく、パーティションの開始位置が、セクターの境界に合っていないためだと思います。
次のコマンドで修正しました。
sudo fdsik /dev/sdb
xでエクスパートモード
bで境界選択
8を入力
rでエクスパートモード終了
wで書き込み
このような感じで、Raspberry Pi 4にHDDを2台接続してみました。
使用するUSB端子は1つ、使用するコンセントも1つで済みます。
1台目のドライブから、64ビット版Ubuntu 20.04.1 LTSを起動することができました。
2台目のドライブは、夜間のデータバックアップに使用する予定です。autofsを使用すれば、昼間はアンマウント=HDDが回転しないモードで使用できますので、ストレージの寿命を伸ばす事ができます。
さて。今使用しているIntel NUCのNextcloudサーバが壊れた場合は、Raspberry PiでNextcloudサーバを構築する準備ができました。
またはPodmanで各種サーバを構築するのも良い感じです。
- Raspberry Pi 4で64ビットWordPressサーバを構築するには Podman版
- Raspberry Pi 4でembyメディアサーバを簡単起動するには Podman版
- Raspberry Pi 4でMongoDBとMongo-Expressを簡単起動するには Podman版
- Raspberry Pi 4でPostgreSQLとPgAdmin4を簡単起動するには Podman版
- Raspberry Pi 4でRedmineを簡単起動するには Podman版
応用範囲は広そうです。宜しければお試し下さい。