Сколько места требуется для снимков в ZFS?

Сколько места используют снимки в ZFS?

Я создал пул и хочу создать том. Я не знаю, сколько космических снимков займет. Существует ли какой-либо способ или формула для расчета требований к месту для снимков?

3 ответа

Фактические метаданные снимков незначительны.

В качестве файловой системы копирования при записи для снимков ZFS требуется только место для измененных данных; создание снимка не сразу все дублирует. Если у вас есть снимок заданного размера, а затем вы добавляете или изменяете файлы объемом до 100 ГБ, снимок будет "стоить" вам 100 ГБ.

Это может быть даже немного меньше из-за сжатия и дедупликации.

Снимок изначально занимает очень незначительное количество места.

Его размер увеличивается позже, когда существующие данные в наборе данных моментальных снимков обновляются или удаляются.

Максимальный размер снимка - это размер исходного набора данных, если только сжатие и / или дедупликация не включены, в этом случае у вас может быть снимок, меньший или больший, чем его родительский набор данных.

До эмпирического тестирования я также верил тому, что говорили другие ответы, а именно, что моментальные снимки ZFS потребляют дисковое пространство только при изменении блоков, а снимки, сделанные там, где блоки вообще не меняются, не занимают места (или только очень небольшой объем метаданных для моментального снимка имя и пустой список измененных блоков)

К моему удивлению, когда я недавно протестировал это , я обнаружил, что использование пространства было намного больше, чем я ожидал: хотя оно все еще было небольшим , оно составляло от 1,8 до 4 МБ на снимок, что было значительно больше, чем я ожидал. (Мое предположение было бы меньше 1 КиБ, поэтому этот результат был более чем в 4000 раз больше, чем я ожидал). См. подробности в моем вопросе о сбое сервера, но, по сути, я создал совершенно пустой zpool на 200 ГБ и смог заполнить его 50698 снимками (и вообще без данных)

То, что все остальные говорят, верно: моментальные снимки ZFS хранят только измененные блоки, а занимаемое ими пространство зависит от того, сколько блоков изменилось. Но минимум не ноль байтов, это несколько мегабайт. (Где «горстка» переводится как «где-то от 1 до 10 в зависимости от размера пула и других факторов»)

Является ли эта сумма «очень незначительной» или нет, это вопрос мнения.

Другие вопросы по тегам