Процитирую статью из Википедии о RAID :
RAID 0 может быть создан с дисками разных размеров, но объем памяти, добавляемый в массив каждым диском, ограничен размером самого маленького диска. Например, если диск размером 100 ГБ объединен с диском объемом 350 ГБ, размер массива будет 200 ГБ (100 ГБ × 2).
Однако в статье не говорится, почему он не может объединить их в RAID-массив и использовать все дисковое пространство. Я понимаю, что чередование записывает между ними, но, конечно же, оно не должно препятствовать записи в более поздние сектора второго диска, в то же время работая с пониженной производительностью? Существует ли альтернативная система RAID (например, программный RAID), которая предлагает такую функцию?
hard-drive
raid
stripe
многочлен
источник
источник
mdadm --create --verbose /dev/md0 --chunk=512 -l0 -n16 /dev/sdd5 /dev/sde5 /dev/sde6 /dev/sde7 /dev/sde8 /dev/sde9 /dev/sde10 /dev/sde11 /dev/sde12 /dev/sde13 /dev/sde14 /dev/sde15 /dev/sde16 /dev/sde17 /dev/sde18 /dev/sde19
. У меня оказалось меньше места, чем было, если бы я просто использовал 16-Гбайт дискОтветы:
Причина, по которой размер ограничен размером самого маленького диска, связана с тем, что полосы записываются «поочередно» и должны быть одинакового размера.
В двухдисковой системе все нечетные полосы находятся на одном диске, четные - на другом. Пишет поочередно между дисками, нечетные / четные / нечетные / четные / ...
Поскольку полосы должны быть одинакового размера и парными (для двух дисков), вы можете использовать максимально свободное пространство 2 * (размер наименьшего диска).
источник
Вы можете использовать оставшееся пространство. Вы можете создать том, используя оставшееся пространство, или даже использовать его как часть другого RAID. Однако использование этого дополнительного пространства приведет к снижению производительности, которую дает RAID 0, поскольку два разных процесса могут пытаться получить доступ к одному и тому же физическому контроллеру и диску.
Почему вы не можете добавить это дополнительное пространство к исходному RAID? Ну, не вдаваясь в подробности, это из-за алгоритмов использования RAID. RAID 0 записывает данные на первый диск RAID, затем на следующий. Это повышает производительность, так как не нужно ждать, пока предыдущий диск завершит чтение или запись. Если в вашем посте использовались 250 ГБ, большая часть записи была бы на первый диск, что практически исключало бы увеличение производительности.
RAID может быть не тем решением, которое вы ищете, если вы хотите использовать все пространство дисков, вы должны занимать тома. Spanning позволяет вам брать много томов и объединять их в один большой том. Spanning не предлагает увеличения производительности или избыточности.
источник
RAID является псевдостандартом, который описывает, как данные могут храниться на массиве дисков. Стандарт описывает четыре различных способа хранения данных (технически больше, но больше никто не заботится о других):
Рейд-0: Чередование. Каждый блок данных распределяется по каждому члену устройства RAID. Никакой избыточности, так что это больше просто массив недорогих дисков, а не избыточный массив недорогих дисков.
Рейд-1: Зеркальное отображение. Каждый блок данных хранится на каждом диске в массиве. Это действительно только с двумя дисками. RAID 1/0 или просто RAID 10 представляет собой комбинацию зеркалирования и чередования и может использоваться для использования более двух дисков.
Рейд-5: Паритет. Каждый блок данных распределяется по каждому члену устройства RAID + один диск выделен для контроля четности.
Raid-6: Double Parity: такой же, как Raid-5, но с двумя дисками четности.
Вот и все. Raid не описывает, что делать с несоответствиями размеров или чем-то еще, но чередование действительно работает только с дисками одинакового размера. Обычно способ обойти это заключается в том, что вы можете использовать оставшееся пространство в качестве отдельного диска.
Отойдя от RAID как способа создания большого дискового массива, вы можете использовать такие вещи, как ZFS, и просто добавлять диски в пул хранения. ZFS всегда будет стараться использовать оба диска максимально эффективно, и вы сможете указать ZFS, какой уровень избыточности вас устраивает.
Предыдущие технологии - это такие вещи, как сопоставление томов (т. Е. LVM или эквивалент Windows), которые абстрагируют идею преобразования блоков на диск на более высокий уровень. С помощью LVM вы можете охватывать диски, расширять разделы, иметь несмежные разделы и так далее. Сопоставление томов - это не RAID, и вместо увеличения производительности при увеличении количества дисков оно просто будет произвольно выбирать запись на один или другой диск в зависимости от того, где вы находитесь в файловой системе. Это называется spanning и обычно лучше RAID, если вы предпочитаете IOPS, а не просто производительность.
источник
Это может быть правдой и будет справедливо для большинства реализаций RAID0. Однако не для всех.
Есть две причины для использования RAID 0:
Вариант 2 является наиболее распространенным, и я думаю, что он используется почти во всех текущих реализациях RAID 0. Техническое объяснение состоит в том, что информация записывается попеременно между дисками.
Нетехническим способом: думайте о дисках как о двух книгах. Эти книги имеют ограниченную скорость доступа (чтение / запись). Таким образом, вместо двух 100-страничных книг мы переформатируем их в две книги, но нумеруем страницы так, чтобы все четные числа были записаны в одной книге, а все нечетные числа - в другой.
Теперь наша новая книга «R0» ведет себя так, как если бы это была одна книга с удвоенным количеством страниц и удвоенной скоростью.
Вариант 1 может быть таким же простым, как «приклеивать книги друг к другу». В этом случае у вас нет увеличения скорости, но вы можете склеивать книги с разным количеством страниц. Кажется, я вспоминаю некоторые реализации RAID0, подобные этой примерно в 1990 году. Но это не то, что большинство людей считают «правильным RAID 0».
источник