Снимки имеют произвольные имена. А zfs send -i [snapshot1] [snapshot2]
может отправить разницу между любыми двумя снимками. Вы можете использовать это, чтобы иметь два (или более) набора снимков с разными политиками хранения.
например, иметь один набор снимков с именами типа @snap.$timestamp
(где $timestamp
- любой формат даты/времени, который вам подходит (time_t проще всего вычислять, но не совсем удобно читать для человека. @snap.%s.%Y%M%D%H%M%S
обеспечивает оба варианта). Ваш код удаления ежечасных/ежедневных/недельных/месячных снимков должен игнорировать все снимки, которые не начинаются с @snap
.
Второй набор можно назвать @offsite.$timestamp
. Он должен иметь любую политику сохранения/удаления снимков, которая имеет смысл для этой задачи, а код, используемый для управления им, должен игнорировать все снимки, которые не начинаются с @offsite
.
BTW, возможно, это очевидная вещь, но вы можете использовать это для ежечасных, ежедневных, еженедельных, ежемесячных снимков, чтобы каждый из них имел различные политики хранения. Например, @hourly.$timestamp
, @daily.$timestamp
и т.д. вместо просто @snap.$timestamp
.
Также очевидно, что это будет использовать больше дискового пространства, поскольку блоки, используемые наборами данных, не освобождаются, пока не останется NO снимков, которые на них ссылаются.