[Amazon FSx for NetApp ONTAP] バックアップストレージ上で重複排除効果は維持されるのか確認してみた
バックアップからリストアしたボリュームは重複排除を維持できていなかったけどバックアップストレージ上では維持できているのか
こんにちは、のんピ(@non____97)です。
皆さんはAmazon FSx for NetApp ONTAP(以降FSxN)のバックアップストレージ上で重複排除を維持できているのかしたいなと思ったことはありますか? 私はあります。
以下記事でバックアップからリストアしたボリュームは重複排除を維持できないことを確認しました。
では、バックアップストレージ上では重複排除を維持できているのでしょうか。
また、バックアップストレージ上で追加の重複排除がかかるのかも気になるところです。圧縮については以下記事でバックアップストレージ上で圧縮がかかることを確認しています。
実際に確認してみました。
いきなりまとめ
- バックアップストレージ上では重複排除を維持できる
- バックアップストレージ上で追加の重複排除は行われない
やってみた
ファイルの書き込み
ボリュームを2つ用意して、それぞれにファイルを書き込みます。
用意したボリュームはそれぞれ以下の役割を持たせています。
vol_dedupe
: ファイル書き込み後ポストプロセス重複排除を効かせるvol_no_dedupe
: ポストプロセス重複排除を実行しない (Storage Efficiencyは無効化)
ファイル書き込み後vol_dedupe
のみStorage Efficiencyを実行して重複排除を効かせます。
そして両ボリュームのバックアップを取得して、Cost Explorerから各バックアップのバックアップストレージサイズを確認します。
デフォルトではどちらのボリュームもStorage Efficiencyを無効にしています。
::*> volume efficiency show -volume vol_* -fields state, policy, storage-efficiency-mode, inline-compression, inline-dedupe, compression, data-compaction, auto-adaptive-compression-savings, auto-adaptive-compression-existing-volume, using-auto-adaptive-compression
vserver volume state policy compression inline-compression storage-efficiency-mode inline-dedupe data-compaction auto-adaptive-compression-savings using-auto-adaptive-compression auto-adaptive-compression-existing-volume
------- ---------- -------- ------ ----------- ------------------ ----------------------- ------------- --------------- --------------------------------- ------------------------------- -----------------------------------------
svm vol_dedupe Disabled auto false false efficient false false true false false
svm vol_no_dedupe
Disabled auto false false efficient false false true false false
2 entries were displayed.
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- -------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Disabled Idle for 00:02:20 Fri Jan 19 14:06:46 2024 Fri Jan 19 14:06:46 2024 0B 0% 0B 308KB
svm vol_no_dedupe
Disabled Idle for 00:01:17 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 308KB
2 entries were displayed.
::*> volume show -volume vol_* -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent
vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent
------- ---------- ---- --------- --------------- ------- ----- ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- -------------------------------------------
svm vol_dedupe 64GB 60.80GB 64GB 60.80GB 308KB 0% 0B 0% 0B 308KB 0% 308KB 0% - 308KB 0B 0%
svm vol_no_dedupe
64GB 60.80GB 64GB 60.80GB 308KB 0% 0B 0% 0B 308KB 0% 308KB 0% - 308KB 0B 0%
2 entries were displayed.
NFSクライアントにボリュームをマウントします。
$ sudo mkdir -p /mnt/fsxn/vol_dedupe
$ sudo mkdir -p /mnt/fsxn/vol_no_dedupe
$ sudo mount -t nfs svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol_dedupe /mnt/fsxn/vol_dedupe
$ sudo mount -t nfs svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol_no_dedupe /mnt/fsxn/vol_no_dedupe
$ df -hT -t nfs4
Filesystem Type Size Used Avail Use% Mounted on
svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol1 nfs4 61G 49G 13G 80% /mnt/fsxn/vol1
svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol_dedupe nfs4 61G 320K 61G 1% /mnt/fsxn/vol_dedupe
svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol_no_dedupe nfs4 61G 320K 61G 1% /mnt/fsxn/vol_no_dedupe
/vol1
は別の検証で使っているものなので無視してください。
ファイルを書き込みます。書き込むファイルは/dev/urandom
から生成した4GiBのランダムなバイナリデータです。ファイル作成後、これを7つコピーして計32GiBになるようにします。
$ sudo dd if=/dev/urandom of=/mnt/fsxn/vol_dedupe/random_pattern_binary_block_4GiB bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 28.192 s, 152 MB/s
$ for i in {1..7}; do
sudo cp /mnt/fsxn/vol_dedupe/random_pattern_binary_block_4GiB "/mnt/fsxn/vol_dedupe/random_pattern_binary_block_4GiB_copy_${i}"
done
$ ls -l /mnt/fsxn/vol_dedupe
total 33686624
-rw-r--r--. 1 root root 4294967296 Jan 19 14:13 random_pattern_binary_block_4GiB
-rw-r--r--. 1 root root 4294967296 Jan 19 14:14 random_pattern_binary_block_4GiB_copy_1
-rw-r--r--. 1 root root 4294967296 Jan 19 14:15 random_pattern_binary_block_4GiB_copy_2
-rw-r--r--. 1 root root 4294967296 Jan 19 14:15 random_pattern_binary_block_4GiB_copy_3
-rw-r--r--. 1 root root 4294967296 Jan 19 14:16 random_pattern_binary_block_4GiB_copy_4
-rw-r--r--. 1 root root 4294967296 Jan 19 14:16 random_pattern_binary_block_4GiB_copy_5
-rw-r--r--. 1 root root 4294967296 Jan 19 14:16 random_pattern_binary_block_4GiB_copy_6
-rw-r--r--. 1 root root 4294967296 Jan 19 14:17 random_pattern_binary_block_4GiB_copy_7
$ sudo dd if=/dev/urandom of=/mnt/fsxn/vol_no_dedupe/random_pattern_binary_block_4GiB bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 28.0723 s, 153 MB/s
$ for i in {1..7}; do
sudo cp /mnt/fsxn/vol_no_dedupe/random_pattern_binary_block_4GiB "/mnt/fsxn/vol_no_dedupe/random_pattern_binary_block_4GiB_copy_${i}"
done
$ df -hT -t nfs4
Filesystem Type Size Used Avail Use% Mounted on
svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol1 nfs4 61G 49G 13G 80% /mnt/fsxn/vol1
svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol_dedupe nfs4 61G 33G 29G 53% /mnt/fsxn/vol_dedupe
svm-00c8ca007b057c211.fs-03a05859b5824160c.fsx.us-east-1.amazonaws.com:/vol_no_dedupe nfs4 61G 33G 29G 53% /mnt/fsxn/vol_no_dedupe
ファイル書き込み後のStorage Efficiency、ボリュームの情報は以下のとおりです。
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- -------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Disabled Idle for 00:16:32 Fri Jan 19 14:06:46 2024 Fri Jan 19 14:06:46 2024 0B 0% 0B 32.14GB
svm vol_no_dedupe
Disabled Idle for 00:15:29 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 32.14GB
2 entries were displayed.
::*> volume show -volume vol_* -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent
vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent
------- ---------- ---- --------- --------------- ------- ------- ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- -------------------------------------------
svm vol_dedupe 64GB 28.66GB 64GB 60.80GB 32.14GB 52% 0B 0% 0B 32.14GB 50% 32.14GB 53% - 32.14GB 0B 0%
svm vol_no_dedupe
64GB 28.66GB 64GB 60.80GB 32.14GB 52% 0B 0% 0B 32.14GB 50% 32.14GB 53% - 32.14GB 0B 0%
2 entries were displayed.
Storage Efficiencyは無効にしているので重複排除は聞いていませんね。
Storage Efficiencyの実行
Storage Efficiencyを実行して重複排除を効かせます。
/vol_dedupe
のみStorage Efficiencyを有効にします。
::*> volume efficiency on -volume vol_dedupe
Efficiency for volume "vol_dedupe" of Vserver "svm" is enabled.
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- ------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Enabled Idle for 00:17:07 Fri Jan 19 14:06:46 2024 Fri Jan 19 14:06:46 2024 0B 0% 0B 32.14GB
svm vol_no_dedupe
Disabled
Idle for 00:16:04 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 32.14GB
2 entries were displayed.
/vol_dedupe
でStorage Efficiencyを実行します。
::*> volume efficiency start -volume vol_dedupe -scan-old-data
Warning: This operation scans all of the data in volume "vol_dedupe" of Vserver "svm". It might take a significant time, and degrade performance during that time.
Do you want to continue? {y|n}: y
The efficiency operation for volume "vol_dedupe" of Vserver "svm" has started.
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- ------- ------------------ ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Enabled 2555904 KB Scanned Fri Jan 19 14:06:46 2024 Fri Jan 19 14:06:46 2024 0B 0% 0B 32.14GB
svm vol_no_dedupe
Disabled
Idle for 00:17:09 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 32.14GB
2 entries were displayed.
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- ------- ---------------------- ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Enabled 21177268 KB (72%) Done Fri Jan 19 14:06:46 2024 Fri Jan 19 14:06:46 2024 0B 0% 0B 32.14GB
svm vol_no_dedupe
Disabled
Idle for 00:22:40 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 32.14GB
2 entries were displayed.
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- ------- ---------------------- ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Enabled 25248308 KB (85%) Done Fri Jan 19 14:06:46 2024 Fri Jan 19 14:06:46 2024 0B 0% 0B 32.14GB
svm vol_no_dedupe
Disabled
Idle for 00:23:19 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 32.14GB
2 entries were displayed.
::*> volume efficiency show -volume vol_* -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end
vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size
------- ---------- ------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- -----------------
svm vol_dedupe Enabled Idle for 00:00:17 Fri Jan 19 14:24:51 2024 Fri Jan 19 14:31:48 2024 32GB 0% 0B 32.16GB
svm vol_no_dedupe
Disabled
Idle for 00:24:16 Fri Jan 19 14:07:49 2024 Fri Jan 19 14:07:49 2024 0B 0% 0B 32.14GB
2 entries were displayed.
::*> volume show -volume vol_* -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent
vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent
------- ---------- ---- --------- --------------- ------- ------ ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- -------------------------------------------
svm vol_dedupe 64GB 56.64GB 64GB 60.80GB 4.16GB 6% 28GB 87% 4GB 4.16GB 7% 32.16GB 53% - 32.16GB 0B 0%
svm vol_no_dedupe
64GB 28.66GB 64GB 60.80GB 32.14GB
52% 0B 0% 0B 32.14GB 50% 32.14GB 53% - 32.14GB 0B 0%
2 entries were displayed.
7分ほどで完了しました。1つ4GiBのファイルのコピーを7つ用意したので、28GiB重複排除されていますね。
バックアップ
バックアップを取得します。
取得したバックアップをは以下のとおりです。
どちらのバックアップも2024/1/19 23:40ごろに取得完了しました。
バックアップ取得後、各ボリュームにSnapshotが作成されていることを確認しました。
c::*> snapshot show -volume vol_*
---Blocks---
Vserver Volume Snapshot Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
svm vol_dedupe
backup-08c50c18e72e9ffda 144KB 0% 0%
vol_no_dedupe
backup-01f70915a6b0e65d8 180KB 0% 0%
2 entries were displayed.
バックアップストレージサイズの確認
Cost Explorerから取得したバックアップのバックアップストレージサイズを確認します。
現在の時刻は2024/1/22 10:01です。
青いグラフが重複排除が効いていないバックアップで、ピンクのグラフが重複排除が効いているバックアップです。
2024/1/20の重複排除が効いていないバックアップのサイズは1.05GBです。バックアップストレージサイズに対する請求は月の平均サイズになります。そのため、このバックアップのバックアップストレージのサイズは1.05GB * 31日 = 32.55GB
となります。
書き込んだファイルサイズは32GiBです。そのため、バックアップストレージ上で追加の重複排除はかかっていなさそうです。
また、重複排除が効いているバックアップのサイズは0.13GBです。これは重複排除が効いていないバックアップのサイズの約1/8です。1つ4GiBのファイルのコピーを7つ用意したので論理サイズは32GiBですが、重複排除後の物理データサイズは1/8の4GiBとなります。そのため、バックアップストレージ上で重複排除を維持できていることが分かります。
バックアップストレージ上でも重複排除は維持できる。なお、リストアすると失われる模様
Amazon FSx for NetApp ONTAPのバックアップにおいて、バックアップストレージ上で重複排除効果は維持されるのか確認してみました。
結論としてはバックアップストレージ上でも重複排除効果は維持されました。
他記事の検証結果もまとめると、FSxNのバックアップストレージのサイズ周りの仕様は以下であると考えます。
- バックアップストレージ上で重複排除は維持される
- バックアップストレージ上で追加の重複排除は行われない
- バックアップストレージ上で圧縮がかかる
- バックアップからリストアすると重複排除や圧縮によるデータ削減効果は失われる
4つ目の「バックアップからリストアすると重複排除や圧縮によるデータ削減効果は失われる」については早急になんとかして欲しいですね。バックアップからリストアすることを考えるとSnapMirrorの方が個人的には使いやすいと思います。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!