У меня есть массив btrfs, состоящий из двух дисков по 2 ТБ в рейде 1. У меня заканчивается место, и я хочу добавить два диска по 3 ТБ, которые у меня лежат. Окончательная установка будет: диски 2x2TB + 2x3TB. Для меня достаточно резервирования при отказе одного диска (резервные копии данных тоже есть в другом месте).
Я не знаю, как действовать: btrfs вики четко указано, как добавлять новые устройства, но я не уверен, как это будет выглядеть с точки зрения доступного дискового пространства. Получу ли я:
На основании некоторых исследований (например, этот ответ) Думаю, результат должен быть 2, чего я и хотел бы. Это верно?
Другая возможность состоит в том, что я переключаюсь на установку raid 10, если это возможно с дисками разного размера. Если это целесообразно, как мне это сделать без временного размещения данных на внешнем хранилище?
2 ТБ пространства с 4-кратным резервированием или
Цитата из официальной вики объясняет это подробно:
«… Btrfs сначала объединяет все устройства в пул хранения, а затем дублирует блоки по мере создания файловых данных.
RAID-1 в настоящее время определяется как «2 копии всех данных на разных устройствах».
Это отличается от MD-RAID и dmraid… "
- Только 2 копии.
Другая возможность состоит в том, что я переключаюсь на установку raid 10, если это возможно с дисками разного размера.
Снова читаем тот же источник: «…
RAID-10 построен на основе этих определений.
Каждая полоса разделяется ровно на 2 набора RAID-1, и эти наборы RAID-1 записываются точно на 2 устройства (следовательно, минимум на 4 устройства). Том btrfs RAID-10 с 6 устройствами по 1 ТБ даст 3 ТБ полезного пространства с 2 копиями всех данных. … »
как мне это сделать без временного размещения данных на внешнем хранилище?
Все это также объясняется в параграфе «Конверсия» - начиная с btrfs balance
над точкой монтирования со спецификациями необходимого профиля для данных и метаданных. Тривиально изменив их пример, получится следующее:
btrfs balance start -dconvert=raid10 -mconvert=raid10 /…mntPoint…
Полагаю, промежуточный balance
после добавления двух новых дисков в этот пул - добавление само по себе не будет повторно балансировать, только новые записанные данные будут использовать дополнительные устройства. Поэтому это довольно тривиально: добавить и начать балансировать любой понравившийся макет.
Теоретически у вас будет наилучший возможный результат, потому что "btrfs сначала объединяет все устройства в пул хранения"
Было бы очень просто протестировать все это, используя настройку, скажем, на устройствах с обратной связью гораздо меньшего размера.
Несмотря на то, что Btrfs стал довольно зрелым, я слышал, что поддержка нескольких устройств все еще недостаточно надежна по сравнению с режимом, не похожим на RAID. Я бы рекомендовал сначала попробовать упомянутое выше преобразование на устройствах с обратной связью. и даже если все пройдет успешно, резервное копирование хотя бы самых важных данных в другом месте.
Кроме того, выражая свое собственное мнение, я бы сказал, что я бы предпочел преобразовать такую установку в традиционный LVM-2 вместо LSR (Linux Software RAID aka MD), что дало бы вам возможность создавать логические подтомы для последующего использования либо с Btrfs. или любой другой желаемый ФС.