OpenWRTにおけるリモートへの設定・イメージバックアップ

公開 | 更新 

FriendlyElec NanoPi R2Sを例に、 OpenWRT 設定 のNASへの定期 バックアップ に加え、システムが収められたmicro SDの定期的な イメージ バックアップ を設定しました。

OpenWRT設定バックアップ対象を確認

OpenWRTの設定バックアップでその対象となるファイルは、LuCIを System → Backup / Flash Firmware と辿った Configuration タブで、設定・確認することができます。

/etc/config/ はデフォルトでバックアップ対象になっているので、他に必要な項目を適宜追加して、 Open list ボタンでリストを確認する要領です(CLIでの sysupgrade -l に相当)。

図1.バックアップ項目の設定

図1.バックアップ項目の設定

私はrootホーム直下にスクリプトファイルを置いているのでそれを追加したり、今までに触ったことのある設定ファイルをなどを追記しています。

 

設定バックアップ項目の追加

OpenWRTの設定をバックアップする上で、公式ガイドととても参考になるのがこちらの記事でした(Great Works!!)。

 

OpenWRTではユーザが後から導入したパッケージのリストが設定バックアップに含まれていないので、 /etc/config/ へリストを生成しておくと、レストア時に困りません。

先述の記事では、このリストを opkg へ投げつけてのパッケージ一括レストアの方法も紹介されているのですが、流石に今回は試しません。なお、このリストにはレポジトリ外から ipk ファイルでインストールしたパッケージも含まれるので、注意が必要です。

 

また、導入したものの敢えて動かしていないサービスがあるとレストア時に紛らわしいので、これも次の要領でリスト化しておきます。

 

OpenWRT設定をリモートバックアップ

CLIベースでOpenWRTの設定をバックアップする sysupgrade -b コマンドの出力先を標準出力とし(コマンド末尾のハイフン)、NASへのsshをパイプで繋ぐことで、リモートホストへのオンザフライバックアップが実現されます。

このとき、R2Sのssh公開鍵( ~/.ssh/id_rsa.pub )をバックアップ先NASの authorized_keys へ登録して、パスワードレスでのsshアクセスが可能であることが前提です(解説記事はこちら)。

 

先のインストール済パッケージリストやサービスリスト生成コマンドと共に、これをOpenWRTの Scheduled Tasks へ登録しておけば、NASへ定期的な設定のバックアップが蓄積されるという仕組みです。

図2.Scheduled Taskへ登録

図2.Scheduled Taskへ登録

システムSDイメージをリモートバックアップ

GL-AR750Sの時と異なり、NanoPi R2SのOpenWRTシステムはmicro SDカードに展開されているので、ブロックデバイスレベルでのイメージをバックアップとして取得することが可能です。

このアプローチは以前にRapsberry Piにて、試したことがありました

まず、ターミナルにてmicro SDデバイスの情報を確認。

これを元にRapsberry Piの時と同じ要領で、中間ファイルを作らずにネットワーク上のSynology NASへイメージのオンザフライバックアップを試みます。

容量1GBあるmicro SDカードはその1割も使用していないので、ディスクイメージのバックアップと言っても、1分程度で終わりました。バックアップ先のNASで生成物を確認します。

本当にディスクイメージは吸い出せたのか、以前記事にした要領でイメージファイルをループバックデバイスに登録の上、 gparted で覗いてみます。

図3.gpartedでイメージ閲覧

図3.gpartedでイメージ閲覧

始めの設定バックアップに続き、イメージバックアップも Scheduled Task へ追加します(頻度は週一とした)。

図4.Scheduled Taskへ全タスク登録

図4.Scheduled Taskへ全タスク登録

数日運用後、バックアップフォルダの様子を確認しました。

このまま放置すると設定バックアップが無限に増え続けるので、直近14個を保持するようにこちらの記事で以前組んだスクリプトをSynology NAS上で定期実行しています。

 

created by Rinker
¥10,339 (2024/04/20 00:45:44時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA