Linux Labs

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

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

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

Шаг 2 из 7 · теория · 5 мин

Снимок хранит только изменённое

Снимок показывает том на момент снятия, но полной копией не является. Здесь — как он устроен и чего не переживёт.

Снимок LVM показывает том таким, каким он был в момент снятия. Том, с которого снят снимок, — origin, здесь это data.

Снимок работает по принципу копирования при записи (copy-on-write, COW). Пока блок origin не меняли, снимок читает его с самого origin. Перед первой записью в блок LVM копирует его старую версию в запас снимка и только потом пишет новую в origin. Поэтому снимку на 64 MiB хватает места: он хранит только то, что поменялось после снятия.

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

Проверь себя 1 вопрос

Перед рискованной миграцией данные тома нужно защитить и от ошибки миграции, и от отказа диска под группой. Чего хватит?

  • От ошибки миграции снимок защитит. Но неизменённые блоки он читает с того же диска, что и origin, и с отказом диска пропадёт вместе с ним.

  • ro бережёт снимок от случайной записи, но не от отказа диска: снимок по-прежнему зависит от origin.

  • Оба снимка берут неизменённые блоки с origin на том же диске и пропадут вместе с ним. Проверь: sudo lvs покажет у обоих одну группу.

Снимок даёт быстрый откат после ошибки, но живёт на тех же устройствах, что и origin. От отказа диска защищает копия на другом носителе.

Главное в шаге

  • Снимок хранит старые версии блоков, изменённых после снятия, а остальное читает с origin.
  • Снимок живёт на тех же устройствах, что и origin, и при их отказе пропадёт вместе с ним.
Ubuntu 24.04
Загрузка…