Proxmox VE 8.1 Install Battle - Proxmox Backup Server 編(6/N)

Summary

企業のネットが星を被い、電子や光が駆け巡ってもハイパーバイザーやデータが消えてなくなるほど、情報化されていない近未来。

VMware の社内利用を禁じられた企業ネットでは新しい仮想化基盤を構築するべく自宅環境をクローンするのであった。


前回は、仮想マシーンのテンプレートの作成をしました。今回は Proxmox 社が提供している Proxmox Backup Server を構築して Proxmox VE のバックアップ先として利用します。

Proxmox Backup Server とは

Proxmox Backup Server は、VM、コンテナ、物理ホストをバックアップおよび復元するためのバックアップソフトウェアです。完全に重複排除された増分バックアップをサポートすることで、ネットワーク負荷を大幅に軽減し、ストレージスペースを節約します。

主な機能。

  • 仮想マシンのバックアップ
  • コンテナのバックアップ
  • 物理ホストのバックアップ
    • APT Repository で配布されている
    • 確認出来た対応 OS は下記
      • Debian 12 (Bookworm)
      • Debian 11 (Bullseye)
      • Debian 10 (Buster)
      • Ubuntu 20.04 LTS
  • ZFSD を利用した重複排除
  • Rust で書かれたクライアントを利用することで CPU 負荷を減らし効率的に転送
  • リモート同期
  • LTO バックアップに対応

スペック

Proxmox Backup Server の最低スペックは下記です。

CPU64bit 2+ Core
Memory2GB
OS Disk8GB~
Backup Storageあるだけ
NIC1+

また、推奨されているスペックは下記です。

CPU64bit 4+ Core
Memory4GB + ZFS 領域 1TiB に対して 1GiB 追加
OS Disk32GB
Backup StorageAll FLASH
NICRedundant Multi-GBit/s

そのため、 Memory は 1TiB のバックアップストレージとする場合は最低 3GB、 推奨 5GB になります。

今回の構成

今回は、専用のサーバーを用意出来なかったため QNAP TS-664 を魔改造し TrueNAS SCALE に洗脳済みのハードウェア上に仮想マシンとして構築してみる、スペックは下記。

CPU2+ Core (N5105 4C/4T)
Memory6GB
OS Disk32GB
Backup StorageSATA SSD 500GB
NICLACP 2x 10GbE

ISO のダウンロード

例のごとく Proxmox のこのページからダウンロードし sha256sum を確認しておきます。

TrueNAS SCALE に仮想マシンを作成

TrueNAS SCALE に設定する場合。

参考

インストール

Install Proxmox Backup Server (Graphical) EULA OS Disk

Location and Time Zone Network Install

No valid subscription を消す

これは Proxmox VE の開発元がエンタープライズユースでサポートサービスを展開しているためその Subscription が無いという意味。個人で利用するには不要なためこのモーダル表示自体を消してしまう。

よくみる方法では後続で設定する自動アップデートの設定でソースが更新されると再度表示されるためこの方法としているこの方法であれば、 APT 完了後のファイル更新をきっかけに再度非表示化の処理が自動でされる。

SSH の PasswordAuthentication no

Proxmox VE ではクラスターを作成すると自動的にバックエンドで SSH 秘密鍵による Tunnel が root で張られるがこれは、パスワード認証である必要はないため SSH のパスワード認証を無効化する。 この時に、一般サーバーのように PermitRootLogin no するとクラスターも壊れるので注意。

1
2
sed -i'' -E 's/^#?PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
systemctl restart sshd

sshd -T コマンドで設定内容を確認しておく。

1
2
3
> sshd -T | grep password
passwordauthentication no
permitemptypasswords no

Update 設定

Update の設定を変更しておく。

  • Administration > Repositories を開く
  • pbs-enterprise を選択し Disable をクリックし無効化する

Administration > Repositories

  • Add をクリック
  • No-Subscription を選択し Add をクリック

Add No-Subscription

NTP, SMTP relay, unattended-upgrades

前回 Proxmox VE の設定でも設定したので、そちらを参考にしてください。

SMTP relayConfiguration > Notifications にあります、内容はほぼ変わらないため Proxmox VE の記事を参考に設定してください。

  • NTP
  • unattended-upgrades

ZFS pool の作成

  • 仮想マシンに追加の Disk を作成して追加
  • Administration > Storage / Disks へ移動
  • ZFS を選択
  • Create: ZFS をクリック
  • 必要事項を入力

Create: ZFS

GC & Prune 設定

datastore 上でバックアップの保持ポリシーを設定します。

とりあえず、 GC を毎日 21:00 にかける設定を追加。 保持設定は下記としました。

Max Depth
Keep Last3
Keep Hourly30
Keep Daily3
Keep Weekly4
Keep Monthly4
Keep Yearly-

GC && Prune

Proxmox VE アクセスユーザーの作成

  • Configuration > User Management へ移動
  • Add をクリック
  • User name: 適当
  • Password: 長いやつ
  • Confirm Password: 長いやつ

Add User

API Token 作成

  • Configuration > API Token へ移動
  • Token Name を入力
  • Add をクリック

Add API Token

表示された Token IDSecretCopy Secret Value で控えておく。

Permissions を設定

  • Configuration > Permissions へ移動

  • Add をクリック

  • User Permission を開く

  • Path: /datastore

  • User: 先ほど作成したユーザーを設定

  • Role: DatastoreAdmin を選択

次に API Token に権限を付けます。

  • API Token Permission を開く
  • Path: /datastore
  • API Token: 先ほど作成した API Token を設定
  • Role: DatastoreAdmin を選択

完了すると、 user と API Token の 2 つに権限が付いている。

Add Permissions

完了したら、下記の方法で権限を確認しておく。

  • Configuration > Permissions へ移動
  • API Token をクリック
  • Show Permissions をクリック
  • /datastore 配下に権限があることを確認

Show Permissions

Proxmox VE へ設定

  • Datacenter > Storage へ移動

  • Add をクリック

  • Proxmox Backup Server を選択

  • ID: 無難にホスト名を入力

  • Server: IP アドレス

  • Username: 先ほどの API Token

  • Password: API Secret

  • Datastore: 今回は backups

  • Fingerprint: Proxmox Backup Server の画面から入手

Proxmox Backup Server から Fingerprint の取得

Add: Proxmox VE

Backup 設定追加

Backup 設定を追加して Proxmox Backup Server へバックアップの取得を開始する。

  • Datacenter > Backup

  • General

    • Storage: pbs-02
    • Schedule: */1:00
    • Selection mode All
    • Notification mode: Default(auto)
    • Send email to: ひみつ
    • Send email: On failure only
    • Mode: Snapshot

General

Note Templatecluster: {{cluster}}({{node}}), {{vmid}}({{guestname}}) を入力している。

Note Template

バックアップのテスト

テストは Run now で開始できる。 Logs に進捗が表示される。

Run now Backup logs

また、 Proxmox Backup Server 側でも完了すると履歴を確認できる。

Datastore > backups > Content

まとめ

今回は Proxmox Backup Server を構築して Proxmox VE のバックアップ設定をしました。バックアップの計画によっては pool などでタイミングを変更できるため弊宅では template は日時、 VM は毎時で取得しています。一時的に作成した VM は取得しないなど柔軟に設定すると良いでしょう。また今回の方法であれば ZFS の重複排除も効いてくるのでストレージの大幅な削減も可能です。

弊宅では、3 年ほど運用していますが重複排除係数( Deduplication Factor )が 134.0 になっています。弊宅の環境では 500GB のストレージで一杯になっているので雑に計算すると 500*134.0 = 67TB 程度のストレージが必要な所このサイズで収まっています。

Built with Hugo
テーマ StackJimmy によって設計されています。