У меня есть объем btrfs на двух устройствах с метаданными RAID1 и данными RAID0. В случае сбоя одного диска практически все файлы, превышающие размер полосы по умолчанию размером 64 КБ, будут повреждены. Поскольку этот раздел не критичен по производительности, но должен быть экономичным в пространстве, я подумал о том, чтобы перебалансировать файловую систему, чтобы распределять файлы поровну на дисках, но похоже что-то вроде этого не существует. Конечной целью было бы иметь возможность читать некоторые файлы в случае сбоя диска.
AFAIK, используя «одиночное» / линейное распределение данных, просто заполняет диски один за другим.
Пример:
Напишите два файла 128KB (file0, file1) на два устройства (dev0, dev1):
RAID0:
Линейный:
распространять файлы:
Кто-нибудь есть идея о том, как достичь чего-то подобного или если он запланирован btrfs-devs?
edit: Масштабирование мышью RAIDesque, называющее его «распределять файлы одинаково на нескольких устройствах», лучше, чем «RAID 0» для каждого файла », потому что это не означает« для каждого переключателя файлового устройства », а скорее« заполняет устройства о в равной степени". (например, 1G на dev0, два 512 МБ на dev1)
Hugo Mills предоставил ответ в списке рассылки btrfs:
В основном «одиночный» режим распределяет куски 1GiB, что достаточно хорошо для моего использования.