Merge dm-snapshot: завершение не обязательно выглядит как ноль выделенных секторов

Фотография конкретного исполнения не приложена.

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

Snapshot-merge принимает роль snapshot-origin и работает с persistent-снимком. После начала слияния старый snapshot target возвращает I/O-ошибку при обращении. Продолжающийся доступ к origin обслуживается с учётом ещё не слитых chunks. Следовательно, доступность прежнего имени снимка не является правильным индикатором хода операции.

В status sectors_allocated включает данные и метаданные. Руководство определяет завершение по равенству sectors_allocated и metadata_sectors: данных для переноса уже нет, но служебные сектора остаются. Ожидание буквального нуля способно ошибочно показать незавершённую операцию.

В приёмке на тестовом томе сверяют направление изменения, доступные пути и итоговые значения status. После завершения проверяют содержимое и верхний прикладной слой. Успешное создание задачи merge не подтверждает завершение, а исчезновение отдельного snapshot-имени само по себе не доказывает корректность данных origin.

Основание — Official upstream Linux v6.18 tag device-mapper documentation; fixed reference edition, разделы snapshot-merge; How to determine when merging is complete. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — документация официального тега Linux v6.18, указанная как фиксированная редакция. Это не утверждение о последнем ядре или установленной сборке. Реальные тома, параметры LVM, кэш и ключи не проверялись; операций с блочными устройствами и внедрения отказов не выполнялось.

Запросить

Запросы отправляются на наш e-mail из вашей почтовой программы.