Adăugați dispozitive btrfs la matrice raid1, mărind dimensiunea totală

Am o matrice btrfs care cuprinde două discuri de 2 TB în raid 1. Rămân fără spațiu și vreau să adaug două discuri de 3 TB pe care le am în jur. Setarea finală va fi 2x2TB + 2x3TB. O redundanță de defecțiune a unității este suficientă pentru mine (datele sunt salvate și în altă parte).

Nu sunt sigur cum să procedez: btrfs wiki spune clar cum să adăugați dispozitive noi, dar nu sunt sigur cum va ajunge acest lucru în termeni de spațiu disponibil pe disc. Voi sfârși cu:

  1. 2 TB spațiu cu 4x redundanță sau
  2. 4 TB spațiu cu 2x redundanță sau
  3. altceva?

Pe baza unor cercetări (de exemplu acest răspuns) Cred că rezultatul ar trebui să fie 2, ceea ce mi-aș dori. Este corect?

O altă posibilitate este să trec la o configurare raid 10, dacă acest lucru este posibil cu discuri de dimensiuni diferite. Dacă acest lucru este recomandabil, cum ar trebui să fac asta fără să găzduiesc temporar datele despre stocarea externă?

3
задан 14 January 2019 в 19:06
1 ответ

2 ТБ пространства с 4-кратным резервированием или

Цитата из официальной вики объясняет это подробно:

«… btrfs сначала объединяет все устройства в пул хранения, а затем дублирует фрагментов по мере создания файловых данных.

RAID-1 в настоящее время определяется как «2 копии всех данных на разных устройствах».

Это отличается от MD-RAID и dmraid… »

- только 2 копии.

Другая возможность заключается в том, что я переключаюсь на настройку raid 10, если это возможно с дисками разного размера.

Снова читаем тот же источник: «…

RAID-10 построен на основе этих определений.

1231] Каждая полоса делится ровно на 2 набора RAID-1, и эти наборы RAID-1 записываются ровно на 2 устройства (следовательно, минимум на 4 устройства). Том btrfs RAID-10 с 6 устройствами по 1 ТБ даст 3 ТБ полезной емкости. пространство с 2 копиями всех данных.… »

как мне это сделать без временного размещения данных на внешнем хранилище?

Это все также объясняется в параграфе« Преобразование »- начиная с btrfs balan ce над точкой монтирования со спецификациями необходимого профиля для данных и метаданных. Тривиально изменив их пример, получится следующее:

btrfs balance start -dconvert = raid10 -mconvert = raid10 /… mntPoint…

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


Заключение

Теоретически у вас будет наилучший возможный результат, потому что « btrfs сначала объединяет все устройства в пул хранения "

Практика

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

Предупреждение.

Несмотря на то, что Btrfs стали довольно зрелыми Я слышал, что поддержка нескольких устройств все еще недостаточно надежна по сравнению с режимом без RAID. Я бы рекомендовал сначала попробовать упомянутое выше преобразование на устройствах с обратной связью , и даже если оно пройдет успешно, сделайте резервную копию хотя бы наиболее важных данных в другом месте .

Кроме того, выражая собственное мнение, я бы сказал, что я Я бы предпочел преобразовать такую ​​установку в традиционный LVM-2, а не на LSR (Linux Software RAID aka MD), что дало бы вам возможность создавать логические подтома для последующего использования либо с Btrfs, либо с любой другой желаемой FS.

4
ответ дан 3 December 2019 в 05:59

Теги

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