Восстановить моментальный снимок Btrfs из подкаталога в родительский

У меня есть раздел Btrfs, который имеет один подвыбор на верхнем уровне ( /root ). Он имеет параметр subvol=root в / etc / fstab.

Каждую неделю я беру мгновенный снимок в /root/snapshots/... используя:

 btrfs subvolume snapshot -r / /snapshots/"$(date --rfc-3339=date)" 

(пути не имеют /root потому что он установлен как subvol=root ).

Теперь скажем, что что-то пошло не так, и я хотел восстановить subvol=root из моментального снимка, я загружаюсь с USB-диска и монтирую раздел как /mnt/disk без subvol=root . Если я попытаюсь запустить:

 btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/root 

Он создает новый subvolume как /mnt/disk/root/2015-05-01 вместо замены /mnt/disk/root/ . Если я попытаюсь удалить его сначала, выполнив

 btrfs subvolume delete /mnt/disk/root 

Он дает сообщение об ошибке:

 ERROR: cannot delete '/mnt/disk/root' - Directory not empty 

Есть ли способ сделать это? Или я должен привыкнуть создавать снимки за пределами подвыбора, который был бы снят?

One Solution collect form web for “Восстановить моментальный снимок Btrfs из подкаталога в родительский”

Я думаю, что здесь вы ошибаетесь:

Если я попытаюсь запустить:

btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/root

Он создает новый subvolume как / mnt / disk / root / 2015-05-01 вместо замены / mnt / disk / root /.

btrfs subvolume snapshot используется для создания моментального снимка первого аргумента и помещает его в каталог, заданный вторым аргументом. Похоже, вы ожидаете, что вместо этого замените /mnt/disk/root .

Прежде чем пытаться перезаписать /mnt/disk/root , вам нужно переместить или удалить его (например, mv /mnt/disk/root /mnt/disk/root-backup-during-restore ). Затем выполните:

 btrfs subvolume snapshot /mnt/disk/root/snapshots/2015-05-01 /mnt/disk/ 

А потом:

 mv /mnt/disk/2015-05-01 /mnt/disk/root 
  • Концептуализация btrfs - понимание моментальных снимков и используемого пространства
  • Не удается mkdir / root (btrfs)
  • btrfs ERROR: ошибка во время балансировки - на устройстве нет места
  • Как отлаживать / проверять, какие устройства кэширует записи?
  • Как безопасно удалить обычный каталог, содержащий несколько снимков btrfs внутри него?
  • раздел btrfs не обнаружен
  • BTRFS-монтаж 2 подпотока
  • Использование программ btrfs для песочницы
  • Как поддержка SuSE Linux для btrfs отличается от Ubuntu и Fedora?
  • Btrfs добавляет меньший привод в RAID1
  • Почему я получаю немедленную ошибку при запуске баланса
  • Восстановить содержимое отформатированного диска?
  • Linux и Unix - лучшая ОС в мире.