1
0
Fork 0
Scripts for trying out how ZFS works in some simple scenarios. https://aweirdimagination.net/2024/03/17/experimenting-with-zfs/
Go to file
Daniel Perelman 463ce7d2a0 Add support for specifying a prefix for the links in the table. 2024-01-28 17:27:38 -08:00
bin Add support for specifying a prefix for the links in the table. 2024-01-28 17:27:38 -08:00
external Added scripts. 2024-01-28 09:53:36 -08:00
.gitmodules Added scripts. 2024-01-28 09:53:36 -08:00
LICENSE Initial commit 2024-01-28 12:43:44 -05:00
README.md Add --links option to table generation script. 2024-01-28 16:38:00 -08:00
passphrase Added scripts. 2024-01-28 09:53:36 -08:00

README.md

zfs-test

Scripts for trying out how ZFS works in some simple scenarios.

I ran these scripts on a VM. They will modify the ZFS pool named tank, which is the default pool name in ZFS examples, so may be a valid ZFS pool name on your system.

# Create a test pool named tank backed by a the file /root/tank
fallocate -l 1G /root/tank
zpool create tank /root/tank

cd zfs-test/bin
# dump logs from create-and-measure / copy-all-and-measure into ../logs/
./measure-all
# read ../logs/ and print Markdown table of dataset space used below
./logs-to-table --links

The rows are which script from bin/create-test-setup/ was used to create the tank/test dataset. The columns are which script from bin/copy-snapshot/ was used to copy each snapshot into tank/target. The cells are the space used by the tank/target (or test/test for the first column) dataset for that combination.

Create script orig rsync-ahvx rsync-ahvx-sparse rsync-inplace rsync-inplace-no-whole-file rsync-no-whole-file zfs-diff-move-then-rsync
edit-part-of-file 1.16M 2.04M 2.04M 2.04M 1.17M 2.04M 1.17M
empty 24K 24K 24K 24K 24K 24K 24K
encrypted-nested 1.84M 24K 24K 24K 24K 24K 24K
move-file 1.04M 2.04M 2.04M 2.04M 2.04M 2.04M 1.04M
random-1M-file 1.03M 1.03M 1.03M 1.03M 1.03M 1.03M 1.03M
zeros-1M-file 24K 1.03M 24K 1.03M 1.03M 1.03M 1.03M