1

У меня чрезвычайно критический набор обстоятельств. Я установил snapper на свою коробку Fedora 20. Создано около 20 снимков. Мой раздел btrfs теперь полон томов snapper. Мой раздел стал недоступным для записи (он полон). ОС теперь не загружается (даже до уровня запуска 1).

Я пытался (пока ОС была еще загрузочной)

  • Убить люциана, удалить файлы
    • Пространство не восстановлено из-за снимков.
  • Перезагрузитесь до уровня запуска 3
    • Fail (зависание при загрузке)
  • Перезагрузитесь до уровня запуска 1, выпустите snapper delete N
    • Fail (Snapper требует dbus)
  • ОС становится не загружаемой.

Тогда я попробовал:

  • Сделайте живую палку Fedora 20 и смонтируйте ее
    • Попробуй rm и true> файл файлы
      • Потерпеть поражение. Файлы дублируются в снимке
    • Попробуйте удалить в снимке
      • Потерпеть поражение. Снимки доступны только для чтения
    • Попробуйте btrfs subvolume удалить снимки (.snapshots/N/snapshot)
      • Потерпеть поражение. Там написано "Нет места на устройстве"
    • Попробуйте btrfs subvolume удалить родительский subvolume (".snapshots")
      • Потерпеть поражение. Там написано "Справочник не пустой"
    • Попробуйте btrfs fi balance. -dusage = 5
      • Потерпеть поражение. говорит, что это устарело
    • Попробуйте запустить баланс btrfs.
      • Потерпеть поражение. Там написано "Нет места на устройстве"
    • Попробуйте запустить баланс btrfs. -dusage = 5
      • Потерпеть поражение. Говорит «Готово, пришлось переместить 0 из 90 кусков», но ничего не изменилось.

Файловая система также может быть повреждена. btrfsck возвращает в основном незначительные ошибки.

У меня почти нет надежды. Система важна для меня, и она кажется потерянной. Могу ли я сохранить это каким-то чудом?

У меня есть несколько компьютеров, жестких дисков, USB-флешек и столько времени, сколько нужно.

1 ответ1

2

Если у вас есть запасной жесткий диск с большим объемом памяти, чем у вашего текущего диска, вы можете попробовать:

  1. Загрузка с LiveCD (Fedora или что-то с поддержкой хотя бы такой же версии btrfs было бы здорово)
  2. Скопируйте файловую систему btrfs на новый жесткий диск
  3. Определить новую файловую систему
  4. Используйте изменение размера файловой системы btrfs, чтобы увеличить объем пространства в пуле хранения.
  5. При увеличении свободного места на устройстве должно остаться "место", удалите столько снимков, сколько вы не возражаете.

Если вам все еще не удается получить достаточно места или у вас нет одного жесткого диска с большим объемом памяти, но у вас есть два диска с как минимум одинаковыми возможностями хранения, вы можете попробовать:

  1. Скопируйте файловую систему btrfs на один из новых жестких дисков.
  2. Настройте новую файловую систему btrfs для использования нового пула хранения на втором жестком диске.
  3. Ребаланс (начало баланса btrfs)
  4. Теперь у вас должно быть почти половина свободного пространства.

Я бы не рекомендовал этот подход с исходным разделом + другим диском, потому что если вы повредите исходный раздел (например, во время ребалансировки), у вас не будет другого шанса на восстановление.

Если вы на самом деле не возражаете против данных на снимках, может быть проще просто скопировать содержимое в другой раздел btrfs или в ext4, снова выполнить mkfs и перенести файлы обратно.

Этот способ должен быть быстрее (если вы не возражаете против снимков), потому что вам не нужно изменять дерево метаданных (если оно смонтировано только для чтения).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .