Btrfs: новое устройство, добавленное в RAID1, не используется

Si está utilizando Ubuntu 16.04, es posible que deba:

PS1=$
PROMPT_COMMAND=
echo -en "\033]0;New title\a"

Enumero esto y más información al respecto en enlace .

3
27.07.2019, 21:40
1 ответ

Я понял как исправить это в данном конкретном случае (но не почему это происходит ). Я также не могу быть уверен, что он «исправит» аналогичные проблемы, отмеченные в конце вопроса выше.

В любом случае это явно нежелательное, непреднамеренное или, в лучшем случае, недокументированное поведение со стороны Btrfs. (Например, может быть просто «недокументировано», что вы должны выполнить эти шаги, чтобы Btrfs начала использовать только что добавленное устройство. А почему это не всегда работает... это другой вопрос.)

В этом (реальном )примере:

  • /dev/sdj— это добавляемое устройство, которое btrfs не использует для передачи данных.
  • /mnt/btrfs/ba07— место установки массива.
btrfs device delete /dev/sdj /mnt/btrfs/ba07
btrfs device add    /dev/sdj /mnt/btrfs/ba07
sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/btrfs/ba07

Обычные заявления об отказе от ответственности: убедитесь, что у вас есть резервная копия данных. Предполагается, что команда device deleteделает это без потери данных (и сделала ), и должна работать до тех пор, пока на других дисках достаточно места для приема данных удаленного устройства (, что, очевидно, имеет место, если он даже не используется ), но лучше перестраховаться, чем потом сожалеть.

Если это не сработало и предполагается, что в остальной части вашего массива есть данные, а вновь добавленный диск пуст, вы заметите после btrfs balance start... что:

  • Команда (btrfs balance start...)вероятно возвращает сразу,
  • btrfs balance status /mountpointне проявляет активности, а
  • Раздел Data,RAID1вывода btrfs fi usageне содержит списка новых устройств.

Если это не сработало, попробуйте еще раз последнюю команду (btrfs balance start... ).

Если это по-прежнему не работает, попробуйте все три команды еще раз.

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

Также обратите внимание, что в данном конкретном случае эти не сработали даже после нескольких попыток:

  • Выполнение балансировки метаданных отдельно перед балансировкой данных (, как было предложено в аналогичном вопросе, документированном в вопросе выше ).
  • Добавление параметра ,softк аргументам -mconvert=raid1и -dconvert=raid1.
1
27.01.2020, 21:29

Теги

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