SSH работает только вскоре после перезагрузки маршрутизатора

Учитывая ваше точное описание, нет, это невозможно, потому что вы также потеряете часть дерева метаданных (и, если вам действительно не повезет, вы потеряете дерево фрагментов (Системные фрагменты в btrfs fi dfвывод ), что эквивалентно очистке суперблоков и части таблиц инодов в файловой системе ext4 ). Эти отсутствующие метаданные являются частью того, почему вы были вынуждены монтировать только для чтения -.

По умолчанию BTRFS использует режим dupдля метаданных. Это означает, что он хранит 2 копии каждого блока метаданных, но обе хранятся на одном устройстве (, даже если у вас более одного устройства ). В результате этого, если вы потеряете одно устройство из тома BTRFS с несколькими -устройствами, использующего этот профиль метаданных, вы, вероятно, ()потеряете часть своих метаданных. Если дерево метаданных настолько повреждено, у вас, вероятно, будут отсутствовать большие части файловой системы, а также, вероятно, вы вообще не сможете смонтировать файловую систему.

Вам нужно будет использовать режим raid1для метаданных. Серьезно, это не так сильно влияет на производительность, как вы думаете, особенно если вы не выполняете регулярную запись в файловую систему.и это предотвратит отказ одного устройства от уничтожения всей файловой системы.

При этом в случае отказа устройства:

  1. Используйте mount -o remount,rw,degraded, чтобы сделать файловую систему снова доступной для записи. НЕ ОСТАВЛЯЙТЕ ФАЙЛОВУЮ СИСТЕМУ РАБОТАТЬ ТАК, ЕСЛИ ВЫ НЕ ИСПРАВЛЯЕТЕ ЭТО! Серьезно, очень плохие вещи могут случиться, если вы оставите файловую систему деградированной, но доступной для записи.
  2. Каким-то образом удалить все файлы, затронутые сбоем. Надежное определение того, что затронуто, в настоящее время -нетривиально, особенно если у вас есть хоть какая-то степень фрагментации.
  3. После того, как эти файлы и каталоги будут удалены, используйте btrfs device deleteдля удаления неисправного устройства (, если устройство полностью отсутствует, вы можете использовать btrfs device delete missing, чтобы избавиться от него ). Использование btrfs replaceв этом сценарии, вероятно, приведет к сбою и не улучшит производительность. Использование btrfs device deleteтакже устраняет требование, чтобы новое устройство было не меньше старого (и, таким образом, облегчает вашу жизнь, поскольку вы не имеете дело с устройствами одинакового размера ).
  4. Используйте btrfs device addдля добавления заменяющего устройства, а затем btrfs balance start -musage=100для повторной балансировки фрагментов метаданных (фрагменты данных будут естественным образом перебалансироваться при копировании потерянных файлов в ).
  5. Используйте rsyncили аналогичный инструмент, чтобы скопировать отсутствующие элементы.
0
26.09.2019, 15:45
1 ответ

Обновление :проблема заключалась в брандмауэре маршрутизатора. Даже при низкой безопасности он блокировал входящий трафик. Похоже на зияющую уязвимость для брандмауэра, который требует больше времени для запуска, чем маршрутизатор @xfinity (, поэтому я смог использовать ssh только в течение нескольких минут после запуска ). Ок, спасибо всем!

0
28.01.2020, 03:15

Теги

Похожие вопросы