btrfs поддерживает частичное преобразование файловой системы?

Я сейчас нахожусь в этом состоянии:

btrfs fi df .
Data, RAID5: total=9.83TiB, used=7.68TiB
System, RAID1: total=32.00MiB, used=704.00KiB
Metadata, RAID1: total=12.00GiB, used=8.61GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

И из-за ошибок, обнаруженных в режиме raid5, я хочу перейти на raid1. Существуют различные причины, по которым вы не можете выполнить полное преобразование прямо сейчас. Я хочу установить целевой режим на raid1. Таким образом, любые новые данные будут помещены в raid1, и когда будет время, я могу запустить полное перебалансирование (или мягкое)

Так возможно ли что-то подобное?

btrfs balance start -dconvert=raid1 -dusage=10 .

1 ответ1

1

Ну, так как никто не имел никакой информации, я просто попробовал ее и задокументировал свои действия.

btrfs balance start -dconvert=raid1 -dusage=10 .

Эта команда просто преобразовала куски, которые встретились с фильтром (использование = 10%). Не было сжатия кусков (например, регулярного баланса) и не было заданного целевого уровня рейда от raid5 до raid1. Так что это было довольно бесполезно и создавало большие порции с в основном пустыми данными и потраченным впустую временем.

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

btrfs balance start -dconvert=raid1 -dlimit=500,soft .

Таким образом, файловая система была преобразована шаг за шагом.

Заметки:

  1. баланс "пустые куски" прочь до преобразования. Это экономит время.
  2. во время этого процесса btrfs будет всегда помещать новые данные в блоки старого raid-профиля. Я не нашел способа изменить это. Таким образом, новые данные всегда будут помещаться в фрагменты raid5, или создаются новые фрагменты raid5 для хранения данных. Как только вся файловая система конвертируется, это поведение, конечно, исчезает.
  3. это полностью работало онлайн :)

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