Сколько места требуется для снимков в ZFS?
Сколько места используют снимки в ZFS?
Я создал пул и хочу создать том. Я не знаю, сколько космических снимков займет. Существует ли какой-либо способ или формула для расчета требований к месту для снимков?
3 ответа
Фактические метаданные снимков незначительны.
В качестве файловой системы копирования при записи для снимков ZFS требуется только место для измененных данных; создание снимка не сразу все дублирует. Если у вас есть снимок заданного размера, а затем вы добавляете или изменяете файлы объемом до 100 ГБ, снимок будет "стоить" вам 100 ГБ.
Это может быть даже немного меньше из-за сжатия и дедупликации.
Снимок изначально занимает очень незначительное количество места.
Его размер увеличивается позже, когда существующие данные в наборе данных моментальных снимков обновляются или удаляются.
Максимальный размер снимка - это размер исходного набора данных, если только сжатие и / или дедупликация не включены, в этом случае у вас может быть снимок, меньший или больший, чем его родительский набор данных.
До эмпирического тестирования я также верил тому, что говорили другие ответы, а именно, что моментальные снимки ZFS потребляют дисковое пространство только при изменении блоков, а снимки, сделанные там, где блоки вообще не меняются, не занимают места (или только очень небольшой объем метаданных для моментального снимка имя и пустой список измененных блоков)
К моему удивлению, когда я недавно протестировал это , я обнаружил, что использование пространства было намного больше, чем я ожидал: хотя оно все еще было небольшим , оно составляло от 1,8 до 4 МБ на снимок, что было значительно больше, чем я ожидал. (Мое предположение было бы меньше 1 КиБ, поэтому этот результат был более чем в 4000 раз больше, чем я ожидал). См. подробности в моем вопросе о сбое сервера, но, по сути, я создал совершенно пустой zpool на 200 ГБ и смог заполнить его 50698 снимками (и вообще без данных)
То, что все остальные говорят, верно: моментальные снимки ZFS хранят только измененные блоки, а занимаемое ими пространство зависит от того, сколько блоков изменилось. Но минимум не ноль байтов, это несколько мегабайт. (Где «горстка» переводится как «где-то от 1 до 10 в зависимости от размера пула и других факторов»)
Является ли эта сумма «очень незначительной» или нет, это вопрос мнения.