Raspberry Pi で簡単に RAID-1 をセットアップする方法

Raspberry Pi で簡単に RAID-1 をセットアップする方法

Raspberry Pi のオペレーティング システムは、SD カードまたは USB ディスクにインストールされます。 SD カードのフラッシュ セルの書き込みサイクルは限られているため、信頼性は保証されません。信頼性では、ハードディスクと SSD の方が優れています。後者は、摩耗レベル アルゴリズムを使用してデバイスの寿命を延ばします。それでも、単一のディスクだけにデータを保持することは常に危険です。





今日のメイク動画

RAID-1 を使用したデータのミラーリングのアイデア

ディスク障害が発生した場合のデータ損失を回避するには、 RAID-1 データ ミラーリング 実装する必要があります。問題は、Raspberry Pi にオペレーティング システムをインストールする段階で RAID を設定できないことです。





このアイデアは、2 つの USB SSD で RAID-1 ミラーリングをセットアップし、次にホーム ディレクトリを RAID パーティションにコピーし、それを /home として使用するように構成することです。ユーザー データはホーム ディレクトリにあるため、1 台のディスクに障害が発生した場合でも、データを完全に復元し、RAID を再構築できます。





OS は SD カード (または別の SSD) に残ります。 OS ディスクに障害が発生した場合でも、重要なデータは引き続き RAID-1 アレイで利用できます。また、ディスク プレッシャーが少ないため、OS ディスクの寿命が長くなります。これは、ディスク アクティビティの大部分が /home ディレクトリで発生しているためです (たとえば、「Firefox プロファイル ファイル」への継続的な読み取り/書き込み)。

このプロセスでは、Web インターフェイスを使用して、複雑な RAID 設定プロセスを簡素化します。ここに示すセットアップ Ubuntu MATE 22.04 を使用 同じプロセスを他の Pi OS にも適用できます。



電源の可用性を考慮して適切なハードウェアを選択する

RAID-1 には、最低 2 つのディスクが必要です。これらのディスクは、ハード ドライブまたは SSD のいずれかです。 RAID-1 が設定されると、データはアレイ全体でミラー化 (クローン化) されます。これは、データが両方のディスクに書き込まれ、最速の RAID メンバーから読み取られることを意味します。

  USB - SATA アダプターを使用して Raspberry Pi 4 に接続された 2 つの SSD

USB から SATA へのアダプターは、SSD を Pi に接続するために使用されます。 SSD は、ピーク使用時に約 5 ワットの電力を消費します。 RAID-1 にはそのうちの 2 つが必要なため、電力の可用性を考慮に入れる必要があります。





2 (SSD) x 5 (ワット) = 10 ワット

標準クロックで動作する Pi 4 は約 6 ワットを消費し、 オーバークロックされた Pi 4 全負荷で 8 ワット近く消費します。





Raspberry Pi 4 の正式な電源は 5.1V、3.0A です。

5.1 (ボルト) x 3 (アンペア) = 15.3 ワット

  公式の Raspberry Pi アダプターの定格電力

要約すると、電力要件はアダプターの最大出力を超えています。

10 ワット + 8 ワット > 15.3 ワット

また、Pi は冷却システムに電力を供給する必要があります。そのため、安定した動作のためのヘッドルームを確保するには、SSD に外部から電力を供給する必要があります。

USB HDD/SSD デュアルドック この目的に最適で、2.5 インチと 3.5 インチの両方のディスクを収納できます。独自の電源アダプターがあり、Pi から電力を引き出すことはありません。

RAID 用の SD では、TBW が同一でないモデルを選択して、両方のディスクが異なる間隔で障害点を持つようにします。これにより、RAID アレイを再構築するのに十分な時間が与えられ、データが永続的にそのまま維持されます。 Pi 4 には 2 つの USB 3.0 ポートがあります。ドックはそのうちの 1 つしか使用しないため、予備のポートを使用して別の高速デバイスを接続できます。

  USB 3.0 ポート経由でデュアル HDD ドックに接続された Raspberry Pi 4

ツールをインストールして RAID-1 ミラーリングをセットアップする

ディスクをドックに差し込み、Pi の電源を入れます。 RAIDの設定は「Webmin」というツールを使えば簡単で、そのインターフェースはブラウザ経由でアクセスできます。ターミナルを開きます (ショートカット: Ctrl+Alt+T )、次のコマンドを使用して Webmin をインストールします。

sources.list ファイルを編集します。

sudo nano /etc/apt/sources.list

この行を追加します (ショートカット: Ctrl+Shift+Insert ):

deb http://download.webmin.com/download/repository sarge contrib
  nanoエディターを使用してソフトウェアソースファイルに新しいリポジトリを追加する

を使用してファイルを保存します Ctrl+O 、「Enter」を押して終了 Ctrl+X .

ソースを信頼するためのキーをダウンロードします。

wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

新しいリポジトリを更新します。

sudo apt update

Webmin をインストールします。

sudo apt install webmin -y

mdadm ソフトウェア RAID ユーティリティをインストールします。

あなたが退屈したときのためのクールなウェブサイト
sudo apt install mdadm -y

ディスク管理ツールをインストールします。

sudo apt install gnome-disk-utility -y

root ユーザー (Webmin を管理するため) のパスワードを設定します。

sudo su 
passwd
  ターミナルでスーパー ユーザーのパスワードを作成する

更新、アップグレード、および再起動:

sudo apt update && sudo apt upgrade -y && sudo reboot

RAID-1 アレイを構築するプロセス

開ける ディスク からのツール メニュー > 設定 .次のコマンドを使用することもできます。

gnome-disks

新しいディスクが表示され、両方をフォーマットします。

  Gnome Disk Utility を使用してディスクをフォーマットする

Web ブラウザを開き、次の URL を入力します。

https://localhost:10000

Webmin はポート 10000 の localhost で実行されます。https が使用され、SSL 証明書がインストールされていないため、ブラウザーに警告が表示されます。クリックしても安全 高度 その後 リスクを受け入れて続行する .

  有効な証明書なしで https URL を閲覧中に Firefox に例外を追加する

ユーザーは「root」としてログインし、先ほど root に設定したパスワードを使用します。まず、 モジュールのリフレッシュ .終わったら広げて ハードウェア そして選択 Linux RAID .ドロップダウンから、選択します RAID1 (ミラー化) ボタンをクリックします レベルの RAID デバイスを作成する .

  Webmin インターフェイスで RAID モードを選択する

を押したままにして、2 つのディスクを選択します。 コントロール 鍵。トグル デバイスの初期化をスキップ .これは、初期化に時間がかかり、100 GB ごとに 1 時間以上かかり、空のディスクを複製する必要がないためです。

  Webmin インターフェイスを使用して RAID デバイスを作成するときに RAID-1 にディスクを追加する

クリック 作成 . Webmin は、新しく作成されたアレイで 3 分以内に応答するはずです。その後、次の方法で詳細を確認できます /dev/md0 . 2 つのディスクは次のように表示されます。 RAID のパーティション そしてその ファイルシステムのステータス アクティブだがマウントされていない .

  Webmin インターフェイスの RAID デバイスに接続されているすべてのディスクの表示

新しい RAID アレイは、マウントする前にフォーマットする必要があります。これは、左側のディスクを使用して実行できます。を選択 RAID-1 アレイ パーティションをフォーマット .

  Gnome Disk Utility を使用して RAID アレイをフォーマットする

たとえば、名前を付けます データ .ラジオボタンを選択 Linux システム専用の内部ディスク (Ext4) フォーマットに進みます。

  RAID 1 パーティションのファイルシステムの選択

このアレイは、起動ごとに自動マウントする必要があります。選択する マウント オプションの編集 .

  Gnome Disk Utility を使用して RAID アレイをマウントするプロセス

トグル ユーザー セッションのデフォルト そしてクリック わかった .認証後、このプロセスは「/etc/fstab」ファイルを変更します。

  RAID アレイのマウント中にユーザーデフォルトを切り替える

再起動すると、マウントされた RAID-1 アレイがファイル エクスプローラーの「データ」フォルダーとして表示されます。

ホーム ディレクトリを RAID-1 アレイに移動する

重要なデータをミラーリングするには、ホーム ディレクトリが RAID-1 アレイ上にある必要があります。将来の「RAID 再構築」に役立つため、移動する代わりにコピーを作成することをお勧めします。

ターミナルで:

dir /mnt

RAID マウントの名前をコピーします。「6256d81c-c23c-42c4-aea3-d194466c6c33」のように見えますが、これはあなたにとっては異なります。ディレクトリ名を置き換え、次のコマンドを使用してホーム ディレクトリを複製します。

sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/

この新しいディレクトリを、古いディレクトリではなく /home としてマウントするようにします。

アプリケーションを強制的に閉じる方法
sudo nano /etc/fstab

ラインを見つける /dev/ディスク... (通常は、マウントしたばかりなので最後の行)、下のスクリーンショットに示すように、マウント ポイントを「/home」に変更します。

  起動時に RAID ディスクをマウントするように FStab を編集する

再起動すると、Pi のホーム ディレクトリが RAID-1 になり、データがミラーリングされます。

Raspberry Pi RAID 障害回復オプション

RAID 障害が発生した場合、リカバリに使用できるオプションが 2 つあり、ここで設定する必要があります。

1) 劣化したアレイをマウントして再構築する

新しいファイルを作成します。

sudo nano /etc/initramfs-tools/conf.d/mdadm

次のコンテンツを含めます。

BOOT_DEGRADED=true

これにより、ディスクに障害が発生した場合でも RAID アレイがマウントされます。劣化したアレイのホーム ディレクトリが使用されます。

2) 劣化したアレイをマウントせず、再構築する

何もしないでください。劣化したアレイは起動時にマウントされません。代わりに古いホーム ディレクトリが使用されます。この理由で、以前にホーム ディレクトリを移動する代わりにコピーしました。これで、RAID アレイの再構築に役立ちます。このモードで欠落しているデータを観察してもパニックにならないでください。これは実際のホーム ディレクトリではないことに注意してください。あなたのデータは別のディスクに安全に保管されており、復旧を待っています。

Webmin が「mdadm: Cannot get array info for /dev/md0.」というエラー メッセージを表示する場合。

  mdadm が RAID アレイ情報を取得できないというエラーを表示する

次のコマンドを使用して、アレイを開始します。

sudo mdadm --run /dev/md0

障害発生時のアレイの再構築

この手順を繰り返す必要はありませんが、ディスク障害が発生した場合にデータを回復できることを知っておくとよいでしょう。

シミュレーションプロセス

Pi がシャットダウンされ、1 つのディスクが取り外されます。次に Pi の電源を入れ、Webmin にアクセスします。の Linux RAID 状態 として表示されるようになりました 非活性 .さらに検査すると、チェック /dev/md0 は、RAID にディスクが 1 つしかない劣化したアレイを示しています。

  RAID メンバーに障害が発生した後、使用可能なディスクが 1 つしか表示されない Webmin インターフェイス

データはそのままですが、現在は 1 つのディスクにしかありません。データを保持するには、RAID アレイを再構築する必要があります。

Pi がシャットダウンされ、新しい空の HDD/SSD ディスクが古いディスクの代わりに挿入され、Pi の電源が入ります。 Webmin へのアクセス、確認 /dev/md0 に、新しいディスクを RAID アレイに追加するオプションを示します。ドロップダウンから新しいディスクを選択し、 パーティションを追加 .

  Webmin インターフェイスで RAID を再構築するための新しいディスクの追加

再構築はすぐに開始され、所要時間はディスクのサイズによって異なります。通常、100GB ごとに 1 時間かかります (SSD の場合)。

  RAID 1 再構築の進行状況を示す Webmin インターフェイス

Pi のデータを保護することは不可欠です

この実装により、データはより安全になり、Pi は日常のドライバーとして使用できます。最近では、産業用アプリケーションで Raspberry Pi が広く使用されており、ダウンタイムを最小限に抑えることができます。

SSD の選択で賢明な選択を行うことができます。メーカーは、同じような容量の SSD をさまざまな価格帯で提供しています。違いは TBW (Total Bytes Written) です。より良いモデルは、通常、TBW が 50% 大きくなります。 RAID に SSD を使用する場合は、TBW が同一でないモデルを選択して、両方のディスクに異なる間隔で障害点が発生するようにします。これにより、RAID アレイを再構築するのに十分な時間が与えられ、データが永続的にそのまま維持されます。