Ответ 1
Я не думаю, что вы найдете подробную документацию о том, как выполняются моментальные снимки; это не то, с чем я столкнулся. У них есть документация для "Projecting Costs" . Однако я думаю, что если вы знаете, как это работает, вы можете использовать законопроект и больше ощущать легкость с ним.
Обратите внимание, что эти моментальные снимки не являются "инкрементальными", поскольку мы, возможно, поняли этот термин в операционной системе DOS. В DOS бит "archive" был установлен, когда файл был изменен, а "инкрементная" резервная копия копировала только файлы, в которых был установлен бит "archive". Процесс резервного копирования очистит атрибут архива, поэтому последующее редактирование файла приведет к его повторному копированию "постепенно".
С моментальными снимками каждый блок тома помечен, если он изменен. Это не делается в файле по файлу. После первого моментального снимка резервные копии сохраняются только блоки, отмеченные как измененные, так же, как "инкрементные" резервные копии в DOS. Но то, где сходство заканчивается, потому что с каждым блоком, который он не должен копировать, не просто пропустить его, он пишет указатель на то, где находится последняя (неизменная) копия данных.
Первый снимок, сделанный вами из тома, данные разбиваются на блоки. Из Amazon: "Данные тома разбиты на куски перед переносом на Amazon S3. Хотя размер кусков может меняться с помощью будущих оптимизаций, число [...] можно оценить, разделив размер данных, которые изменились начиная с последнего моментального снимка на 4 МБ".
Следующий снимок, который вы делаете, состоит из данных только для тех блоков, которые были изменены, и указывает на блоки, которые не изменились. Эти указатели указывают на блоки данных в предыдущем снимке.
Следующий снимок (n) выполняется путем записи данных каждого блока, измененного с момента предыдущего моментального снимка (n-1), вместе с указателями для блоков, которые не изменились со времени предыдущего моментального снимка (n-1). Эти указатели указывают на соответствующие блоки в предыдущем снимке, который может содержать данные, или другой указатель на его предыдущий моментальный снимок. В конце концов, каждый указатель заканчивается блоком реальных данных (который не изменился с момента создания моментального снимка).
Теперь скажем, вы решили удалить моментальный снимок (x). Снимок (x) имеет сделанные перед ним снимки (x-1), а после него (x + 1). Amazon заменяет указатели в снимке (x + 1) указателями и данными из моментального снимка (x) (тот, который удаляется). В результате любые фактические данные в снимке (x) копируются в моментальный снимок (x + 1), если у него нет собственной копии более свежих данных для этого блока.
Так работают снимки, где хранятся данные, и почему размер снимков управляем. Вы можете понять из этого, как удаление моментального снимка уничтожит только вашу способность вернуть объем, как это было в тот момент, когда был создан этот снимок, не уничтожая возможности использования ваших других снимков. В отличие от простых традиционных "инкрементных" резервных копий, которые не используют указатели, моментальные снимки, которые не удаляются, обновляются по мере необходимости, чтобы поддерживать их полезность при удалении одного из зависимых снимков. Вот почему имеет смысл, что Amazon взимает больше за интеллектуальное хранение снимков, чем простые копии томов EBS. Наконец, понятно, что трудно предсказать, сколько хранилищ снимков будет стоить, так как оно настолько динамично.