HDDやSSDを2台接続、1台にデータを入れて、2台目をバックアップ用に使用すると、メインのストレージが壊れてもデータの消失を防ぐことができます。
Raspberry Pi 4でそのような運用をするために。
USB端子1つ・コンセント1つで、2.5インチのHDDを2台接続する方法を記録しておこうと思います。
使用する機材
Raspberry Pi本体
USB3.0端子を持つRaspberry Pi 4を使用しました。[amazonjs asin=”B081YD3VL5″ locale=”JP” title=”【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品”]microSDカードは使用せず、接続するHDDから起動しています。
2.5インチHDD
[amazonjs asin=”B07DDCR787″ locale=”JP” title=”TOSHIBA ( 東芝 ) 2.5インチ HDD SATA 9.5mm 5400rpm 2TB MQ04ABD200 [ バルク ]”]ドライブの厚さは9.5mmのものを選択します。価格が下がってきたSSDを選択しても良さそうですね。
2.5インチHDDケース
HDDはこちらのケースを使用しています。[amazonjs asin=”B07CSJ1PB2″ locale=”JP” title=”Vantec 2.5インチ SATA デュアル HDD/SSDケース USB 3.0 Micro-B 放熱性の高いアルミ製カバー USBポート:USB Micro-B to Type-A データ転送速度5Gbps 【ブラック】”]こちらのケースに5V 2AのACアダプタが梱包されていますが使用せず、USB電源とmicroBのUSBケーブルを使用しました。
USB電源
[amazonjs asin=”B00VTJS58U” locale=”JP” title=”Anker PowerPort 4 (USB充電器 40W 4ポート) 【PSE認証済 / PowerIQ搭載 / 折りたたみ式プラグ搭載】iPhone&Android各種対応 (ホワイト)”]Raspbery Pi本体に3A、ストレージに2Aを想定して、25W以上の電源を選択しました。
Raspberry Pi用Type-Cケーブル
[amazonjs asin=”B07DFCX3CM” locale=”JP” title=”Anker 高耐久ナイロン USB-C & USB-A 2.0 ケーブル【2本セット / 2重編込の高耐久ナイロン素材】Galaxy S10 / S10+ / S9 / S9+ / Note 8、Xperia XZ3他対応 (ブラック 0.9m)”]USB電源とRaspberry Piを接続する電源ケーブルになります。
HDD用microBケーブル
[amazonjs asin=”B07232M876″ locale=”JP” title=”Amazonベーシック USBケーブル 1.8m (2.0タイプAオス – マイクロBケーブル) ブラック”]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版
応用範囲は広そうです。宜しければお試し下さい。[amazonjs asin=”B07CSJ1PB2″ locale=”JP” title=”Vantec 2.5インチ SATA デュアル HDD/SSDケース USB 3.0 Micro-B 放熱性の高いアルミ製カバー USBポート:USB Micro-B to Type-A データ転送速度5Gbps 【ブラック】”]


コメントを残す