Как создать RAID-массив из нескольких дисков?

Программный raid в Linux

В высоконагруженных производственных серверах жесткие диски и SSD подключены не по отдельности, а объединены в специальные массивы, внутри которых данные физически хранятся на нескольких дисках одновременно, что обеспечивает лучшую сохранность данных при выходе дисков из строя, а также увеличивает скорость записи, так как данные можно записывать не на один диск, а сразу на несколько обходя ограничение скорости каждого диска. Такие массивы называются RAID.

Для создания RAID массивов используются аппаратные специальные контроллеры. Однако создать RAID массив можно и без такого контролера. Такие массивы называются программными. В этой статье мы рассмотрим как создать программный RAID Linux.

Что такое RAID

Аббревиатура RAID расшифровывается как Redundant Array of Inexpensive Disks. С помощью этой технологии вы можете превратить несколько реальных жестких дисков в один виртуальный диск с увеличенным объемом и скоростью передачи данных. Но объем полученного диска и параметры его работы уже зависят от выбранного режима работы RAID. Доступны такие режимы:

  • RAID 0 — позволяет увеличить скорость записи. Все диски массива будут использоваться для записи данных, поэтому их скорости будут складываться. Например, если у вас есть три диска объемом 512 Гб и скоростью записи 200 Мб в секунду, то объединив их в RAID 0 вы получите виртуальный диск объемом 1,5 Тб и максимальной скоростью записи 600 Мб в секунду.
  • RAID 1 — этот режим увеличивает сохранность данных. Во время записи одни и те же данные пишутся параллельно на подключённые диски. В результате у вас будет несколько копий одних и тех же данных. Если один из дисков массива выйдет из строя, система продолжит работать, так как данные есть ещё и на другом диске. Например, если вы объедините два диска по 1 Тб в RAID 1, то получите один виртуальный диск с объемом 1 Тб.
  • RAID 10 — объединяет в себе два предыдущих варианта. Он может состоять как минимум из четырех дисков. В таком случае сначала создаются два массива RAID 1, а поверх них создается массив RAID 0 для увеличения производительности.

Конечно, существуют и другие режимы работы, но эти самые популярные. В сегодняшней статье мы рассмотрим как создать программный RAID уровней 0 и 1.

Создание программного RAID в Linux

Шаг 1. Установка mdadm

Для управления программными RAID массивами в Linux используется утилита mdadm. Для того чтобы установить её в Ubuntu или Debian выполните такую команду:

sudo apt install mdadm

Для установки утилиты в CentOS/Fedora/RedHat необходимо выполнить:

sudo yum install mdadm

Шаг 2. Подготовка дисков

Посмотреть список дисков, подключённых к системе можно с помощью команды lsblk:

В этой статье я покажу как объединить три диска в RAID на примере дисков /dev/sda, /dev/sdb и /dev/sdc. Сначала необходимо определиться стоит ли размещать RAID непосредственно на диски или на разделы. Лучше выбрать разделы, так как это дает больше гибкости и безопасности. Во первых, операционная система может перезаписать суперблок RAID если он размещён прямо на диске. Во вторых, если вы выделяете весь диск под RAID, то у вас могут возникнуть проблемы при замене диска. Диски одинакового объема, обычно, немного отличаются у разных производителей. Поэтому для замены вам придется искать точно такой же диск с точно таким же реальным объемом. Если же у вас будет раздел, вы просто сможете создать раздел нужного объема.

Сначала нужно создать таблицу разделов на всех выбранных дисках:

Читать далее  Как отформатировать жесткий диск: несколько простых способов

sudo parted /dev/sda mklabel msdos
sudo parted /dev/sdb mklabel msdos
sudo parted /dev/sdc mklabel msdos

Если на диске уже существует таблица разделов программа предупредит о том, что создание новой сотрёт все данные с диска. После создания таблицы разделов следует создать по разделу на каждом диске. Например, создадим разделы размером 460 гигабайт. Для этого можно воспользоваться той же командой parted:

sudo parted /dev/sda mkpart primary ext4 2048 460Gb
sudo parted /dev/sdb mkpart primary ext4 2048 460Gb
sudo parted /dev/sdc mkpart primary ext4 2048 460Gb

Теперь диски готовы к размещению на них RAID:

Шаг 3. Создание RAID 0

Для создания RAID массива надо выполнить команду mdadm с опцией —create, указать режим работы массива, количество дисков и сами диски. Синтаксис команды такой:

$ sudo mdadm —create /dev/имя_массива —level= режим_работы —raid-devices= количество_устройств список устройств

sudo mdadm —create /dev/md0 —level=0 —raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1

После выполнения этой команды вы увидите раздел raid в lsblk. С этим разделом можно работать как с любым обычным разделом в вашей системе.

Шаг 4. Тестирование RAID 0

Давайте для примера отформатируем полученный раздел в файловую систему Ext4, смонтируем и попробуем записывать туда файлы:

sudo mkfs -t ext4 /dev/md0
sudo mount /dev/md0 /mnt

Затем можно тестировать скорость с помощью dd:

sudo dd if=/dev/zero of=/mnt/file bs=1G count=5

Как видите, при записи 5 Гб данных мы получаем скорость 400 Мб/сек, это уже на уровне обычного SSD.

Шаг 5. Информация о RAID

Найти информацию обо всех созданных в системе RAID массивах вы можете в файле /proc/mdstat:

Именно так можно посмотреть RAID Linux. Посмотреть более детальную информацию о массиве /dev/md0 можно с помощью самой утилиты mdadm:

sudo mdadm —detail /dev/md0

Здесь в том числе отображается состояние RAID Linux. Посмотреть детальную информацию о каждом устройстве, которое входит в RAID можно с помощью опции —examine:

sudo mdadm —examine /dev/sda1 /dev/sdb1 /dev/sdc1

Шаг 6. Сохранение RAID массива

В принципе, уже сейчас RAID массив работает и продолжит работать после перезагрузки, потому что mdadm просканирует все диски, найдёт метаданные массива и построит его. Но неизвестно какое имя программа присвоит полученному массиву и неизвестно все ли параметры будут восстановлены верно. Поэтому конфигурацию массива лучше сохранить. Для этого используйте такую команду:

sudo mdadm —detail —scan —verbose | sudo tee -a /etc/mdadm/mdadm.conf

Затем нужно пересоздать initramfs с поддержкой этого массива:

sudo update-initramfs -u

С полученным массивом можно обращаться как с обычным разделом диска. Например, для того чтобы автоматически монтировать его в систему добавьте такую строчку в /etc/fstab:

sudo vi /etc/fstab

/dev/md0 /mnt/ ext4 defaults 0 0

На этом создание raid массива linux завершено.

Шаг 7. Переименование RAID массива

Если вы не выполните предыдущий пункт и перезагрузите компьютер, то можете получить RAID массив с именем md127 вместо md0, такое имя также может быть присвоено второму RAID массиву. Для того чтобы переименовать массив, его придется пересобрать. Для этого сначала остановите существующий массив:

sudo mdadm —stop /dev/md127

Затем выполните команду переименования. Синтаксис у неё такой:

$ sudo mdadm —assemble —update= name —name =номер /dev/md_номер список устройств

sudo mdadm —assemble —update=name —name=0 /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1

После этого следует повторить предыдущий шаг для уже правильного сохранения RAID устройства.

Шаг 8. Удаление RAID массива

Если вы не хотите чтобы ваши диски и дальше были объединены в RAID, его можно удалить. Для этого выполните такую команду:

sudo mdadm —remove /dev/md0

Она удалит все метаданные с дисков /dev/md0. Дальше останется только удалить или закомментировать секцию данного RAID массива в /etc/mdadm/mdadm.conf

sudo vi /etc/mdadm/mdadm.conf

Шаг 10. Создание массива RAID 1

Теперь вы знаете как создать raid linux на примере RAID 0. Давайте ещё разберемся с RAID 1. Для создания RAID 1 используется такая же команда как и для RAID 0, но указывается другой уровень работы массива:

Читать далее  Подключение жесткого диска к роутеру: инструкции для разных маршрутизаторов

sudo mdadm —create /dev/md0 —level=1 —raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1

Затем вы можете убедится что RAID создан посмотрев информацию о нём:

sudo mdadm —detail /dev/md0

Ну и с помощью lsblk можно оценить размер устройства:

Как и ожидалось, размер не увеличился, поскольку копии данных будут записываться на все три диска. Теперь давайте посмотрим на скорость:

Скорость записи данных такая же как и у одного диска. Это цена сохранности данных. Если вы отключите один из дисков, то все данные всё равно будут вам доступны.

Выводы

В этой статье мы рассмотрели как создать программный RAID в Linux. Как видите здесь нет ничего очень сложного. Может и программный RAID не такой производительный, как аппаратный, зато полностью решает задачи объединения дисков.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Как создать RAID-массив из нескольких дисков?

Технология RAID позволяет объединить несколько HDD либо SSD для многократного повышения их скорости либо автоматического резервного копирования, сводящего риск потери важных пользовательских данных практически к нулю. Для RAID-массива требуется как минимум два накопителя, желательно (хотя не обязательно) одинаковых, но в этом случае придется выбирать между скоростью и надежностью. А вот при наличии хотя бы четырех дисков уже можно сделать одновременно быстрый и отказоустойчивый массив. Мы же подробно расскажем, как создать программный или аппаратный RAID.

Юрий Пятковский
журналист E-Katalog

Изучаем теорию

RAID (Redundant Array of Independent Disks) — это виртуальный массив из нескольких физических дисков, который операционная система видит как единый дисковый раздел. Данная технология чаще всего применяется в NAS-серверах — готовых хранилищах данных для быстрого доступа к ним разными пользователями в рамках локальной сети или через интернет. Впрочем, ничто не мешает превратить в NAS обычный ПК.

Существует добрый десяток разновидностей RAID-массивов, но мы рассмотрим только самые распространенные и подходящие среднестатистическому пользователю:

  • RAID 0 — повышение скорости путем параллельной записи разбитой на блоки информации. Может состоять из двух и более дисков, соответственно скорость повышается кратно количеству дисков. Вместе с этим повышается риск потери всех данных в случае поломки хотя бы одного диска.
  • RAID 1 — так называемый «зеркальный» массив из двух и более дисков. Данные дублируются на каждый диск, благодаря чему в случае поломки одного из них всегда остается хотя бы одна полная резервная копия. Чем больше дисков, тем надежнее хранение. Впрочем, даже двух дисков уже достаточно, чтобы минимизировать риск потери данных.
  • RAID 2, 3, 4 и 5 — частичное резервирование данных на основе нескольких отличающихся алгоритмов работы. Например, два диска доступны для записи данных, а третий хранит резервную копию самых свежих файлов.
  • RAID 10 и RAID 01 — быстрый массив из зеркальных массивов и наоборот зеркальный массив из быстрых массивов.

Лучше всего создавать RAID-массив из специализированных жестких дисков, разработанных для NAS-хранилищ. Они тихие, довольно-таки быстрые, рассчитанные на круглосуточную работу и имеют продленную гарантию. В этой статье мы будем создавать RAID на примере двух именно таких 4-терабайтных HDD Seagate IronWolf. Прежде чем перейти от теории к практике, расскажем кратенько об IronWolf.

Seagate IronWolf ST4000VN008 4 ТБ 64/5900

Высокая скорость последовательного чтения и записи, тихий, хорошо подходит для создания RAID-массивов, гарантия 3 года.

На роль основного системного диска лучше выбрать Barracuda или FireCuda.

Stylus.ua 3 939 грн. В магазин
Цифра 3 893 грн. В магазин
Luckylink.kiev.ua 4 230 грн. В магазин
Rozetka.ua 4 872 грн. В магазин
Rozetka.ua 4 433 грн. В магазин

Cравнить цены 7

Seagate IronWolf — серия жестких дисков де-юре для NAS-хранилищ. Но де-факто отлично подходит на роль второго тихого и вместительного диска, дополняющего быстрый, но мелкий SSD. В отличие от серии Seagate BarraCuda Compute ST2000DM008 2 ТБ 256/7200 Цена от 1 454 до 3 700 грн. , существует только в декстопном 3.5-дюймовом форм-факторе.

Читать далее  Редактирование реестр другой системы (с другого диска).

При низкой скорости вращения 5900 об/мин, 4-терабайтный IronWolf, благодаря высокой плотности магнитных пластин (в простонародье называемых «блинами»), демонстрирует скорость последовательного чтения и записи 180 МБ/с. А это уже уровень 1 или 2-терабайтных дисков на 7200 об/мин, которые шумнее и горячее, из-за чего хуже подходят для круглосуточной работы и долгосрочного хранения важных данных.

Объем ОЗУ-кеша 4-ТБ версии IronWolf равняется 64 МБ. Используется он для ускоренной обработки мелких файлов (хотя 64 МБ — это не такие уж и мелкие файлы, например типичная MP3-песня весит до 10 МБ). Самый же большой буфер среди дисков Seagate у модели Seagate FireCuda ST2000DX002 2 ТБ — целых 8 ГБ SSD-кеша, причем на основе износоустойчивой MLC-памяти (два бита на ячейку).

В итоге, Seagate IronWolf — тихий и при этом на удивление быстрый жесткий диск, который подходит практически для любых задач (NAS-сервер, второй диск рабочего или игрового ПК), кроме разве что установки операционной системы (для этой цели лучше выбрать Barracuda или FireCuda). Объем IronWolf может варьировать от 1 до 14 ТБ, гарантия же — строго 3 года. Также существует подсерия Seagate IronWolf Pro ST4000NE0025 4 ТБ NE0025 c расширенной до 5 лет гарантией.

Другие популярные жесткие диски Seagate

Приступаем к практике

Создать RAID можно как программно (средствами операционной системы), так и аппаратно (с помощью драйверов чипсета материнский платы). Первый вариант проще и быстрее в настройке, но только второй позволяет установить на массив операционную систему.

Начнем с программного RAID в среде Windows 10. Для него даже не обязательна материнка с поддерживающим RAID чипсетом. Достаточно из меню «Пуск» запустить конфигурационное приложение «Управление дисками». Затем нажмите правую кнопку мыши на одном из дисков, из которых будет создаваться массив, и выберите «Создать чередующийся том» (что подразумевает быстрый RAID 0) или «Создать зеркальный том» (надежный RAID 1). Если данные пункты меню не активны, то примените действие «Преобразовать в GPT-диск» к каждому из накопителей (обязательно для HDD объемом больше 2 ТБ).

Затем приложение «Управление дисками» попросит выбрать другие диски, которые будут входить в состав RAID, после чего автоматически создаст массив, который сразу же будет готов к работе.

Измерить прирост скорости до и после создания RAID 0 можно, например, с помощью приложения Crystal Disk Mark. Двукратного повышения быстродействия в случае программного массива, к сожалению, не будет — прибавка составит порядка 60 – 80 процентов.

Получить 100-процентную прибавку скорости, а также установить операционную систему на массив, можно лишь с помощью аппаратной версии RAID. Кроме того, только так можно создать массивы RAID 2, 3, 4 и 5. Поддерживают данную технологию материнки на всех более-менее современных чипсетах AMD, а также старших чипсетах Intel (Z-серия).

Для начала нужно в меню BIOS (вызывается при включении ПК нажатием клавиши Delete) сменить режим работы SATA-контроллера с AHCI или Native/Legacy на RAID, и нажать F10, чтобы сохранить изменения. Теперь при включении ПК первым делом будет несколько секунд предлагаться зайти в настройки RAID-контроллера по нажатию Ctrl+R (комбинация клавиш может отличаться, но она будет обязательно указана).

В появившемся меню необходимо сперва удалить существующие разделы на дисках, и только затем из полностью пустых создать желаемый тип RAID. Теперь на аппаратный массив можно установить операционную систему. В случае Windows может потребоваться предварительно записать на установочную USB-флешку помимо образа ОС еще и драйвера RAID-контроллера для вашего чипсета (доступны на официальном сайте производителя материнской платы).

Выводы

Создать RAID-массив сложно в теории, но относительно легко на практике. Надеемся наша статья-инструкция поможет вам в этом. Само собой разумеется, технология RAID полезна сравнительно узкому кругу пользователей ПК. По достоинству оценят ее прежде всего профессиональные фотографы и видеомонтажеры, которым нужно сохранить в целостность терабайты рабочих материалов (зеркальный RAID 1). Тогда как быстрый RAID 0 понравится заядлым геймерам и компьютерным энтузиастам, которые хотят выжать из своего ПК максимум производительности (удвоить скорость HDD — это действительно круто).

Источник https://losst.pro/programmnyj-raid-v-linux

Источник https://ek.ua/post/1738/190-kak-sozdat-raid-massiv-iz-neskolkih-diskov-/

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *