geerlingguy / arm-nas

Arm NAS configuration with ZFS.
GNU General Public License v3.0
104 stars 6 forks source link

Monitor replicated snapshots and verify pruning works #12

Open geerlingguy opened 2 months ago

geerlingguy commented 2 months ago

In #10, I set up ZFS replication via snapshots with syncoid and sanoid. It seems to be working well, but to verify snapshots are synced and pruned on the target (nas02 / Raspberry Pi), I am leaving this issue open for a few days/weeks.

I want to make sure snapshots are pruned because not doing so could lead to it running out of disk space, especially if thousands of snapshots build up. That would be less than ideal!

Check on snapshot health with:

nas02 should show the same snapshots as on nas01, except there will be an additional syncoid_ prefixed snapshot for the last syncoid-initiated backup.

geerlingguy commented 2 months ago

Right now I see on the Pi:

pi@nas02:~ $ zfs list -t snapshot
NAME                                                                 USED  AVAIL  REFER  MOUNTPOINT
ssdpool/backup/jupiter@autosnap_2024-04-27_03:15:00_monthly            0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-04-27_03:15:00_daily              0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-04-29_15:45:01_daily            667K      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-04-30_00:00:01_daily            637K      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_00:00:01_monthly            0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_00:00:01_daily              0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_12:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_13:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_14:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_15:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_16:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_17:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_18:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_19:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_20:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_21:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_22:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-01_23:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_00:00:01_daily              0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_00:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_01:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_02:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_03:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_04:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_05:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_06:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_07:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_08:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_09:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_10:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_11:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_12:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_13:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_14:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_15:00:01_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_17:23:11_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_18:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_19:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_20:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_21:00:18_hourly           133K      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_22:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-02_23:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_00:00:18_daily              0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_00:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_01:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_02:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_03:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_04:00:13_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_05:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_06:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_07:00:10_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_08:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_09:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_10:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_11:00:11_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@autosnap_2024-05-03_12:00:18_hourly             0B      -  10.9T  -
ssdpool/backup/jupiter@syncoid_nas02_2024-05-03:07:13:03-GMT-05:00     0B      -  10.9T  -

It looks like it is keeping 48 hourly backups... which I'm realizing is the default for sanoid: https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf#L50

So I should probably match the config options from nas01 for sanoid on nas02:

    frequently = 0
    hourly = 24
    daily = 30
    monthly = 3
    yearly = 0