Изменение UTR UID файловой системы BTRFS

14

Я сделал резервные копии моей файловой системы BTRFS, используя Clonezilla, и восстановил одну из этих резервных копий в файл с именем 2013-11-29.sda3.img.

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

Можно ли изменить UUID тома резервной копии? Насколько я понимаю, BTRFS хранит информацию UUID в каждом блоке файловой системы, что усложняет мои задачи. Тем не менее, есть ли способ, которым я мог бы изменить это? Я понимаю, что это, вероятно, займет много времени, но это не касается меня. Моя главная задача - поддерживать сервер в сети. Резервная копия довольно большая, поэтому ее перенос на другую машину займет довольно много времени.

Какие у меня варианты?

Нафтули Кей
источник

Ответы:

0

На данный момент нет способа сделать это. На самом деле UUID тома используется в каждом узле дерева чанков. Вы должны будете изменить их там также, предполагая, что заголовки блоков / устройства не хэшированы. BTRFS действительно не был предназначен для такого резервного копирования.

Это действительно грустно, но самый простой способ справиться с этим - использовать другой компьютер.

Если позволите, я хотел бы предложить вам прекратить резервное копирование ваших данных таким образом.

  1. Если ваши разделы важны в целом, сделайте резервную копию с помощью dd/ clonezilla. Когда вам нужно восстановить резервные копии, восстановите весь раздел за один раз. Не делайте такого рода гибридных резервных копий: вы специально сохранили свои разделы на уровне блоков . Таким образом, вы должны восстановить его на уровне блока. В противном случае вы используете ложку, чтобы нарезать мясо. Как вы наверняка заметили, это решение обычно не используется, потому что оно не предлагает универсальности.

  2. Если ваши данные важны, rsyncвыполните резервное копирование с помощью или аналогичного инструмента на другом диске: ваши данные всегда будут доступны, вы создаете резервную копию именно того, что вам нужно, вы делаете резервные копии на уровне файлов и т. Д.

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

О, вы уже были предупреждены;) Автоматическое резервное копирование Clonezilla и шифрование GPG

Кстати, шифрование легче применять к файлам, используя либо LUKS для шифрования на основе разделов, либо EnFS или EncryptFS для шифрования на основе файлов.

Сообщество
источник
Основной вопрос заключался в том, как просто смонтировать резервную копию образа, когда образ FS является BTRFS. Я предполагаю, что мне придется сделать еще одну резервную копию Clonezilla моего текущего состояния операционной системы, восстановить старую резервную копию, сделать то, что мне нужно, а затем восстановить обратно в текущую. Хотелось бы, чтобы был более легкий путь, но эй, если это работает, это работает.
Нафтули Кей
Основной ответ заключается в том, что вы не можете, если он использует тот же UUID, что и другой раздел на диске :)
23

С помощью программы btrfstune, которая является частью более поздних версий обычных btrfs-tools, UUID автономной файловой системы может быть изменен. Если раздел, например. /dev/sda1используйте следующую команду для генерации нового случайного UUID:

btrfstune -u /dev/sda1

Чтобы указать, какое значение следует использовать, используйте заглавные буквы, -Uза которыми следует (действительная) строка UUID, например:

sudo btrfstune -U e0c5b943-1c02-44a2-bbaf-87ebda5e363b /dev/sdaX
deviantfan
источник
В чем разница на практике между -m/ -Mи -u/ -U?
Владимир Пантелеев
Похоже -m/ -Mдовольно новый. Больше информации в сообщениях btrfs-progsкоммита и коммита ядра .
Владимир Пантелеев
Попробовав это - как -Uи -M аварию с BUG_ONменя и коррумпированной файловой системой. Не пытайтесь без резервных копий!
Владимир Пантелеев