The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В состав ядра Linux принят dm-clone, модуль для эффективной репликации внешних устройств

23.09.2019 10:36

Линус Торвальдс принял в ветку ядра, на основе которой формируется релиз 5.4, реализацию модуля dm-clone с реализацией нового обработчика на базе Device-Mapper, позволяющего клонировать существующее блочное устройство. Модуль даёт возможность на базе доступного в режиме только для чтения блочного устройства создать локальную копию, допускающую запись в процессе клонирования.

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

Клонированное устройство можно примонтировать и начать использование сразу после его создания, не дожидаясь завершения процесса переноса данных. Копирование информации будет продолжено в фоновом режиме, параллельно с вводом/выводом, образуемым при обращении к новому устройству. Например, dm-clone можно использовать для восстановления резервных копий из сетевых хранилищ, доступных по таким протоколам, как NBD, Fibre Channel, iSCSI и AoE, в локальное хранилище на базе SSD или NVMe. Код dm-clone оптимизирован для выполнения мелких операций случайной записи, размер которых соответствует размеру блока (по умолчанию 4K).

В процессе клонирования запросы на чтение будут приводить к прямому запросу данных с клонируемого устройства, а запросы на запись, затрагивающие ещё не синхронизированные области, будут откладываться до окончания внеплановой загрузки запрошенных блоков (операции загрузки для связанных с записью блоков инициируются мгновенно). Очищенные при помощи операции "discard" блоки исключаются из процесса копирования (после монтирования пользователь может выполнить "fstrim /mnt/cloned-fs" чтобы не копировать блоки, неиспользуемые в ФС).

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

Ключевым отличием от решений на базе Unionfs и OverlayFS является то, что dm-clone работает на уровне блочного устройства, независимо от применяемой на этом устройстве файловой системы, и формирует полную копию исходного устройства, а не накладывает дополнительный слой, в котором отслеживаются изменения. В отличие от dm-mirror модуль dm-clone изначально рассчитан на работу только с исходным разделом в режиме только для чтения, без трансляции в него операций записи. В dm-snapshot не создаётся полная копия и отсутствует поддержка фонового копирования. В dm-cache не создаётся полная копия, пробрасываются операции записи, а работа сводится к кэшированию обращений. Наиболее близким по функциональности является dm-thin, но он не поддерживает операции фонового копирования и ограничен только использованием определённых типов разделов (thin-provisioning).

  1. Главная ссылка к новости (https://www.phoronix.com/scan....)
  2. OpenNews: Представлен код файловой системы Aufs2, продолжающей развитие Unionfs
  3. OpenNews: Релиз unionfs-fuse 0.20 - FUSE реализации файловой системы unionfs
  4. OpenNews: Проект GNUstep опубликовал утилиту синхронизации файлов StepSync 1.0
  5. OpenNews: Выпуск открытой P2P-системы синхронизации файлов Syncthing 1.2.0
  6. OpenNews: Код OverlayFS принят в состав ядра Linux 3.18
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51542-dm-clone
Ключевые слова: dm-clone, kernel, linux, clone, mirror
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (21) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:23, 23/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > доступных по таким протоколам, как NBD, Fibre Channel, iSCSI и AoE

    AoE - это Age of Empires?

     
     
  • 2.2, Аноним (2), 11:29, 23/09/2019 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 3.8, Аноним (1), 12:37, 23/09/2019 Скрыто ботом-модератором     [к модератору]
  • –4 +/
     
  • 2.4, Аноним (4), 11:35, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ATM over Ethernet
     
     
  • 3.5, Аноним (5), 12:00, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Вообще-то ATA over Ethernet
     
     
  • 4.7, Аноним (1), 12:36, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все равно в итоге мнения разделились.
     
  • 3.9, Аноним (9), 12:38, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Device-Mapper это о блочных устройствах. ATA over Ethernet.
     
  • 2.15, Аноним (15), 17:03, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >AoE - это

    ATA Over Ethernet. Бывает и такое, да..

     

  • 1.3, Смартанонимус (?), 11:29, 23/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С каких это пор работа на уровне блочного устройства, а не логики ФС стала преимуществом? Всю дорогу недостатком железных рейдов считали Write-on-Hole и подобныеим проблемы.
     
     
  • 2.6, Аноним (6), 12:09, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > С каких это пор работа на уровне блочного устройства, а не логики ФС стала преимуществом?

    Когда речь идёт об универсальности. Этой штукой можно пользоваться и для ext4, и для XFS, и для LUKS. Комбайн, может быть, и плох с точки зрения филисофии Unix, зато очень удобен. Так что — нафиг философию.

     
     
  • 3.17, Аноним (17), 18:10, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Какой же это комбайн? Это просто низкоуровневое решение, никак философии Unix не противоречащее. Был бы комбайн, если бы поверх такого блочного устройства могли работать только специально пропатченные ФС.
     
  • 2.12, Аноним (12), 13:43, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > после монтирования пользователь может выполнить "fstrim /mnt/cloned-fs" чтобы не копировать блоки, неиспользуемые в ФС
     

  • 1.10, Аноним (10), 12:46, 23/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Бомба.

    Раньше это была фирменная фишка проприетарных систем бэкапа, а теперь её начнут встраивать во всякие proxmox/ovirt/etc.

     
     
  • 2.13, Аноним (13), 15:25, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Слава Линусу! Развиваемся потихоньку на зависть [s]хейтерам[/s] проприетарщикам :)
     

  • 1.11, Аноним (11), 13:43, 23/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А файл с sqlite базой данных может являться блочным устройством?
     
     
  • 2.16, Аноним (6), 17:49, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    losetup -f /path/to/file.db :)
     
     
  • 3.28, Аноним (28), 15:32, 26/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    это только для чтения, а если при записи размер увеличится?
     

  • 1.14, int13h (ok), 15:47, 23/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Очень хорошие новости!
     
  • 1.20, Аноним (20), 19:46, 23/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если это поможет вылечить мёртвые зависания при отваливании NFS-шары, то я "за". И не надо мне рассказывать про ключи монтирования, они не работают.
     
     
  • 2.22, Аноним (22), 20:55, 23/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > NFS

    Нет. NBD, разве что.

     

  • 1.27, IZh. (?), 11:16, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем-то на DRBD похоже.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру