普段お使いの、Windows PC。故障等に備えて、ちゃんとバックアップしていますか?
何かと面倒なWindows PCのバックアップを。クライアントプログラムをインストールすれば、あとはすべて自動でやってくれる。そんな便利なバックアップ・システムを構築したいと思います。
バックアップ先のサーバは、シングルボードコンピュータのROCK64を使用してみました。ROCK64に接続したUSBストレージに、Windows PCデータのフルバックアップが行われるようです。
UrBackupサーバの構築手順と、ROCK64の安定化の覚書を記録しておこうと思います。
目次
ROCK64のUrBackupサーバ構築手順
ちなみにサーバ側の管理画面はこのような感じです。「2D」というWindows PCのバックアップが、8%まで進んだ状況です。画面下の方、クライアントはWindows、Mac OS X、Linuxが対応しています。
この管理画面はもちろんROCK64で動作していて、PCからWebブラウザでアクセスします。
使用する機材
ROCK64
ROCK64はメモリー4GB版を使用しましたが、他のモデルでも大丈夫かと思います。microSDカードまたはeMMC
2.2TB以下のUSBストレージから直接起動する場合、microSDカードは不要かと思いますが
バックアップ先に2.2TBを超える容量を使用する場合は、microSDまたはeMMCから起動する必要があるかと思います。
USB 3.0対応ストレージ
PCのデスクトップやドキュメントのバックアップが十分に入る容量が必要かと思います。複数のPCのバックアップを行う場合は、各PCのストレージ容量の総和以上の容量が必要になります。ROCK64設定はシリアルコンソールをお勧め致します
設定作業中、ROCK64が動作不安定になって再起動する場合がありました。シリアルコンソールでログイン・設定する場合、再起動時に各種情報(メモリーダンプ)や起動状況が表示されるため、ディスプレイを接続した場合/SSHでログインする場合よりも、状況が把握しやすいかと思います。
設定はすべて、シリアルコンソールで行いましたが、特に問題ありませんでした。キーボード設定も、ターミナル(TeraTermさん)が変換してくれますので、既定値(デフォルト)設定で問題無いようです。
1.armbianインストール
この記事ではarmbianのバージョン5.75を使用させて頂きました。こちらからROCK64のarmbian bionic(Ubuntu 18.04.2ベース)をダウンロードさせて頂きました。
EtcherでmicroSDカードに書き込み後
起動・ログインしました。armbianの初期アカウントはroot/1234のようです。
初回ログイン時、rootユーザのパスワードの変更と、通常使用するユーザの作成が必要のようです。
2.armbian初期設定
アップデート・アップグレード
rootでログインしたため、sudoは省略致しました。
aptコマンドでシステムの更新を行います。
apt update
apt upgrade
タイムゾーン、ホスト名、IPアドレス設定
各種設定は、armbian-configで行いました。
armbian-config
- System
- Network
- IP
- IPアドレスを固定にする場合、設定します。
- UrBackupはサーバを自動で探すため、IPアドレスの設定はありません。可変でも問題なく動作するようです。
- IPV6
- Iperf3
- Clear
- IR
- BT install
- Advanced
- Forget
- IP
- Personal
- Timezone
- Asia→Tokyoを選択、JSTに変更しました
- Locales
- Keyboard
- 変更しようとしたところ、動作が不安定になりましたので、そのままにしました。
- Hostname
- 必要があればホスト名を変更します
- Mirror
- Welcome
- Timezone
- Software
- Help
3.USBストレージのオートマウント
USBストレージは、autofs(オートマウント)を使用しました。
通常のマウントとは異なり、ストレージへのアクセスが無い場合、自動的にアンマウントするため、ストレージが休止モードになります(HDDの場合はディスクの回転停止)
ストレージの寿命を延ばす効果が期待できます。
- 2.2TBを超えるストレージを扱う場合、gdiskをインストールします。
apt install gdisk
- gdiskまたはcfdisk、fdiskでパーティションを作成します。
gdisk /dev/sda
- mkfsコマンドでファイルシステムを作成します。
mkfs -t ext4 /dev/sda1
- autofsをインストールします。
apt install autofs
- USBストレージをマウントするディレクトリを作成します。/usbにしてみました。
mkdir /usb
- /etc/auto.master.d/auto.usbファイルを作成します。
mkdir /etc/auto.master.d echo "/usb /etc/auto.usb" > /etc/auto.master.d/usb.autofs
次の内容です。
/usb/ /etc/auto.usb
- /etc/auto.usbファイルを作成します。
vi /etc/auto.usb
ストレージは/usb/hdd1にマップしようと思います。次のような内容になります。
hdd1 -fstype=ext4,rw :/dev/disk/by-uuid/<USBストレージのパーティションのUUID>
UUIDの入力が大変そうなため、次のコマンドで自動生成してみました(/dev/sda1の部分は適宜変更して下さい)。
echo "hdd1 -fstype=ext4,rw :/dev/disk/by-uuid/"`sudo blkid /dev/sda1 | grep -o '\sUUID=\"[0-9a-f\-]*\"' | grep -o '[0-9a-f\-]*'` | sudo tee -a /etc/auto.usb
- autofsサービスを起動します。
systemctl enable autofs --now
- automountコマンドで正しくマップされているか確認します。
automount -m
- /usb/hdd1ディレクトリにアクセス、ちゃんとマウントされるかどうか確認します。
ls /usb/hdd1 df -h
ROCK64は、2.2TB以上のUSBストレージから起動できませんでしたが、別のストレージから起動すれば、2.2TBを超える容量は問題なく扱えるようです。
USBストレージを取り外す場合、アンマウントしてから外しましょう。
sync
umount /usb/hdd1
4.UrBackupサーバインストール
armbian-configのSoftwareメニューからインストールできるようですが。どうもうまく動作しなかったため、コマンドラインでインストールしました。
- aptコマンドでurbackup-serverをインストールします。
apt install urbackup-server
apt update apt upgrade apt --fix-broken install
- インストールが進むと、バックアップ先のディレクトリ入力画面が表示されます。あとで変更するため、ここではそのままOKを選択しました。
- サービスが起動しているか確認します。
systemctl status urbackupsrv
起動していない場合、下記のコマンドでサービスを有効にします。
systemctl enable urbackupsrv # コピペ用 # systemctl start urbackupsrv # systemctl stop urbackupsrv
ポート番号等の設定は、/etc/default/urbackupsrvファイルで設定されているようです。
# vi /etc/default/urbackupsrv
- Webブラウザで管理画面にアクセスします。ポート番号は55414のようです。
http://<ROCK64のIPアドレス>:55414
5.UrBackupサーバの初期設定
取り付けたUSBストレージにバックアップが行われるように設定を変更します。
- バックアップ先のディレクトリを作成、パーミッションを変更します。
mkdir /usb/hdd1/urbackup chown -R urbackup.urbackup /usb/hdd1/urbackup
- 管理画面→Settings→Server→Backup storage path:欄に、/usb/hdd1/urbackupを入力、画面下方のSaveボタンをクリックします。
以上でサーバ側の設定は完了です・・・・が、もう1つ。
6.ROCK64の動作の安定化
urBackupサーバのインストールは完了したのですが、ROCK64の動作が不安定な印象を受けます。存在しないアドレスへのメモリーアクセス(読み込みまたは書き込み)が発生して、カーネルが停止している可能性があるため、swap領域を増やす対策を行いました。
こちらの記事の手順になります。
もしもROCK64の動作が安定しない(数分~数十分おきに再起動する)場合は、お試し頂くことをお勧め致します。
7.UrBackupクライアントインストール
最後にバックアップを行いたいPC、クライアント側の設定を行いましょう。
クライアントプログラムをインストールしますが、こちらからダウンロードさせて頂きました。
インストーラーを実行し、画面の指示に従ってインストールします。インストールの最後に、バックアップ対象のファイルとボリュームを選択します。
- ファイルを選択
- すべてのファイル(一時ファイル、キャッシュ、システム、プログラムを除く)
- すべてのユーザーのドキュメント、音楽、画像、動画とデスクトップのみバックアップ
- 手動でファイルを選択
- ボリュームを選択
- システムボリューム
- すべての内蔵ディスク
- 手動でディスクを選択
インストールが完了すると、タスクバーに赤いアイコンが表示されるかと思います。右クリックでメニュー表示、ダブルクリックでステータス画面が表示されます。同じネットワーク(LAN)内にUrBackupサーバがある場合、サーバが自動的に検索されて、バックアップが開始されます。特に設定は不要のようです。
バックアップ後の確認
これで普段使用しているWindows PCのデータが、自動バックアップされるようになりました。
このような感じで、ファイルバックアップ/ボリューム(イメージ)バックアップともに正常終了致しました。
WindowsのImage(ボリューム)バックアップの、実際のバックアップ先ファイルを確認したところ。
システムボリュームは、VHDZファイルとして保存されていました。
VHDZは126GBのファイルサイズです。armbianのurbackup-serverはarmhf版(32ビットパッケージ)のようですが、2GB/4GB以上のファイルも問題なくバックアップしてくれるようです。
ROCK64とPCの電源を入れておけば、あとはいつも最新のバックアップが行われる状態になります。
クライアントPCのシステムボリュームのバックアップを行った場合、UrBackupのリカバリCD/USBメモリーからPCを起動して、システムの復元が可能のようです。こちらからダウンロードが可能のようです。
ROCK64の使い方も様々ですが、このような用途でお使い頂くのも実用的かと思います。(ROCK64の熱暴走にはお気をつけて!)