Линус Торвальдс включит dm-clone для ветки ядра Linux 5.4

Linux-ядро

Недавно была выпущена новость, что создатель ядра Linux, «Линус Торвальдс» принят в основную ветку (на основе чего сформирована версия 5.4) реализация модуля dm-clone с внедрением нового контроллера на основе Device-Mapper.

Это новое предложение для ядра Linux позволит вам клонировать существующее блочное устройство. Модуль позволяет создавать локальную копию на основе на блочном устройстве, доступном только для чтения, в которое можно производить запись во время процесса клонирования.

Как типичное применение предлагаемого модуля для ядра Linux «Dm-clone» относится к сетевому клонированию удаленных файловых устройств в режиме только для чтения и обработки ввода-вывода. с большими задержками на быстрое локальное устройство, которое поддерживает запись и обработку запросов с минимальными задержками.

С этим дает возможность смонтировать клонированное устройство и сразу начать его использовать после его создания, не дожидаясь завершения процесса передачи данных.

С другой стороны, копирование информации будет продолжаться в фоновом режиме., параллельно с вводом / выводом, генерируемым при доступе к новому устройству.

Основным вариантом использования dm-clone является клонирование устройства блокировки типа файла с потенциально удаленной задержкой и только для чтения на устройство первичного типа с возможностью записи.

Например dm-clone можно использовать для восстановления резервных копий подключенного хранилища к сети, доступной через такие протоколы, как NBD, Fibre Channel, iSCSI и AoE, в локальном хранилище на основе SSD или NVMe.

Код dm-clone оптимизирован для небольших случайных записей, размер которых соответствует размеру блока (по умолчанию 4K).

Во время процесса клонирования запросы на чтение приведут к прямому запросу данных с клонированного устройства, а запросы на запись, затрагивающие области, которые еще не были синхронизированы, будут отложены до завершения незапланированной загрузки запрошенных блоков ( операции загрузки блоков, связанных с записью, начинаются мгновенно).

Блоки, удаленные операцией «discard», исключаются из процесса копирования (после монтирования пользователь может выполнить «fstrim / mnt / cloned-fs», чтобы избежать копирования блоков, которые не используются в FS).

Информация об изменениях и данных в загруженных блоках они хранятся в отдельной локальной таблице метаданных.

После завершения клонирования пользователь получает полную рабочую копию исходного устройства, в которой отражены все изменения, внесенные с момента начала клонирования.

Таблицу с метаданными клона можно удалить после синхронизации, заменив ее таблицей строк, которая напрямую отражает данные на новом устройстве.

Ключевое отличие от решений на основе Unionfs и OverlayFS заключается в том, что dm-clone работает на уровне блочного устройства, независимо от файловой системы, используемой на этом устройстве, и формирует полную копию исходного устройства и не накладывает дополнительный уровень. где отслеживаются изменения.

В отличие от dm-mirror, модуль dm-clone изначально разрабатывался для работы только с исходным разделом в режиме только для чтения, без перевода в него операций записи.

В dm-snapshot полная копия не создается и фоновая копия не поддерживается. В dm-cache полная копия не создается, операции записи перенаправляются, а работа сводится к кешированию попаданий. Ближайший функционал - dm-thin.

dm-clone использует dm-kcopyd для копирования частей исходного устройства на целевое устройство. По умолчанию выдаются запросы на копирование, размер которых равен размеру региона.

Сообщение `hydration_batch_size <#regions>` может использоваться для настройки размера этих запросов на копирование. Увеличение размера пакета гидратации приводит к тому, что dm-clone пытается сгруппировать смежные области вместе, поэтому мы пакетно копируем данные из этих многих областей.

источник: https://git.kernel.org


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.