名前

vzdump - VMとコンテナのバックアップユーティリティ

SYNOPSIS

vzdump ヘルプ

vzdump {<vmid>} [OPTIONS].

バックアップを作成します。

<vmid>: <文字列

バックアップするゲストシステムのID。

--all <boolean>(デフォルト = 0)

このホスト上のすべての既知のゲストシステムをバックアップします。

--bwlimit <整数> (0 - N)(デフォルト = 0)

I/Oバンド幅の制限(単位:KiB/s)。

--圧縮 <0 | 1 | gzip | lzo | zstd>(デフォルト = 0)

ダンプファイルを圧縮します。

--dumpdir <文字列

結果のファイルを指定したディレクトリに保存します。

--除外 <文字列

指定したゲストシステムを除外 (--all を想定)

--除外パス <配列

特定のファイル/ディレクトリ(シェル・グロブ)を除外します。始まるパスはコンテナのルートに固定され、その他のパスは各サブディレクトリに相対的に一致します。

--フリーク [[enabled=]<1|0>][,ストレージ=<ストレージID>]]。

バックアップフリートのオプション(VMのみ)。

--ionice <整数> (0 - 8)(デフォルト = 7)

BFQスケジューラ使用時のIO優先度を設定します。VMのスナップショットとサスペンドモードのバックアップでは、これはコンプレッサにのみ影響します。値が8の場合はアイドル優先度が使用され、それ以外の場合は指定した値でベストエフォート優先度が使用されます。

--ジョブID

バックアップジョブのID。設定されると、バックアップ通知のbackup-jobメタデータフィールドにこの値が設定されます。root@pamのみがこのパラメータを設定できます。

--ロックウェイト <整数> (0 - N)(デフォルト = 180)

グローバルロックの最大待機時間(分)。

--メール通知 <常に|失敗>(デフォルト = 常に)

非推奨: 代わりに通知ターゲット/マッチャーを使用してください。通知メールを送るタイミングを指定

--宛先 <文字列

非推奨:代わりに通知ターゲット/マッチャーを使用してください。メール通知を受け取るメールアドレスまたはユーザのカンマ区切りリスト。

-マックスファイル <整数> (1 - N)

非推奨: 代わりにprune-backups を使用してください。ゲストシステムごとのバックアップファイルの最大数。

--モード <スナップショット | 停止 | サスペンド>(デフォルト = スナップショット)

バックアップモード。

--ノード <文字列

このノードで実行された場合のみ実行されます。

--notes-template <文字列

バックアップのメモを生成するためのテンプレート文字列。値で置き換えられる変数を含むことができます。現在サポートされているのは{{cluster}}, {{guestname}}, {{node}}, {{vmid}}ですが、今後追加されるかもしれません。改行とバックスラッシュは、それぞれ「˶n」と「˶n」としてエスケープする必要があります。

Note 必要なオプション:ストレージ
--notification-mode <auto | legacy-sendmail | notification-system>(デフォルト = auto)

使用する通知システムを決定します。legacy-sendmail に設定すると、vzdump は mailto/mailnotification パラメータを考慮し、sendmailコマンドで指定したアドレスにメールを送信します。notification-systemに設定すると、PVEの通知システム経由で通知が送信され、mailtoとmailnotificationは無視されます。auto(デフォルト設定) に設定すると、mailto が設定されていればメールが送信され、設定されていなければ通知システムが使用されます。

--notification-policy <always | failure | never>(デフォルト = always)

非推奨:を使用しないでください。

--通知先 <文字列

非推奨:を使用しないでください。

--pbs-change-detection-mode <data | legacy | metadata>.

ファイルの変更を検出し、コンテナバックアップのエンコード形式を切り替えるために使用されるPBSモード。

--performance [max-workers=<integer>] [,pbs-entries-max=<integer>].

その他のパフォーマンス関連の設定。

--pigz <整数>(デフォルト = 0)

N>0の場合はgzipの代わりにpigzを使用。N=1 はコアの半分を使用し、N>1 は N をスレッド数として使用します。

--プール <文字列

指定されたプールに含まれるすべての既知のゲストシステムをバックアップします。

--プロテクト <ブール

trueの場合、バックアップに保護マークを付けます。

Note 必要なオプション:ストレージ
--prune-backups [keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>](default = keep-all=1)

ストレージ構成の保持オプションの代わりに、これらの保持オプションを使用します。

--quiet <ブール値>(デフォルト = 0)

静かにしてください。

--remove <boolean>(デフォルト = 1)

prune-backupsに従って古いバックアップを削除します。

--スクリプト <文字列

指定されたフックスクリプトを使用します。

--stdexcludes <boolean>(デフォルト = 1)

一時ファイルとログを除外します。

--stdout <ブール値

tar をファイルではなく標準出力に書き込みます。

--stop <ブール値>(デフォルト = 0)

このホストでのバックアップジョブの実行を停止します。

--stopwait <整数> (0 - N)(デフォルト = 10)

ゲストシステムが停止するまでの最大待機時間 (分)。

--ストレージ ID

結果のファイルをこのストレージに保存します。

--tmpdir <文字列

指定したディレクトリに一時ファイルを保存します。

--zstd <整数>(デフォルト = 1)

Zstdスレッド。N=0は利用可能なコアの半分を使用し、Nが0より大きな値に設定された場合、Nはスレッド数として使用されます。

説明

Proxmox VEは、各ストレージおよび各ゲストシステムタイプの機能を使用し、完全に統合されたソリューションを提供します。これにより、システム管理者はバックアップの一貫性とゲストシステムのダウンタイムをモードオプションで微調整することができます。

Proxmox VEのバックアップは、常にVM/CT設定とすべてのデータを含むフルバックアップです。 バックアップはGUIまたはvzdumpコマンドラインツールから開始できます。

バックアップ・ストレージ

バックアップを実行する前に、バックアップストレージを定義する必要があります。ストレージを追加する方法については、ストレージのドキュメントを参照してください。Proxmox Backup Serverストレージの場合、バックアップは重複排除されたチャンクとメタデータとして保存され、ファイルレベルのストレージの場合、バックアップは通常のファイルとして保存されます。Proxmox Backup Serverは高度な機能を備えているため、専用ホストで使用することをお勧めします。NFSサーバを使用するのも良い方法です。どちらの場合も、バックアップをテープドライブに保存し、オフサイトアーカイブにすることができます。

定期バックアップ

バックアップジョブは、選択可能なノードとゲストシステムに対して、特定の日時に自動的に実行されるようにスケジュールできます。詳細はバックアップジョブセクションを参照してください。

バックアップモード

一貫性(オプションモード)を提供するには、ゲストのタイプによっていくつかの方法があります。

VMのバックアップモード:
停止モード

このモードでは、VMの動作が短時間停止する代わりに、バックアップの一貫性が最も高くなります。このモードは、VMの整然としたシャットダウンを実行し、バックグラウンドでQEMUプロセスを実行してVMデータをバックアップします。バックアップの開始後、VMはフル稼働モードに移行します。ライブ・バックアップ機能を使用することで、一貫性が保証されます。

サスペンドモード

このモードは互換性のために提供されており、スナップショット・モードを呼び出す前にVMを一時停止します。VMをサスペンドするとダウンタイムが長くなり、データの一貫性が向上するとは限らないため、スナップショット・モードの使用をお勧めします。

スナップショットモード

このモードは、わずかな不整合リスクを伴いますが、操作のダウンタイムを最小限に抑えます。このモードはProxmox VEのライブバックアップを実行することで機能し、VMの実行中にデータブロックがコピーされます。ゲストエージェントが有効(エージェント: 1) で実行中の場合、guest-fsfreeze-freezeおよびguest-fsfreeze-thawを呼び出して整合性を向上させます。

QemuServer用Proxmox VEライブバックアップの技術概要は、こちらをご覧ください。

Note Proxmox VEライブバックアップは、あらゆるストレージタイプでスナップショットのようなセマンティクスを提供します。基礎となるストレージがスナップショットをサポートしている必要はありません。また、バックアップはバックグラウンドのQEMUプロセスで実行されるため、QEMUがVMディスクを読み込んでいる間、停止したVMは短時間実行されているように見えますが、VM自体は起動せず、ディスクが読み込まれるだけであることに注意してください。
コンテナのバックアップモード:
停止モード

バックアップの間、コンテナを停止します。これにより、ダウンタイムが非常に長くなる可能性があります。

サスペンドモード

このモードでは、rsync を使用してコンテナのデータを一時的な場所にコピーします(オプション--tmpdir を参照)。その後、コンテナが一時停止され、2 回目の rsync で変更されたファイルがコピーされます。その後、コンテナが再び起動(再開)されます。この結果、ダウンタイムは最小限になりますが、コンテナのコピーを保持するための追加の領域が必要になります。

コンテナがローカル・ファイル・システム上にあり、バックアップのターゲット・ストレージが NFS/CIFS サーバである場合、-tmpdirもローカル・ファイル・システム上に存在するように設定する必要があります。 バックアップ・ストレージがNFSサーバの場合、サスペンド・モードでACLを使用してローカル・コンテナをバックアップする場合にも、ローカルのtmpdirを使用する必要があります。

スナップショットモード

このモードでは、基礎となるストレージのスナップショット機能を使用します。まず、データの一貫性を確保するためにコンテナが一時停止されます。 コンテナのボリュームの一時スナップショットが作成され、スナップショットの内容がtarファイルにアーカイブされます。最後に、一時スナップショットを再度削除します。

Note スナップショット・モードでは、すべてのバックアップ・ボリュームがスナップショットをサポー トするストレージ上にある必要があります。backup=noマウントポイントオプションを使用すると、個々のボリュームをバックアップ(およびこの要件)から除外できます。
Note デフォルトでは、ルート ディスク マウント ポイント以外の追加のマウント ポイントはバッ クアップに含まれません。ボリューム マウント ポイントについては、バックアップオプションを設定して、マウント ポイントをバックアップに含めることができます。デバイスマウントとバインドマウントは、コンテンツがProxmox VEストレージ ライブラリの外部で管理されるため、バックアップされることはありません。

VM Backup Fleecing

VMのバックアップが開始されると、QEMUはブロック層に「copy-before-write」フィルタをインストールします。このフィルタは、新しいゲストの書き込み時に、バックアップにまだ必要な古いデータが最初にバックアップターゲットに送信されることを保証します。ゲストの書き込みはこの操作が終了するまでブロックされるため、まだバックアップされていないセクタへのゲストの IO はバックアップターゲットの速度によって制限されます。

バックアップフリークでは、そのような古いデータはバックアップターゲットに直接送信されるのではなく、フリークイメージにキャッシュされます。これはゲストのIOパフォーマンスを助け、特定のシナリオではハングを防ぐこともできますが、その代償としてより多くのストレージ容量が必要になります。

ストレージlocal-lvm上に作成されたフリーキング・イメージを使用してVM123のバックアップを手動で開始するには、以下を実行します。

vzdump 123 --fleecing enabled=1,storage=local-lvm。

いつものように、設定オプションを使用して、特定のバックアップジョブ、またはノード全体のフォールバックとしてオプションを設定できます。UIでは、fleecingはバックアップジョブの編集時にAdvancedタブで設定できます。

フ リークするストレージは、シンプロビジョニングとディスカードサポートを備えた高速なロー カルストレージであるべきです。例えば、LVM-thin、RBD、ストレージ構成にスパース1を持つZFS、多くのファイルベースのストレージです。理想的には、fleecingストレージは専用ストレージで、フルに動作しても他のゲストには影響せず、バックアップに失敗するだけです。バックアップされたfleecingイメージの一部は、スペース使用量を低く抑えるために破棄されます。

破棄をサポートしないファイルベースのストレージ(例えば、バージョン4.2以前のNFS)の場合、ストレージの設定でpreallocationをoffに設定する必要があります。qcow2(ストレージがサポートしている場合、fleecingイメージのフォーマットとして自動的に使用されます)と組み合わせることで、イメージの既に割り当てられた部分を後で再利用できるという利点があり、これでもかなりのスペースを節約できます。

Warning シンプリープロビジョニングされていないストレージ、例えばスパースオプションのないLVMやZFSでは、オリジナルディスクのフルサイズを前もってフ リーシングイメージ用に予約しておく必要があります。シンプリープロビジョニングされたストレージでは、バックアップが別のディスクでビジーになっている間にゲストがディスク全体を再書き込みした場合にのみ、フリーキングイメージはオリジナルイメージと同じサイズまで成長できます。

CT 変化検出モード

変更検出モードを設定すると、pxar アーカイブのエンコード形式が定義され、Proxmox Backup Server をターゲットとしたコンテナバックアップで変更されたファイルや変更されていないファイルがどのように処理されるかが定義されます。

変更検出モードオプションは、ジョブの編集中にAdvancedタブで個々のバックアップジョブに対して設定することができます。さらに、このオプションは設定オプションを介してノード全体のフォールバックとして設定することもできます。

3つの変化検出モードがあります:

モード 説明

デフォルト

pxarフォーマットバージョン1を使用して、すべてのファイルを読み込み、単一のアーカイブにエンコードします。

データ

すべてのファイルを読み込み、エンコードしますが、pxarフォーマットバージョン2を使用して、データとメタデータを別々のストリームに分割します。

メタデータ

ストリームを分割し、Dataのようなアーカイブ・フォーマット・バージョン2を使用しますが、変更されていないファイルを検出するために以前のスナップショットのメタデータ・アーカイブ(存在する場合)を使用し、可能な限りディスクからファイルの内容を読み込まずにデータチャンクを再利用します。

変更検出モードのメタデータを使用してバックアップを実行するには、以下を実行します。

vzdump 123 --storage pbs-storage --pbs-change-detection-mode metadata
Note VMのバックアップやProxmox Backup Server以外のストレージバックエンドへのバックアップは、この設定の影響を受けません。

バックアップファイル名

vzdump の新しいバージョンでは、ゲストの種類とバックアップ時間がファイル名にエンコードされます。

vzdump-lxc-105-2009_10_09-11_04_43.tar

これにより、同じディレクトリに複数のバックアップを保存することができます。さまざまな保持オプションを使用して、保持するバックアップの数を制限できます。

バックアップファイル圧縮

lzo
[Lempel-Ziv-Oberhumer a lossless data compression algorithmhttps://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer]
,gzip
[gzip - based on DEFLATE algorithmhttps://en.wikipedia.org/wiki/Gzip]
orzstd
[Zstandard a lossless data compression algorithmhttps://en.wikipedia.org/wiki/Zstandard]
.

現在、Zstandard (zstd)はこれら3つのアルゴリズムの中で最速です。 マルチスレッドはlzoとgzipに対するzstdのもう一つの利点です。Lzo と gzip はより広く使われており、しばしばデフォルトでインストールされます。

pigz
[pigz - parallel implementation of gziphttps://zlib.net/pigz/]
をインストールすることで、gzip の代替となり、マルチスレッドによるパフォーマンスが向上します。pigz と zstd では、スレッド数/コア数を調整できます。以下の設定オプションを参照してください。

バックアップファイル名の拡張子から、どの圧縮アルゴリズムでバックアップが作成されたかを判断できます。

.zst

Zstandard (zstd) 圧縮

.gz または .tgz

gzip圧縮

.lzo

エルゾ圧縮

バックアップファイル名が上記のファイル拡張子のいずれかで終わっていない場合、vzdumpによって圧縮されていません。

バックアップ暗号化

Proxmox Backup Serverストレージでは、オプションでバックアップのクライアント側暗号化を設定できます

バックアップ・ジョブ

screenshot/gui-cluster-backup-overview.png

手動でバックアップをトリガーする以外に、すべての仮想ゲストまたは選択した仮想ゲストをストレージにバックアップする定期的なジョブを設定することもできます。ジョブは UI のDatacenterBackupで管理するか、/cluster/backupAPI エンドポイント経由で管理できます。どちらも、/etc/pve/jobs.cfg にジョブエントリを生成し、pveschedulerデーモンによって解析および実行されます。

screenshot/gui-cluster-backup-edit-01-general.png

ジョブは全てのクラスタノードまたは特定のノードに対して設定され、指定されたスケジュールに従って実行されます。スケジュールのフォーマットはsystemd のカレンダーイベントによく似ています。UI のScheduleフィールドは自由に編集することができ、ドロップダウンリストには開始点として使える例がいくつかあります。

ストレージやノードの設定より優先されるジョブ固有の保持オプションや、バックアップと一緒に保存される追加情報のメモのテンプレートを設定できます。

スケジュールされたバックアップは、スケジュールされた時間中にホストがオフラインであったり、pveschedulerが無効であったりした場合に実行を逃すため、遅れを取り戻すための動作を設定することが可能です。Repeat missedオプション(UIのAdvancedタブ、configのrepeat-missed)を有効にすると、見逃したジョブをできるだけ早く実行するようスケジューラに指示できます。

screenshot/gui-cluster-backup-edit-04-advanced.png

バックアップのパフォーマンスを調整するための設定がいくつかあります(そのうちのいくつかはUIのAdvancedタブで公開されています)。最も注目すべきは、IO帯域幅を制限するためのbwlimitです。さらに、ionice(BFQスケジューラ使用時)、パフォーマンス設定の一部として、max-workers(VMバックアップにのみ影響)、pbs-entries-max(コンテナバックアップにのみ影響)があります。詳細は設定オプションを参照してください。

バックアップ保持

prune-backupsオプションを使用すると、柔軟な方法で保持するバックアップを指定できます。

screenshot/gui-cluster-backup-edit-02-retention.png

以下の保持オプションがあります:

keep-all <ブール値

すべてのバックアップを保持します。これがtrueの場合、他のオプションは設定できません。

キープラスト <N

最後の<N>個のバックアップを保持します。

時間毎 <N

過去<N>時間のバックアップを保持します。1時間に複数のバックアップがある場合は、最新のものだけが保持されます。

キープデイリー <N>

過去<N>日間のバックアップを保持します。1日に複数のバックアップがある場合は、最新のものだけが保持されます。

キープウィークリー<N

過去<N>週間分のバックアップを保持します。1週間に複数のバックアップがある場合は、最新のものだけが保持されます。

Note 週は月曜日に始まり、日曜日に終わります。このソフトウェアはISOの週日付システムを使用し、年末の週を正しく処理します。
キープマンスリー<N

過去<N>ヶ月分のバックアップを保持します。1ヶ月に複数のバックアップがある場合は、最新のものだけが保持されます。

年間 <N

過去<N>年間のバックアップを保持します。1年分のバックアップが複数ある場合は、最新のものだけが保存されます。

保持オプションは上記の順序で処理されます。各オプションは、その期間内のバックアップのみを対象とします。次のオプションでは、すでにカバーされているバックアップは処理されません。古いバックアップのみを考慮します。

使用したい保持オプションを、カンマ区切りのリストで指定します:

# vzdump 777 --prune-バックアップ keep-last=3,keep-daily=13,keep-yearly=9。

prune-backupsを直接vzdumpに渡すこともできますが、ストレージレベルで設定した方が賢明な場合が多く、ウェブインターフェイスから行うことができます。

Note 古いmaxfilesオプションは非推奨で、keep-lastで置き換えるか、maxfilesが 0の場合はkeep-allで置き換えるべきです。

プルーン・シミュレータ

Proxmox Backup Serverドキュメントの剪定シミュレータを使用して、さまざまなバックアップスケジ ュールでさまざまな保持オプションの効果を調べることができます。

保持設定例

バックアップの頻度や古いバックアップの保持は、データの変更頻度や、特定の作業負荷における古い状態の重要性によって異なります。 バックアップが企業の文書アーカイブとして機能する場合、バックアップの保持期間に関する法的要件がある場合もあります。

この例では、バックアップを毎日行い、保存期間を10年とし、保存されるバックアップの間隔は徐々に長くなっていくと仮定します。

keep-last=3- たとえ毎日バックアップを取るとしても、管理者は大きなアップグレードの直前や直後に追加のバックアップを取りたいと思うかもしれません。keep-lastを設定することで、これが確実になります。

keep-hourlyが設定されていません - 毎日のバックアップには関係ありません。keep-lastを使用することで、余分な手動バックアップをカバーすることができます。

keep-daily=13- 少なくとも1日をカバーするkeep-lastと合わせて、少なくとも2週間分のバックアップを確保します。

keep-weekly=8- 少なくとも2ヶ月分の週次バックアップを確保します。

keep-monthly=11- 前回のkeep設定と合わせて、少なくとも1年間の月次バックアップを確保します。

keep-yearly=9- これは長期アーカイブ用です。前のオプションで現在の年をカバーしたので、残りの年についてはこれを9に設定し、合計で少なくとも10年間をカバーするようにします。

不必要に高いことが判明した場合は、いつでも期間を短縮できますが、一度削除されたバックアップを再作成することはできません。

バックアップ保護

バックアップを保護マークして削除できないようにすることができます。Proxmox VE の UI、CLI、または API を使用して保護されたバックアップを削除しようとすると、失敗します。ただし、これはProxmox VEによって強制されるものであり、ファイルシステムによって強制されるものではないため、バックアップファイル自体を手動で削除することは、基礎となるバックアップストレージへの書き込みアクセス権を持っている人であれば誰でも可能です。

Note 保護されたバックアップはプルーニングによって無視され、保持設定にカウントされません。

ファイルシステムベースのストレージの場合、保護はセンチネルファイル<backup-name>.protectedを介して実装されます。Proxmox Backup Serverの場合は、サーバ側で処理されます(Proxmox Backup Serverバージョン2.1から使用可能)。

ストレージオプションのmax-protected-backupsを使用して、ゲストごとにストレージで許可される保護バックアップの数を制御します。無制限には-1 を使用します。デフォルトは、Datastore.Allocate権限を持つユーザは無制限、その他のユーザは5です。

バックアップノート

UIのEdit NotesボタンまたはストレージコンテンツAPIを使用して、バックアップにノートを追加できます。

screenshot/gui-cluster-backup-edit-03-template.png

バックアップジョブや手動バックアップのノートを動的に生成するためのテンプレートを指定することもできます。テンプレート文字列には、2つの中括弧で囲まれた変数を含めることができ、バックアップの実行時に対応する値に置き換えられます。

現在サポートされているのは

  • {{cluster}}もしあれば、クラスタ名。

  • {ゲスト名}}仮想ゲストの割り当て名

  • {バックアップが作成されるノードのホスト名

  • {{vmid}}ゲストの数値 VMID です。

APIやCLIで指定する場合は、1行で指定し、改行とバックスラッシュはそれぞれリテラル ∕∕∕∕としてエスケープする必要があります。

リストア

バックアップアーカイブは、Proxmox VEのWeb GUIまたは以下のCLIツールからリストアできます:

pct リストア

コンテナ復元ユーティリティ

qmrestore

仮想マシン復元ユーティリティ

詳細は各マニュアルページをご覧ください。

帯域制限

1つまたは複数の大きなバックアップをリストアする場合、多くのリソース、特にバックアップストレージからの読み取りとターゲットストレージへの書き込みの両方にストレージ帯域幅が必要になることがあります。ストレージへのアクセスが混雑するため、他の仮想ゲストに悪影響を及ぼす可能性があります。

これを回避するには、バックアップジョブに帯域幅制限を設定します。Proxmox VEはリストアとアーカイブの2種類の制限を実装しています:

  • リストアごとの制限: バックアップアーカイブからの読み取りの最大帯域幅を示します。

  • ストレージごとの書き込み制限:特定のストレージへの書き込みに使用される最大帯域幅を示します。

読み込み制限は書き込み制限に間接的に影響します。ジョブごとの上限が小さいと、ストレージごとの上限が大きくても上書きされます。より大きなジョブごとの制限は、影響を受けるストレージに 'Data.Allocate' パーミッションがある場合にのみ、ストレージごとの制限を上書きします。

リストアCLIコマンドで '--bwlimit <integer>` オプションを使用すると、リストアジョブ固有の帯域幅制限を設定できます。KiB/sが制限の単位として使用されます。つまり、`10240'を渡すと、バックアップの読み取り速度が10MiB/sに制限され、実行中の仮想ゲストが残りのストレージ帯域幅を使用できるようになります。

Note bwlimitパラメータに '0` を使用すると、特定のリストアジョブのすべての制限を無効にできます。これは非常に重要な仮想ゲストを可能な限り速くリストアする必要がある場合に役立ちます。(ストレージの `Data.Allocate' パーミッションが必要です)

ほとんどの場合、ストレージの一般的に利用可能な帯域幅は時間の経過とともに変化しません。そのため、設定済みのストレージごとにデフォルトの帯域幅制限を設定できるようにしました:

# pvesm set STORAGEID --bwlimit restore=KIBs

ライブリストア

大きなバックアップのリストアには長い時間がかかり、その間にゲストが利用できなくなることがあります。Proxmox Backup Server上に保存されたVMバックアップの場合、ライブリストアオプションを使用することで、この待ち時間を短縮できます。

GUIのチェックボックスまたはqmrestoreの -live-restore引数のいずれかを使用してライブ・リストアを有効にすると、リストアが開始されると同時にVMが起動します。データはバックグラウンドでコピーされ、VMがアクティブにアクセスしているチャンクが優先されます。

なお、これには2つの注意点があります:

  • ライブ・リストア中は、データをバックアップ・サーバーからロードする必要があるため、VMは制限されたディスク・リード速度で動作します(ただし、一度ロードされると、宛先ストレージですぐに利用できるため、データに2回アクセスしてもペナルティが発生するのは最初の1回だけです)。書き込み速度はほとんど影響を受けません。

  • つまり、すべてのデータがバックアップからコピーされていない可能性があり、失敗したリストア操作中に書き込まれたデータを保持できない可能性が高いのです。

この動作モードは、ウェブ・サーバーなど、初期動作に必要なデータ量が少ない大規模なVMに特に有効です。OSと必要なサービスが開始されると、VMは稼働し、バックグラウンド・タスクはあまり使用されないデータのコピーを続けます。

単一ファイルの復元

ストレージGUIの[バックアップ]タブにある[ファイル復元]ボタンを使用すると、バッ クアップに含まれるデータ上でファイルブラウザを直接開くことができます。この機能は Proxmox Backup Server 上のバックアップでのみ使用できます。

コンテナの場合、ファイルツリーの最初のレイヤには、含まれるすべてのpxarアーカイブが表示され、自由に開いたり参照したりできます。VMの場合、最初のレイヤには含まれるドライブイメージが表示され、これを開くと、ドライブでサポートされているストレージ技術のリストが表示されます。最も基本的なケースでは、これはパーティションテーブルを表すpartと呼ばれるエントリで、ドライブにある各パーティションのエントリが含まれています。VMの場合、すべてのデータにアクセスできるわけではないことに注意してください(サポートされていないゲストファイルシステム、ストレージテクノロジーなど)。

ファイルやディレクトリはダウンロードボタンを使ってダウンロードすることができ、後者はその場でzipアーカイブに圧縮されます。

信頼できないデータを含む可能性のあるVMイメージへの安全なアクセスを可能にするために、一時的なVM(ゲストとして表示されない)が起動されます。これは、このようなアーカイブからダウンロードされたデータが本質的に安全であることを意味するものではありませんが、ハイパーバイザー・システムが危険にさらされるのを避けることができます。VMはタイムアウト後に停止します。このプロセス全体はユーザーから見て透過的に行われます。

Note トラブルシューティングのために、各一時的なVMインスタンスは/var/log/proxmox-backup/file-restore/にログファイルを生成します。このログファイルには、バックアップアーカイブに含まれる個々のファイルのリストアやファイルシステムへのアクセスの試みが失敗した場合の追加情報が含まれている可能性があります。

コンフィギュレーション

グローバル設定は/etc/vzdump.confに保存されます。このファイルでは、コロンで区切られた単純なキー/値形式を使用します。各行の書式は次のとおりです:

オプション:値

ファイル内の空白行は無視され、#文字で始まる行はコメントとして扱われ、これも無視されます。このファイルの値はデフォルトとして使用され、コマンドラインで上書きすることができます。

現在、以下のオプションをサポートしています:

bwlimit:<整数> (0 - N)(デフォルト = 0)

I/Oバンド幅の制限(単位:KiB/s)。

compress:<0 | 1 | gzip | lzo | zstd>(デフォルト = 0)

ダンプファイルを圧縮します。

dumpdir:<文字列

結果のファイルを指定したディレクトリに保存します。

除外パス:<配列

特定のファイル/ディレクトリ(シェル・グロブ)を除外します。始まるパスはコンテナのルートに固定され、その他のパスは各サブディレクトリに相対的に一致します。

fleecing[[enabled=]<1|0>] [[enabled=]<1|0>]です。[,ストレージ=<ストレージID>]]。

バックアップフリートのオプション(VMのみ)。

enabled=<boolean>(デフォルト = 0)

バックアップフリーを有効にします。新しいゲストの書き込みがバックアップターゲットに直接コピーする代わりに、指定されたストレージで発生するブロックからバックアップデータをキャッシュします。これにより、ゲストの IO パフォーマンスを向上させ、ハングを防止することができます。

ストレージ=<ストレージID

このストレージは、ストレージフリーキングイメージに使用します。スペースを効率的に使用するには、廃棄とシンプロビジョニングまたはスパースファイルをサポートするローカルストレージを使用するのが最善です。

ionice:<整数> (0 - 8)(デフォルト = 7)

BFQスケジューラ使用時のIO優先度を設定します。VMのスナップショットとサスペンドモードのバックアップでは、これはコンプレッサにのみ影響します。値が8の場合はアイドル優先度が使用され、それ以外の場合は指定した値でベストエフォート優先度が使用されます。

lockwait:<整数> (0 - N)(デフォルト = 180)

グローバルロックの最大待機時間(分)。

mailnotification:<always | failure>(デフォルト = always)

非推奨: 代わりに通知ターゲット/マッチャーを使用してください。通知メールを送るタイミングを指定

mailto:<文字列

非推奨:代わりに通知先/通知先を使用してください。メール通知を受け取るメールアドレスまたはユーザのカンマ区切りリスト。

maxfiles:<整数> (1 - N)

非推奨: 代わりにprune-backups を使用してください。ゲストシステムごとのバックアップファイルの最大数。

mode:<スナップショット | 停止 | サスペンド>(デフォルト = スナップショット)

バックアップモード。

notes-template:<文字列

バックアップのメモを生成するためのテンプレート文字列。値で置き換えられる変数を含むことができます。現在サポートされているのは{{cluster}}, {{guestname}}, {{node}}, {{vmid}}ですが、今後追加されるかもしれません。改行とバックスラッシュは、それぞれ「˶n」と「˶n」としてエスケープする必要があります。

Note 必要なオプション:ストレージ
notification-mode:<auto | legacy-sendmail | notification-system>(デフォルト = auto)

使用する通知システムを決定します。legacy-sendmail に設定すると、vzdump は mailto/mailnotification パラメータを考慮し、sendmailコマンドで指定したアドレスにメールを送信します。notification-systemに設定すると、PVEの通知システム経由で通知が送信され、mailtoとmailnotificationは無視されます。auto(デフォルト設定) に設定すると、mailto が設定されていればメールが送信され、設定されていなければ通知システムが使用されます。

notification-policy:<always | failure | never>(デフォルト = always)

非推奨:を使用しないでください。

通知先:<文字列

非推奨:を使用しないでください。

pbs-change-detection-mode:<データ|レガシー|メタデータ>。

ファイルの変更を検出し、コンテナバックアップのエンコード形式を切り替えるために使用されるPBSモード。

パフォーマンスを向上させます:[max-workers=<integer>] [,pbs-entries-max=<integer>]。

その他のパフォーマンス関連の設定。

max-workers=<integer>(1 - 256)(デフォルト = 16)

VMに適用されます。同時に最大これだけのIOワーカーを許可します。

pbs-entries-max=<integer>(1 - N)(デフォルト = 1048576)

PBS に送信されるコンテナバックアップに適用されます。意図しない OOM 状況を回避するために、指定された時間にメモリ内で許可されるエントリ数を制限します。これを増やすと、大量のファイルを含むコンテナのバックアップが可能になります。

pigz:<整数>(デフォルト = 0)

N>0の場合はgzipの代わりにpigzを使用。N=1 はコアの半分を使用し、N>1 は N をスレッド数として使用します。

プール:<文字列

指定されたプールに含まれるすべての既知のゲストシステムをバックアップします。

protected:<ブール値

trueの場合、バックアップを保護マークします。

Note 必要なオプション:ストレージ
を削除します:[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>](default = keep-all=1)

ストレージ構成の保持オプションの代わりに、これらの保持オプションを使用します。

keep-all=<ブール値

すべてのバックアップを保持します。trueの場合、他のオプションと競合します。

keep-daily=<N>

過去<N>日分のバックアップを保持します。1日に複数のバックアップがある場合は、最新のものだけが保持されます。

キープアワーリー=<N

最後の<N>異なる時間のバックアップを保持します。1時間に複数のバックアップがある場合は、最新のものだけが保持されます。

keep-last=<N>

最後の<N>個のバックアップを保持します。

keep-monthly=<N>

過去<N>の異なる月のバックアップを保持します。1つの月に複数のバックアップがある場合、最新のものだけが保持されます。

keep-weekly=<N>

過去<N>週間分のバックアップを保持します。1週間に複数のバックアップがある場合、最新のものだけが保持されます。

keep-yearly=<N>(毎年

過去<N>年分のバックアップを保持します。一つの年に複数のバックアップがある場合、最新のものだけが保持されます。

remove:<論理値>(デフォルト = 1)

prune-backupsに従って古いバックアップを削除します。

スクリプト:<文字列

指定されたフックスクリプトを使用します。

stdexcludes:<論理値>(デフォルト = 1)

一時ファイルとログを除外します。

stopwait:<整数> (0 - N)(デフォルト = 10)

ゲストシステムが停止するまでの最大待機時間 (分)。

ストレージ:<ストレージID

結果のファイルをこのストレージに保存します。

tmpdir:<文字列

指定したディレクトリに一時ファイルを保存します。

zstd:<整数>(デフォルト = 1)

Zstdスレッド。N=0は利用可能なコアの半分を使用し、Nが0より大きな値に設定された場合、Nはスレッド数として使用されます。

vzdump.confの設定例
tmpdir/mnt/fast_local_disk storage: my_backup_storage mode: snapshot bwlimit: 10000

フックスクリプト

オプション--script でフックスクリプトを指定できます。このスクリプトはバックアップ処理の様々な段階で呼び出され、パラメータが適宜設定されます。ドキュメンテーションディレクトリに例があります(vzdump-hook-script.pl)。

ファイルの除外

Note このオプションはコンテナ・バックアップでのみ使用できます。

vzdumpはデフォルトで以下のファイルをスキップします(--stdexcludes 0オプションで無効にできます)。

/tmp/?* /var/tmp/?* /var/run/?*pid

手動で(追加の)除外パスを指定することもできます:

# vzdump 777 --exclude-path /tmp/ --exclude-path '/var/foo*'

は、/tmp/ディレクトリと、/var/foo/var/foobarといった名前のファイルやディレクトリを除外します。

始まらないパスは、コンテナのルートにアンカーされません。たとえば

# vzdump 777 --exclude-path bar

は、/bar/var/bar/var/foo/bar などのファイルやディレクトリを除外しますが、/bar2 は除外しません。

設定ファイルもバックアップアーカイブ内(./etc/vzdump/内)に保存され、正しくリストアされます。

単にゲスト777をダンプします - スナップショットはなく、デフォルトのダンプディレクトリ(通常は/var/lib/vz/dump/)にゲストのプライベート領域と設定ファイルをアーカイブするだけです。

# vzdump 777

rsyncとサスペンド/レジュームを使ってスナップショットを作成します(ダウンタイムは最小限)。

# vzdump 777 --mode suspend

すべてのゲストシステムをバックアップし、rootとadminに通知メールを送信します。mailtoが設定され、notification-modeがデフォルトでautoに設定されているため、通知メールは通知システムの代わりにシステムのsendmailコマンドで送信されます。

# vzdump --all --mode suspend --mailto root --mailto admin

スナップショットモード(ダウンタイムなし)とデフォルト以外のダンプディレクトリを使用します。

# vzdump 777 --dumpdir /mnt/backup --mode snapshot

複数のゲストのバックアップ(選択的)

# vzdump 101 102 103 --mailto root

101と102を除く全ゲストをバックアップ

# vzdump --mode suspend --exclude 101,102

コンテナを新しいCT 600にリストア

# pct restore 600 /mnt/backup/vzdump-lxc-777.tar

VM 601へのQemuServer VMのリストア

# qmrestore /mnt/backup/vzdump-qemu-888.vma 601

パイプを使用して、既存のコンテナ101を、4GBのルートファイルシステムを持つ新しいコンテナ300にクローンします。

# vzdump 101 --stdout | pct restore --rootfs 4 300 -.

著作権 © 2007-2022 Proxmox Server Solutions GmbH

このプログラムはフリー・ソフトウェアです。あなたは、Free Software Foundationによって発行されたGNU Affero General Public Licenseのバージョン3、またはそれ以降のバージョンのいずれかに従って、このプログラムを再配布したり、変更したりすることができます。

このプログラムは有用であることを期待して配布されていますが、商品性や特定の目的への適合性についての暗黙の保証もなく、いかなる保証もありません。詳細はGNU Affero General Public Licenseをご覧ください。

あなたはこのプログラムとともにGNU Affero General Public Licenseのコピーを受け取っているはずです。 そうでない場合は、https://www.gnu.org/licenses/をご覧ください。