Linux raid10 на btrfs

1623
Alberto

Я читал, что BTRFS требует как минимум 4 диска ( https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices ). Действительно, для Linux mdadm raid10 требуется только 2 диска ( http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10 ). Есть ли что-то вроде "raid10, f2", предоставляемое Linux mdadm в BTRFS? Я хотел бы, чтобы возможность контрольной суммы была встроена в массив raid, если это возможно.

1

1 ответ на вопрос

2
TomH

Ну, четыре - это наименьшее количество устройств, для которых RAID10 имеет смысл.

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

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

На самом деле, нет. Посмотрите на https://raid.wiki.kernel.org/index.php/Performance. mdadm "raid10, f2" (который мне интересен) работает как RAID0 при чтении и как RAID1 при записи. RAID1 намного медленнее в чтении. Вот почему «raid10, f2» почти всегда лучше, чем RAID1 в mdadm. Возможно ли иметь что-то вроде "raid10, f2" с BTRFS? Alberto 11 лет назад 0
Это деталь реализации программного Linux-RAID, который там тестируется - нет необходимости в такой разнице, если чтения распределяются по обоим зеркалам. Вы, конечно, не можете экстраполировать это на btrfs, так как btrfs делает RAID совершенно другим способом. TomH 11 лет назад 1
Если у вас нечетное количество дисков, теоретически вы также можете зеркалировать данные, это просто означает, что данные одного диска будут зеркально отображены на несколько других дисков. Если вы зеркалируете на уровне блоков (что делает btrfs), то это не должно быть проблемой, верно? w00t 9 лет назад 1
Тем не менее, я только что попробовал, и btrfs не позволит мне создать raid10 с 3 устройствами. Оо. Ах хорошо. w00t 9 лет назад 0

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