Linux Labs

Хранилище / Ступень 7 из 11

Снимки LVM и откат

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 7 · на машине · 6 мин

Запас снимка

Запас снимка тратится на каждое изменение origin. Здесь — как снять снимок и проследить, чтобы запаса хватило.

Снимок снимает lvcreate -s. Размер -L — запас под изменения origin, а не копия тома:

bash
sudo lvcreate -s -L 64M -n checkpoint /dev/lab_vg/data

Снимают его в согласованный момент — когда данные на томе целые с точки зрения программы, которая их пишет. Проще всего остановить запись: в упражнениях урока файловую систему перед снимком отключали. Снимок посреди записи базы данных может сохранить её наполовину, поэтому у баз свои способы получить такой момент.

Сколько запаса израсходовано, показывает столбец Data% у снимка в выводе lvs. Каждый изменённый блок origin забирает часть запаса, даже если файл просто перезаписали и место на томе не изменилось. Когда Data% доходит до 100, снимок становится недействительным: в атрибутах lvs у него появляется I, а смонтировать его уже нельзя. Запас выбирают по объёму изменений за время жизни снимка, а ненужный снимок удаляют.

Упражнение · посмотреть

Запиши на том и посмотри на снимок

Посмотри Data% у снимка checkpoint, запиши на том в /mnt/lvm-data файл blob.bin на 20 MiB и посмотри Data% ещё раз.

Сначала предположи

Каким станет Data% у checkpoint после записи 20 MiB на том?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Ubuntu 24.04
Загрузка…