Table of Contents
1 はじめに
前回の記事 ではMini PCを使ってホームラボサーバーをたてました。今回はそのバックアップについてです。
2 3-2-1ルール
バックアップの3-2-1ルールをご存知でしょうか。
- 3 - 3つのコピー(オリジナル含む)を持つ
- 2 - 2種類の媒体にコピーを持つ
- 1 - オフサイトコピーを一つ持つ
というバックアップのベストプラクティスです。そこまでやるのはマニアックですが、大事なデータが無くなってから泣いても仕方がないので、これを満たすバックアップを考えます。オフサイトコピーとしては、せっかく持っているpCloudを使いたいところです。
3 Proxmoxのバックアップ
Proxmox Backup Serverという機能があります。差分バックアップや重複排除に対応していてなかなか良さそうなのですが、クラウドやポータブルなUSBディスクには対応していないようなので断念しました。
次善の手としてProxmoxのバックアップ機能を使います。こちらは潔くフルバックアップのみですが、圧縮には対応しています。毎回VMサイズ820GBのファイルを作られても困りますし。。。
3.1 USBディスクの準備
バックアップ先は10年前から持っている気がする1TBのUSBドライブ(HDD)です。数年ぶりに引っ張り出してきて繋いだら無事に動きましたが、こいつが一番先に逝ってしまいそうな気がします。
これをMacにつなぐと、disk utilityが立ち上がって「読めないけど初期化するよ?」と聞いてくるので、Proxmoxとの互換性を考慮してexFAT形式でフォーマットします。読めてしまう場合も、いったん取り出しボタンをクリックした後で、やはりdisk utilityを使ってexFATでフォーマットします。FAT32だと2GB以上のファイルが扱えないらしいので。
これを取り出し、ホームラボPCに差し替えます。
3.2 USBディスクへのバックアップ
このままではProxmoxが認識しないので、Proxmoxにsshして手動マウントします。
mkdir /mnt/bkup fdisk -l # USBディスクのパスを調べる。/dev/sdb1など。 mount -t exfat /dev/sdb1 /mnt/bkup
すると、ProxmoxのWeb UI上にそのディスクが現れます(だっけ?)。仮に<bkup1>とします。ついで、バックアップジョブを作成します。手動バックアップしたいだけなので、一番長い1年1回のスケジュールを仮に指定します。
- Datacenter > Backup > Add
- Generalタブ > Storage: <bkup1> > Schedule: First day of the year 00:00 > check VM > Mode: Snapshot
- Retentionタブ > check Keep all backups
- > Create
- 作成されたバックアップジョブを選択してハイライトさせる > Run now
バックアップが完了したらProxmoxにsshしているターミナルでUSBディスクをアンマウントします。
sync # おまじない umount /mnt/bkup
これで第1のバックアップができました。
4 MacBookにバックアップファイルを持ってくる
次いで、MacBook上にバックアップファイルを持ってきます。これは簡単で、USBディスクをつないでローカルにコピーするだけ。第2のバックアップもできました。
5 pCloudにアップロードする
残るはオフサイトバックアップです。pCloudのライフタイムプラン512GBを購入しているので、これを使います。
ところが、pCloudはGBのファイルをアップロードできなかったという情報(古いかもしれない)をいくつか見た気がするので、安全のためにファイルを分割して転送することにしました。これだと途中経過も見られますし。(巨大ファイルはアップロードできないと思い込んでいたのが本当のところです。。。)
分割:
split -b 800M -d bigfile bigfile-part
結合はこれでできるはず:
cat bigfile-part* >bigfile
クラウドへのアップロードには既に設定してあるrcloneを使います。過去のブログエントリーを参考にしてcryptリモートを作成し、こちらに転送します。pCloudがわざわざファイルを結合して覗いたりはしないと思いますが、念の為。
rclone mkdir pcl:/bkup_cryp (略。リンク参照。) ls >filelist.txt # 分割したファイルのある場所で rclone copy --include-from=filelist.txt . bkup_crypt:/20250629/
54GB分のファイル転送に3時間ほどかかりました。 おっと、filelist.txtまで送ってしまいました。ま、いいか。 これでオフサイトにある第3のバックアップができました。
6 終わりに
3-2-1ルールを満たすバックアップができるようになりました。全く自動化していませんが、USBディスクへのバックアップは週に1回くらい、クラウドへは数ヶ月に1回もやればいいのでこれでよしとしましょう。
ところで、4th of JulyセールでpCloudが2TBライフタイムプランを$279(66%オフ)に下げているんですよね。$279かぁ。ちょっと高いな。