RAID 10 не представляет большой сложности для понимания. Это страйп зеркал. Т.е. сначала диски объединяются в зеркала, а потом контроллер разбивает данные на части между зеркалами. Все предельно хорошо, пока количество дисков на один спан (span) равняется 2-м. И тут у многих людей случается конфуз. Что такое спан и почему туда можно добавлять диски. Как вообще начинает работать наш массив RAID 10, когда мы его собираем на большем числе дисков нежели 4?
Рассмотри сначала классический пример массива RAID 10 из 4-х дисков:
На картинке на контроллер поступили данные. Контроллер их поделил на куски с заранее известным размером. Этот размер задается при создании массива и не может быть изменен после. Даже если данные не удается поделить на куски указанного размера, контроллер дополнит их нулевыми байтами для того, чтобы сделать эту операцию возможной. Поэтому правильно выбирайте размер блока. Если вы планируете использовать массив для хранения больших файлов, стоит выбрать размер блока побольше, например 1 МегаБайт. Напротив, если вы храните много мельких файлов, эффективнее будет выбрать размер блока не больше 64 КилоБайт.
После того, как данные были разбиты на куски, а в нашем примере количество кусков кратно 2-м, контроллер записывает левую порцию на первый диск и дублирует ее на второй, правую на третий диск и дублирует ее на четвертом. Конечно, лево/право тут условно. Само собой контроллер оперирует другими понятиями.
Такой сценарий позволяет нам одновременно потерять два диска, но обязательно из разных групп. Если мы потеряем одновременно два диска из одной группы, мы потеряем левую или правую часть данных целиком.
Дальше больше. Что если у нас не 4, а скажем 6 дисков? Смотрим рисунок:
В данном примере поступающие данные делятся уже на три равные части. При таком сценарии массив позволяет нам потерять 3 диска одновременно из разных групп. Можно собрать RAID 10 с зеркалом из 3-х дисков и двумя страйпами? Нет. Зеркало всегда (ВСЕГДА) собирается только из 2-х дисков.
Давайте же теперь рассмотрим пример с 8-ю дисками. Тут уже возможно два сценария, и в дело вступает спан (span). Первый сценарий, более классический:
Т.е. все тоже самое, только количество кусков, на которые контроллер будет разбивать данные увеличилось до 4-х. Такой сценарий позволяет нам потерять одновременно 4 диска из разных групп.
И вот наконец пример со спаном. Также 8 дисков:
По сути мы вернулись к первому сценарию. Контроллер разбивает данные на две равный части и дальше записывает левую порцию на диск 1 и дублирует на диск 2, а правую порцию на диск 3 и дублирует на диск 4. А как же диски 5,6,7 и 8, спросите вы? Все просто, они ждут пока первая очередь заполнится. В этом и суть спана. Он логически объединяет диски, увеличивая их объем.
В примере выше диски слева являются частью одного спана, а диски справа другого. При этом диски по прежнему зеркалируются в группах по 2. Т.е., внимание, группа != (не равняется) спан. Если мы еще не перешли границу первого зеркала, то мы можем потенциально потерять одновременно до 6-ти дисков. Но лучше бы вам на это не надеяться. Придерживайтесь теории о том, что потерять одновременно можно по-прежнему только 4 диска из разных групп зеркал.
__________________________________
Нужен лайк👍! Больше про сетевое администрирование - на моем канале. Подпишись!