Запас снимка тратится на каждое изменение origin. Здесь — как снять снимок и проследить, чтобы запаса хватило.
Снимок снимает lvcreate -s. Размер -L — запас под изменения origin, а не копия тома:
Снимают его в согласованный момент — когда данные на томе целые с точки зрения программы, которая их пишет. Проще всего остановить запись: в упражнениях урока файловую систему перед снимком отключали. Снимок посреди записи базы данных может сохранить её наполовину, поэтому у баз свои способы получить такой момент.
Сколько запаса израсходовано, показывает столбец Data% у снимка в выводе lvs. Каждый изменённый блок origin забирает часть запаса, даже если файл просто перезаписали и место на томе не изменилось. Когда Data% доходит до 100, снимок становится недействительным: в атрибутах lvs у него появляется I, а смонтировать его уже нельзя. Запас выбирают по объёму изменений за время жизни снимка, а ненужный снимок удаляют.
Запиши на том и посмотри на снимок
Посмотри Data% у снимка checkpoint, запиши на том в /mnt/lvm-data файл blob.bin на 20 MiB и посмотри Data% ещё раз.
Сначала предположи
Каким станет Data% у checkpoint после записи 20 MiB на том?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.