
Raspberry Piで作成したNASのバックアップについて
はじめに
以前、Raspberry PiにOMV(openmediavault)をインストールし、USB接続した外付けHDDを簡易的なNASとして使用する方法を紹介しました。
その後、Raspberry PiとミニPCの消費電力を比較した回でも記載したとおり、現在まで常時稼働させ続けているのですが、数年前から夏に室温が高い状況が続くと異音が発生するようになってきました。故障してNASに保存しているデータが消えてしまう前に対策したいということで、今回はこのNASの簡易的なバックアップ手順について説明します。
参考リンク
- openmediavault公式ドキュメント:RAID Management
- 公式フォーラム:Raspberry NAS mirror problem (USB)
- 公式フォーラム:Create RAID 1 on Raspberry Pi with SATA HAT
NASのバックアップについて
NASのバックアップといえば、RAID1(ミラーリング)を構築し、2台のディスクに同じデータを書き込んでおくことで、片方のディスクに障害が発生しても復旧可能にしておく、というのが定番だと思います。
ただ、openmediavault公式のRAIDに関するドキュメントの一番最後を確認すると、Raspberry PiなどUSB接続したHDDでRAIDを構築しないように警告されています。

公式フォーラムでも以下のような同様のやり取りがあり、USB接続のHDDでのRAID構築は非推奨とされています。
そこで今回は、RAIDではなく、openmediavaultで最初から使用可能なrsyncを使った簡易的なバックアップ機能について説明します。
rsyncとは
rsyncは、ファイルやディレクトリを同期・コピーするために使用するLinuxのコマンドです。コピー元とコピー先の差分だけを転送するため、2回目以降の同期が高速に行えるのが特徴です。
openmediavaultにはこのrsyncを管理画面から設定できる機能が標準で用意されているため、追加のプラグインを導入しなくても、NASのデータを別のHDDへ定期的にバックアップすることができます。
今回は「NASとして使用しているUSB接続したHDD」のデータを「バックアップ用に別途USB接続したHDD」へrsyncで定期的にコピーする構成を作成します。
設定手順
1.バックアップ用HDDの接続とマウント
まず、rsyncのバックアップ先として使用するHDDをUSB経由でRaspberry Piに接続します。

次にopenmediavaultの管理画面にログインし、以前NASの設定をしたときと同じように、左メニューの「ストレージ」→「ファイルシステム」からマウントしてください。(新しいHDDの場合は「作成」からEXT4形式でフォーマットしてからマウントします)
2.rsync用の共有フォルダを作成
続いて「ストレージ」→「共有フォルダ」から、rsyncのバックアップ先となる共有フォルダを作成します。ファイルシステムには「1.」でマウントしたバックアップ用HDDを指定します。
3.Rsyncタスクの設定
「サービス」→「Rsync」を開き、「タスク」を選択します。

なお「タスク」とは別に「サーバ」という設定もありますが、こちらはRaspberry Pi上にrsyncサーバを構築し、別の機器のデータをネットワーク経由で同期する(受け取る)ための機能です。今回は使用しないため説明を省略します。
- タイプ:「ローカル」を指定(同じRaspberry Piに接続したHDD同士の同期のため)
- ソース共有フォルダ(コピー元):NASとして使用しているHDDの共有フォルダ(今回だとpi_hdd1)を指定
- 送信先共有フォルダ(コピー先):「2.」で作成したrsync用の共有フォルダ(今回だと rsync_hdd)を指定
- 実行時刻:好みの時刻を指定します(添付画像では毎日深夜2時にrsyncの同期処理が実行されます)
※「ソース共有フォルダ(コピー元)」と「送信先共有フォルダ(コピー先)」の指定を間違えないよう注意してください。逆に設定したうえで後述の「削除」にチェックを入れると、空のバックアップ用HDDの内容でNASのデータが上書きされてしまう恐れがあります。
その他の項目は必要に応じて設定を変更してください。(添付画像はデフォルト設定になります)

特に「削除」オプションについては挙動を理解したうえで設定することをおすすめします。
チェックを入れるとNAS上で削除したファイルは、バックアップ先のHDDからも削除されます(NASと同じ状態に保たれます)。
チェックを外すとNAS上でファイルを削除してもバックアップ先のHDDからはファイルは削除されずに残り続けます
バックアップ結果の確認について
実際にバックアップがちゃんと成功しているかを確認する方法について説明します。
SSH接続してディレクトリの中身を確認してもよいのですが、ブラウザ上から簡単に確認できる方法があるのでそちらを紹介します。
1.File Browserプラグインのインストール
「システム」→「プラグイン」のページを開き、「openmediavault-filebrowser」をインストールします。

2.File Browserの設定
File Browserプラグインのインストール後、「サービス」→「ファイルブラウザ」が表示されるようになります。共有フォルダにrsync用の共有フォルダ(今回だと rsync_hdd)を指定して設定を保存します。

※「初回ログイン時には、admin:adminの認証情報を使用します。すぐにパスワードを変更することを忘れないでください。」の記載がありますが、File Browserプラグインのバージョンによっては初回ログインのユーザ名、パスワードが異なるかもしれません。
3.File Browserへアクセス
設定を保存後、「http://(Raspberry PiのIPアドレス):設定したポート番号」にアクセスするか、File Browserの設定画面にあった「UIを開く」ボタンを押下するとFile Browserが開きます。

File Browserの設定画面に記載されていた通り、初回はユーザ名:admin、パスワード:admin でログイン出来ます。
4.同期結果の確認
今回は事前にWindos PCからNASにアクセスして「Rsyncバックアップ確認」というディレクトリを作成し、適当なテストファイルを配置しておきました。

File Browserでアクセスしたrsync用の共有フォルダ(今回だと rsync_hdd)を確認すると、対象のディレクトリとファイルがバックアップ先にきちんと同期されていることが確認できました。

(補足)ログインユーザの変更・追加について
先ほどユーザ名:admin、パスワード:admin でログインしましたが、セキュリティのため初回ログイン後にパスワードを変更しておくことをおすすめします。

「設定」メニューの「プロフィール設定」からadminユーザのパスワードを変更出来ます。

また、「ユーザ管理」からadmin以外の別ユーザを登録することも可能です。
おわりに
今回はopenmediavault標準のrsync機能を使って、Raspberry Piで作成したNASの簡易的なバックアップを設定しました。USB接続のHDDではRAIDが非推奨でも、rsyncを使えば定期的なバックアップを手軽に実現できます。

