構成
つぎのような順序でやってみます。構成は検討の余地がたくさんあると思います。
1. WindowsファイルサーバのEドライブをバックアップ専用に追加
2. Eドライブに重複除去を設定し、ネットワーク共有
3. ProxmoxのVMの定期バックアップ先に指定
重複除去のインストール
Install-WindowsFeature FS-Data-Deduplication
Get-WindowsFeature *Dedup*
バックアップ用のディスクを追加
Windows Server 2019からこのような説明がありました。
ReFS ファイルシステムの重複除去と圧縮を使用して、同じボリュームに最大 10 倍のデータを格納します。 (Windows Admin Center で、わずか 1 クリックで有効にするだけです)。オプションで圧縮もできる可変サイズのチャンク ストアを使用すると最大限の削減率になり、マルチスレッドの後処理アーキテクチャでパフォーマンスへの影響を最小限に抑えることができます。 最大 64 TB のボリュームをサポートし、各ファイルの最初の 4 TB を重複除去します。
重複除去の設定
「仮想化バックアップサーバ」を選択し、経過日数は0とします。
ダミーファイルの作成
10GBのファイルを作成し、4つコピーします。(合計50GB)
Fsutil file createnew "E:\DummyFile01" 10737418240
Read-Host "続けるには Enter キーを押してください..."
2..5 | foreach{
Copy-Item -Path "E:\DummyFile01" -Destination "E:\DummyFile0$_"
}
重複除去の適用
PowerShellで即時おこないます。
Start-DedupJob E: -Type Optimization
Get-DedupJob
サーバーマネージャでも確認することができます。右上のボタンで表示を更新できます。
CPU負荷はまったくありませんでした。ファイルの数や種類によって高くなるのかもしれません。
Get-DedupJobで戻り値がなければ、完了しているようです。重複除去率は44%で、50GBの節約という表示になりました。
エクスプローラーでも効果が確認できます。109GB → 62GBになっていました。
PVEのバックアップ先に指定
ファイルサーバ自身のディスクを除外
ファイルサーバは以下のような構成になっていますが、今回ファイルサーバ自身もバックアップするため、Eドライブを除外します。
- C: Windowsサーバー OSディスク → バックアップにふくめる
- D: PVEのVMストレージ → バックアップにふくめる
- E: PVEのバックアップストレージ → バックアップにふくめない
「バックアップ」のチェックを外し、"backup=0" のステータスにします。
バックアップスケジュールの設定
データセンターメニューから新規作成します。5分ごとにファイルサーバのEドライブに差分バックアップという設定にします。
バックアップ
初回でフルバックアップのためか、かなり時間がかかっています。
圧縮しているからか、バックアップ動作中はCPU・ストレージIOともに高くなりました。
まとめ & メモ
- 重複除去が有効になったディスクへのVMバックアップは、ワークロードによりますが、一般的には以下のような使い方になるのではないでしょうか。
- VM差分バックアップは数時間~1日おき
- 重複除去スケジュールは1日~1週間おき(夜中)
参考にさせていただいたサイト
Windows Server 2022 重複排除有効化手順
https://tech.willserver.asia/2022/12/09/win-duplication/
Powershellでループを書かずに指定回数処理を繰り返す
https://mk-55.hatenablog.com/entry/2016/12/17/115632