Всем привет, впервые в жизни сталкиваюсь с рейдами, ну т.е. раньше вот вообще небыло интереса к этой теме, сейчас для самообразования решил заняться, изучаю вопрос с нуля. mdadm штука клёвая, в использовании очень простая, сразу вижу кучу вариантов применений, впилить её в booty, но это потом...
Во-первых, соц. опрос, я помучал коллег на работе глупыми вопросами, теперь интересно узнать мнение ЛОРа.
Представьте себе, что вы купили сервер, в нём 8 SFF (2.5") дисков. как бы вы строили отказоустойчивую архитектуру на сервере? Большинство склоняется к мнению, что они берут два диска, размечают их в RAID 1 (для зеркала) и ставят туда операционную систему, а на остальные 6 дисков накатывают данные.
В случае выхода из строя диска с системой мы его меняем, контроллер восстанавливает копию, вроде звучит неплохо.
А какой тип рейда лучше взять для данных? Поразмышляв я пришёл к мнению, что всё зависит исключительно от расп...кхм, личной ответственности системного администратора, а не технического задания, на самом деле.
Например RAID 6 позволяет выйти из строя двум дискам, RAIDZ 1/2/3 позволяет вылететь до трёх дисков, в то время как более упрощённые варианты RAID-массивов а-ля зеркала RAID 1 или RAID 10 потребуют незамедлительной замены дисков обслуживающим персоналом. То есть, выбор массива зависит скорее от человеческого фактора, нежели от технических решений, — готовы ли вы поменять вылетевший диск сразу как только он выйдет из строя (читай заблаговременно, мониторя его состояние), или же вам пофигу, и поменяете потом как руки дойдут... Так ли это на самом деле?
Разница между RAID 1+0 и RAID 10 в том, что в случае с 1+0 диски являются копией друг друга по-парно, а при 10 складывается два массива из дисков. На первый взгляд я считаю 1+0 лучше, потому что при замене диска на него будет синкаться его зеркальная копия, одна единственная. А если мы возьмём RAID 10, то тут будет два массива данных, и уже эти массивы являются копиями друг друга, и на мой личный взгляд, выглядит избыточно. Чем решение проще, тем оно вернее, поэтому мне кажется 1+0 лучше тем, что он проще, — буквально dd делается с диска на диск. Поправьте где я не прав, буду благодарен.
Ещё я пришёл к мысли, что софтварный рейд как ни крути во сто крат раз лучше, чем все эти железные решения. Да, конечно, железное решение обеспечивает полностью прозрачную работу рейда, но минус — железо ломается. И железо в конце концов ограничено в своих возможных конфигурациях.
Софтварно мы можем строить целые пирамиды из различных типов рейдов, наслаивая их друг на друга. В буквальном смысле, мы можем из пустых файлов создавать массивы и взращивать его аки чайный гриб, после чего переносить на любые физические носители и dd'шить их обратно, и когда сломается железо, то нам не страшно, — мы меняем железо аки лампочку в цоколе, переносим рейды хоть на флешках, подключаем, запускаем... На любом железе, работаем с рейдом через софт, от сервера до микроволновки. Да всё что угодно, понимаете. Софтварный рейд в этом плане даёт абсолютную свободу действий.
Теперь же возвращаясь к железячному рейду.
https://www.voglea.com/20210814_094618.jpg
Вот я взял сервер HP DL360p Gen9, контроллер P440ar, воткнул два диска, разметил в RAID 1, установил туда ESXI, загрузился, работает. Вытащил один диск, заменил другим, посмотрел как контроллер восстанавливает данные — круто. Но теперь я хочу перенести ОС на другой сервер, не просто имитировать сломанный контроллер P440ar, заменив его другим таким же, а перенести данные с Gen9 на Gen8 по соседству.
В случае с софтварным рейдом всё было бы очень просто, как уже писал, я могу в буквальном смысле работать с файлами — с образами дисков, а тут я воткнул два диска в другой сервер и... Он не видит на нём рейда. Что делать? Куда нажать чтобы он увидел рейд и загрузился в ESXI? Это же энтерпрайз, HP, я за это якобы сотню денег плачу. Где моя гибкость решений?
https://www.voglea.com/2021-08-14-090338_3440x1440_scrot.png
Подскажите пожалуйста, как восстановить RAID на другом сервере и загрузиться в ОС, куда нажать. И возможно ли это будет сделать на другом сервере например DELL PowerEdge R360?
А ещё есть клиенты, которые предпочитают ставить систему на M.2 NVMe накопители, используя PCI-Express адаптеры, подключённые к рейзеру. Он не коммуцирует с RAID-контроллером сервера, поэтому такая система работает на страх и риск системного администратора, но за то все 8 дисков можно отдать под данные.
В заключение скажу, что поработав с настоящим серверным железом, я понимаю, что двигаюсь в правильном направлении, когда предлагаю создавать уже готовые к работе конфигурации систем с использованием booty, загружаться в них в память по сети, и таким образом работать с данными на сервере в софтварном или нет (по желанию) рейде, полностью отдав диски под данные. А не вот это вот всё... И софтварный рейд лучше, тем, что полностью подконтролен лично нам, а не серверной железке.