В настоящее время у меня есть раздел Btrfs с четырьмя устройствами: три диска по 3 ТБ и диск по 4 ТБ. Данные и метаданные - это RAID 10, поэтому у меня есть 6 ТБ полезного пространства, которое почти заполнено. Я ожидал, что поддержка RAID 5 в Btrfs станет зрелой ко времени заполнения моего хранилища, но, видимо, это не приоритет.
Мой вопрос: есть ли причина предпочитать RAID 10, а не RAID 1 ? Я знаю, что настоящий RAID 1 на моем текущем оборудовании должен дать мне 3 ТБ полезного пространства с 4 копиями каждого блока, но Btrfs, по-видимому, так себя не ведет. Из Btrfs FAQ :
btrfs сначала объединяет все устройства в пул хранения, а затем дублирует фрагменты при создании файловых данных. RAID-1 в настоящее время определяется как «2 копии всех данных на разных устройствах». Это отличается от MD-RAID и dmraid тем, что они делают ровно n копий для n устройств. В btrfs RAID-1 на трех устройствах по 1 ТБ мы получаем 1,5 ТБ полезных данных. Поскольку каждый блок копируется только на 2 устройства, запись данного блока требует записи только на 2 устройства; чтение может быть сделано только с одного.
И от Йенса Эрата о переполнении стека :
Btrfs распределяет данные (и их копии RAID 1) по блокам, поэтому очень хорошо работает с жесткими дисками различного размера. Вы получите сумму всех жестких дисков, разделенную на два, и вам не нужно думать о том, как собрать их в пары одинакового размера.
В случае сбоя более одного диска вы всегда рискуете потерять данные: RAID 1 не может справиться с потерей двух дисков одновременно. В приведенном выше примере, если умирают не те два диска, вы всегда теряете данные.
Означает ли это, что изменение баланса с RAID 10 на RAID 1 даст мне дополнительные 500 ГБ данных (6,5 ТБ, а не 6 ТБ) из-за диска 4 ТБ? И есть ли причина для меня придерживаться RAID 10?
scrub
иreplace
поддержка была добавлена по состоянию на 3.19, но люди по - прежнему жалуются на отсутствие предупреждения о сбоях устройств. У меня есть кроны для еженедельных скрабов и еженедельных / ежемесячных самотестирований SMART, поэтому я должен быть в состоянии уловить эти проблемы. Я попробую.dev stats
, который может быть еще один cronjob .Ответы:
Да, вы получаете дополнительные 500 ГБ. Обратите внимание, что определение доступного пространства в btrfs остается труднодостижимым. Также: взгляните на калькулятор использования диска btrfs .
На ваш второй вопрос: вы можете потерять производительность вашего массива. Естественно, ваши данные одинаково безопасны в обеих конфигурациях RAID. При рассмотрении производительности вы можете взглянуть на эти тесты: kernel.org , phoronix.com .
Возможно, вы уже пробовали конвертировать в RAID 1? Если так: каковы ваши выводы?
источник
btrfs fi sh
что дополнительное пространство на диске с 4 ТБ принимаются преимущество, и (2,83 + 1,93 + 1,93 + 1,95 ) /2~=4.30 как и ожидалось. Недавно я перенес сбой диска и успешно восстановлен без потери данных, так что я могу воочию убедиться, что избыточность не повреждена.Не используйте btrfs raid 5 или 6, реализация полна ошибок, запустите zfs, если хотите.
С raid10 вы наберете скорость.
Оптимальным является создание раздела объемом 3 ТБ на диске 4 ТБ (убедитесь, что все 3 имеют одинаковый размер), объедините их в RAID10, который будет иметь 6 ТБ свободного места. Используйте дополнительный 1 ТБ на диске 4 ТБ для / boot (в любом случае это должен быть vfat, если вы хотите использовать efistub и избегать grub или любого другого загрузчика, который сделает вашу загрузку немного быстрее), поменяйте местами (вы можете использовать довольно большой, оптимальным будет маленький zram swap (4 ГБ отлично работает с 32 ГБ оперативной памяти, 2 ГБ должно быть хорошо с 16 ГБ, если у вас меньше 16 ИДК, если оно того стоит, и вам, вероятно, следует обновить в любом случае), это используется первым (установите приоритет наивысший), используя zstd и столько потоков сжатия, сколько у вас ядер / потоков ...
источник