2016-09-23 12 views
1

У меня есть установка докеров с несколькими изображениями и около 150Gigs данных в /var/lib/docker. Эта настройка использует overlayfs в качестве драйвера хранилища. Существует несколько каталогов для каждого уровня под /var/lib/docker/overlay, содержащих фактические данные. Размер раздела 160G.Как скопировать/var/lib/docker с структурой каталогов overlayfs с данными * as-is * без увеличения объема памяти

Мое требование состоит в том, чтобы скопировать каталог докеров с /var/lib/docker на новый диск размером 1 ТБ, чтобы я установил докер для начала работы с этим новым разделом и продолжаю использовать старые изображения.

Теперь проблема, когда Я использую rsync или cp команды с -a, чтобы скопировать /var/lib/docker в новый раздел, а в общей сложности 150g фактических данных, общие копироваться данные поступают так же, как 600G (и считая ..).

Докер также остановлен, но не уверен, как ОС смотрит данные 160G и копирует в 600G +. Надеюсь, это не overlayfs (объединенные каталоги). Информация о наложении на df -aTh отсутствует. Это также не помогло выгрузить драйвер наложения ядра с rmmod overlay

Как можно просто скопировать эти данные как есть, без какого-либо расширения/слияния.

ответ

1

Оказалось, что докер использует hardlinks в этих каталогах под кодом /var/lib/docker/overlay. Использование -H в rsync (копирование жестких ссылок как hardlinks) решило проблему.

rsync -avPHSX /var/lib/docker /new/partition/ 

 Смежные вопросы

  • Нет связанных вопросов^_^