Скопируйте раздел BTRFS на внешний раздел BTRFS на жестком диске, включая моментальные снимки

У меня вопрос о резервном копировании разделов BTRFS.

Предположим, у меня есть раздел BTRFS на / dev / sda1 и внешний жесткий диск с BTRFS на / dev / sdb1.

Я уже выяснил, что могу сделать начальную резервную копию, выпуская:

btrfs replace start /dev/sda1 /dev/sdb1 

Впоследствии я изменяю 2 вещи:

  • Я создаю новый стандартный файл на SDA1
  • Я создаю новый снимок BTRFS на SDA1

Теперь я хочу, чтобы мой внешний жесткий диск SDB1 («backup») выровнялся с SDA1. Таким образом, оба файла являются специфичными для BTRFS (моментальные снимки).

Как мне это сделать?

Поэтому я ищу эквивалент rsync, который также синхронизирует функции BTFS (моментальные снимки):

 rsync -avr --delete <mount point sda1> <mount point sdb1> 

благодаря

One Solution collect form web for “Скопируйте раздел BTRFS на внешний раздел BTRFS на жестком диске, включая моментальные снимки”

Команда replace не создает резервную копию sda1, она заменяет sda1 на sdb1 в файловой системе, но поскольку это одна файловая система устройства, и btrfs не пытается стереть данные из sda1 при ее замене, они в конечном итоге становятся indentical копиями файловой системы. Однако вы НЕ хотите этого делать, поскольку оба будут иметь одинаковый UUID, и в настоящее время небезопасно монтировать две файловые системы btrfs с одинаковым UUID, поскольку это может вызвать MASSIVE DATA CORRUPTION (см. Страницу Gotchas btrfswiki) . Если вы хотите использовать функцию инкрементного резервного копирования btrfs, вы должны отформатировать резервный диск / dev / sdb1 в новую файловую систему btrfs. Затем вы должны сделать мгновенный снимок только для чтения, независимо от того, какие подэлементы (ы) вы хотите сделать резервными копиями в своей файловой системе, используя

 btrfs su sn -r @subvolume-name @subvolume-name-RO 

на каждом подвыполнении. Затем вы должны установить пустую файловую систему btrfs и запустить

 btrfs send /path/to/@subvolume-name-RO | btrfs rec /path/to/backup-directory/ 

Это будет первая передача, и btrfs должны будут перенести все данные на этот раз. В следующий раз, когда вы захотите отправить резервную копию на этот диск, вы можете использовать инкрементные отправки, чтобы отправлять только те данные, которые были изменены с момента отправки предыдущей резервной копии. Он также будет использовать Copy On Write, так что вы также сэкономите много места. Просто убедитесь, что вы сохранили последний снимок на обеих файловых системах. Когда это будет сделано, вы можете переименовать отправленный снимок в любое удобное для вас время.

Теперь, если вы хотите отправить другой снимок, просто переименуйте orignal и возьмите новый снимок с чем-то вроде

 mv @subvolume-name-RO @subvolume-name-RO-old btrfs su sn -r @subvolume-name @subvolume-name-RO 

Затем вы можете использовать send для отправки последнего моментального снимка, используя

 btrfs send -p @subvolume-name-RO-old @subvolume-name-RO | btrfs rec /path/to/backup-directory/ 

и если предыдущий моментальный снимок все еще существует на вашем резервном диске, он отправит ваш новый снимок, просто скопировав все изменения, сделанные вами с предыдущего.

  • Btrfs super-recover говорит, что все суперблоки хороши, но mount не согласен
  • BTRFS восстанавливает моментальный снимок
  • Собственность на раздел btrfs через fstab
  • Преобразование ext4 в btrfs: Если я случайно потеряю питание системы во время преобразования, я потеряю данные?
  • Что мне делать с профилями btrfs?
  • Бад btrfs не работает из-за ошибки enospc
  • Linux btrfs как удалить неисследованную файловую систему из списка?
  • Проверка и проверка блокировки из другого процесса
  • Как отремонтировать btrfs после сломанного кабеля sata?
  • Как заменить диск без сбоев в одном профиле пула BTRFS?
  • Как удалить каталог с несколькими subvolums btrfs?
  • Interesting Posts

    Как избежать одиночных или двойных кавычек при передаче переменной в bash-скрипт?

    Как контролировать CD / DVD? (чтобы проверить целостность моей установки Debian)

    Пользовательское приглашение bash – проблема позиционирования курсора

    Как добавить dir в fpath

    Вручную добавление статического ip не будет разрешено через некоторое время

    установка SD-карты без перегородки

    Отсутствие ограничений по упаковке. Как установить стресс на CentOS 7.2?

    tcpdump: Показать даже недействительные пакеты ethernet

    Чтение текстового файла; Копирование текстовой строки без отступов; Заменить начало отступов с указанным текстом

    Gnu AWK разделяется по шаблону и вставляет столбцы, но получает больше разделителей

    Компиляция кода C ++ 11 на старых машинах

    Включить numlock только для внешней клавиатуры

    apt-get upgrade не устанавливает обновления через работу crontab

    Насколько переносимы команды chmod и chown?

    Ошибка доступа к ретрансляции при попытке отправить почту извне в постфикс

    Linux и Unix - лучшая ОС в мире.