В настоящее время у меня есть раздел 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 .