- Работа с mdadm в Linux для организации RAID
- Установка mdadm
- Сборка RAID
- Подготовка носителей
- Создание рейда
- Создание файла mdadm.conf
- Создание файловой системы и монтирование массива
- Информация о RAID
- Как можно узнать состояние Raid в Linux Debian
- Могу ли я обнаружить аппаратную информацию RAID из Linux?
- Утилита lspci
- lsscsi
- Поиск инструментов RAID-контроллера
- 3ware
Работа с mdadm в Linux для организации RAID
mdadm — утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.
Установка mdadm
Утилита mdadm может быть установлена одной командой.
Если используем CentOS / Red Hat:
yum install mdadm
Если используем Ubuntu / Debian:
apt-get install mdadm
Сборка RAID
Перед сборкой, стоит подготовить наши носители. Затем можно приступать к созданию рейд-массива.
Подготовка носителей
Сначала необходимо занулить суперблоки на дисках, которые мы будем использовать для построения RAID (если диски ранее использовались, их суперблоки могут содержать служебную информацию о других RAID):
mdadm —zero-superblock —force /dev/sd
* в данном примере мы зануляем суперблоки для дисков sdb и sdc.
Если мы получили ответ:
mdadm: Unrecognised md component device — /dev/sdb
mdadm: Unrecognised md component device — /dev/sdc
. то значит, что диски не использовались ранее для RAID. Просто продолжаем настройку.
Далее нужно удалить старые метаданные и подпись на дисках:
wipefs —all —force /dev/sd
Создание рейда
Для сборки избыточного массива применяем следующую команду:
mdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/sd
- /dev/md0 — устройство RAID, которое появится после сборки;
- -l 1 — уровень RAID;
- -n 2 — количество дисков, из которых собирается массив;
- /dev/sd — сборка выполняется из дисков sdb и sdc.
Мы должны увидеть что-то на подобие:
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store ‘/boot’ on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
—metadata=0.90
mdadm: size set to 1046528K
Также система задаст контрольный вопрос, хотим ли мы продолжить и создать RAID — нужно ответить y:
Continue creating array? y
Мы увидим что-то на подобие:
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
. и находим информацию о том, что у наших дисков sdb и sdc появился раздел md0, например:
.
sdb 8:16 0 2G 0 disk
??md0 9:0 0 2G 0 raid1
sdc 8:32 0 2G 0 disk
??md0 9:0 0 2G 0 raid1
.
* в примере мы видим собранный raid1 из дисков sdb и sdc.
Создание файла mdadm.conf
В файле mdadm.conf находится информация о RAID-массивах и компонентах, которые в них входят. Для его создания выполняем следующие команды:
echo «DEVICE partitions» > /etc/mdadm/mdadm.conf
mdadm —detail —scan —verbose | awk ‘/ARRAY/
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=proxy.dmosk.local:0 UUID=411f9848:0fae25f9:85736344:ff18e41d
* в данном примере хранится информация о массиве /dev/md0 — его уровень 1, он собирается из 2-х дисков.
Создание файловой системы и монтирование массива
Создание файловой системы для массива выполняется также, как для раздела:
* данной командой мы создаем на md0 файловую систему ext4.
Примонтировать раздел можно командой:
mount /dev/md0 /mnt
* в данном случае мы примонтировали наш массив в каталог /mnt.
Чтобы данный раздел также монтировался при загрузке системы, добавляем в fstab следующее:
/dev/md0 /mnt ext4 defaults 1 2
Для проверки правильности fstab, вводим:
Мы должны увидеть примонтированный раздел md, например:
/dev/md0 990M 2,6M 921M 1% /mnt
Информация о RAID
Посмотреть состояние всех RAID можно командой:
В ответ мы получим что-то на подобие:
md0 : active raid1 sdc[1] sdb[0]
1046528 blocks super 1.2 [2/2] [UU]
* где md0 — имя RAID устройства; raid1 sdc[1] sdb[0] — уровень избыточности и из каких дисков собран; 1046528 blocks — размер массива; [2/2] [UU] — количество юнитов, которые на данный момент используются.
** мы можем увидеть строку md0 : active(auto-read-only) — это означает, что после монтирования массива, он не использовался для записи.
Подробную информацию о конкретном массиве можно посмотреть командой:
* где /dev/md0 — имя RAID устройства.
Version : 1.2
Creation Time : Wed Mar 6 09:41:06 2019
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Wed Mar 6 09:41:26 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : proxy.dmosk.local:0 (local to host proxy.dmosk.local)
UUID : 304ad447:a04cda4a:90457d04:d9a4e884
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
- Version — версия метаданных.
- Creation Time — дата в время создания массива.
- Raid Level — уровень RAID.
- Array Size — объем дискового пространства для RAID.
- Used Dev Size — используемый объем для устройств. Для каждого уровня будет индивидуальный расчет: RAID1 — равен половине общего размера дисков, RAID5 — равен размеру, используемому для контроля четности.
- Raid Devices — количество используемых устройств для RAID.
- Total Devices — количество добавленных в RAID устройств.
- Update Time — дата и время последнего изменения массива.
- State — текущее состояние. clean — все в порядке.
- Active Devices — количество работающих в массиве устройств.
- Working Devices — количество добавленных в массив устройств в рабочем состоянии.
- Failed Devices — количество сбойных устройств.
- Spare Devices — количество запасных устройств.
- Consistency Policy — политика согласованности активного массива (при неожиданном сбое). По умолчанию используется resync — полная ресинхронизация после восстановления. Также могут быть bitmap, journal, ppl.
- Name — имя компьютера.
- UUID — идентификатор для массива.
- Events — количество событий обновления.
- Chunk Size (для RAID5) — размер блока в килобайтах, который пишется на разные диски.
Подробнее про каждый параметр можно прочитать в мануале для mdadm:
Также, информацию о разделах и дисковом пространстве массива можно посмотреть командой fdisk:
Источник
Как можно узнать состояние Raid в Linux Debian
Если вы хотите посмотреть состояние рэйда в Линуксе, то для этого есть одна очень хорошая команда:
При ее вводе вы получите следующий результат:
Далее покажу, что она демонстрирует более подробно.
Если в самом начале вы видите следующие вещи, то значит все плагины подгрузились и все в порядке
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
Итак, md0, md1, md2 и далее означают RAID массивы, то есть каждый раздел имеет свой собственный рейд. С этим думаю тоже понятно. Хотя фрибсд часто удивляются и говорят, что создать один рейд и потом его резать на слайсы гораздо логичнее.
Но да не суть. Далее рассмотрим более подробно, что означают другие параметры при выводе команды.
md0 : active raid1 sda1[2] sdb1[1]
33553336 blocks super 1.2 [2/2] [UU]
md0 означает рейд с названием мд0, далее написано его состояние (мы видим что оно active) и видим тип рейда (raid1 — зеркальный). Физические диски в линуксе имеют обозначение sda, sdb, sdc и так далее, а логические разделы на них соответственно sda1, sda2 и так далее.
Мы видим в данном рейде sda1 и sdb1, то есть по одному логическому разделу с каждого из дисков,что правильно.
Далее видим количество блоков (их 33553336 blocks), что значит, честно говоря, не знаю, на деле мы видим в скобках сколько дисков из скольких рабочие (в данном случае видим 2 из 2, что есть хорошо).
Ну и последняя часть, где мы видим две [UU], показывает, какой из дисков в каком состоянии. Каждая буква У обозначает один физический диск и на картинке хорошо видно, что те рейд массивы, которые еще не собрались, выглядят иначе.
Кстати, на изображении виден рейд в момент сборки после замены одного плохого диска на новый, но как это детально делается я подробно опишу в одном из следующих своих выпусков.
Надеюсь, данная информация вам поможет лучше освоить Линукс, ведь сила консоли известна всем!
Источник
Могу ли я обнаружить аппаратную информацию RAID из Linux?
Когда я нахожусь в Linux, я могу получить следующую информацию lsblk (нерелевантные диски удалены из вывода):
Когда я вручную извлекаю диски из сервера, я могу сказать, что физически использую следующие диски:
Поскольку на сервере больше физической памяти, чем в Linux, это означает, что я, очевидно, использую какую-то систему RAID. Приложив немного математики, я часто могу выяснить, какой тип системы RAID используется.
Есть ли способ для меня, чтобы определить, использую ли я аппаратный RAID изнутри Linux , и выяснить всю информацию о нем (например, тип RAID, доступные диски), не выключая сервер, физически вытаскивая диски, и читаете их ярлыки?
Может ли эта информация быть собрана изнутри Linux, или цель аппаратного RAID — сделать базовую систему невидимой для операционной системы?
Способ получения информации о RAID будет полностью зависеть от используемого вами RAID-контроллера. Часто у производителей есть инструменты, которые можно загрузить с их веб-сайта, которые можно использовать для запроса контроллера RAID и получения этой информации.
Чтобы узнать, какой RAID-контроллер вы используете, попробуйте одну из следующих команд:
Утилита lspci
Здесь мы ищем информацию «3ware Inc 9690SA SAS / SATA-II RAID PCIe» .
lsscsi
Команда недоступна в Debian и Ubuntu, но быстрое sudo apt-get install lsscsi извлечение ее из репозиториев. Обратите внимание, что если вы не используете контроллер RAID, здесь указывается производитель и номер модели вашего жесткого диска.
Здесь мы видим, что производитель — «AMCC», а номер модели карты RAID — «9690SA-8I» . Быстрый поиск в Google показывает, что эта карта также известна как «AMCC 3Ware 9690SA-8I» .
Третий метод (который дает довольно мало выходных данных) — использовать lshw команду. Запустите lshw -class disk с правами root, чтобы отображать только информацию о жестких дисках (включая информацию о RAID).
Поиск инструментов RAID-контроллера
Теперь, когда у нас есть производитель и номер модели, должна появиться возможность найти инструменты на их веб-сайте или, по крайней мере, узнать подробности Google о том, как найти и использовать инструменты для этого конкретного контроллера.
Если производитель отображается в этом списке, посмотрите эти ответы для получения дополнительной информации о том, как получить информацию о RAID для вашей карты:
Запуск что — то подобное lspci -knn | grep ‘RAID bus controller’ .
Используя этот вывод, Google (например) для LSI Logic / Symbios Logic MegaRAID SAS 2208 .
Найти его использует storcli утилита для опроса контроллера RAID.
Загрузите и установите его.
storcli64 show дает вам конкретную модель контроллера, а также индекс контроллера, количество групп дисков и виртуальных дисков.
storcli64 /c0/d0 show показывает первый контроллер, первую группу дисков. Сообщает вам уровни рейда, в том числе и вложения.
storcli64 /c0/eall/sall show all показывает всю информацию на всех дисках.
Дополнительные справочные данные для этих команд можно найти здесь:
Должно быть все, что вам нужно сделать. Просто используйте обычный аппаратный самоанализ в Linux, затем Google, затем загрузите и установите необходимые утилиты.
Предложения и комментарии @ Джина абсолютно точны.
Этот ответ полностью зависит от результатов, которые вы получаете от lspci команды, и от возможности вашего поиска в Google определить производителя и подобрать правильный инструмент командной строки.
Но это показывает, что вы можете получить все это с сервера, из командной строки, не останавливая машину, не открывая корпус и не вытаскивая диски, что, я надеюсь, полезно.
Это не универсальный ответ, и он не дает вам всей необходимой информации, но на одном используемом нами аппаратном RAID-контроллере Adaptec он дает некоторый доступ к самим дискам через специальные устройства / dev / sg1 / dev / sg2 и т. д. Мы можем запустить smartctl -a / dev / sg1, чтобы получить много информации об этом физическом диске, включая производителя, номер модели, интерфейс, серийный номер, размер и другие данные.
Что касается выяснения того, какой контроллер используется, я согласен с комментарием Джина о dmidecode, dmesg и lspci — я бы тоже попробовал сначала.
Для создания профиля хранилища я бы сделал следующее перед запуском lspci или загрузкой чего-либо.
3ware
Это было проверено на следующих RAID-контроллерах: 9690SA-8I
Пожалуйста, дайте мне знать в комментариях, работает ли он для вашего конкретного контроллера, или если инструкции нуждаются в обновлении для вашей модели.
загрузка
Во-первых, вам нужно скачать инструмент tw_cli . Это можно найти на веб-сайте Avago Technologies *:
* Не волнуйтесь, это не сторонний сайт; 3ware было куплено AMCC, а затем продано корпорации LSI, которая позже стала частью Avago [ источник ]. Чтобы подтвердить это, обратите внимание, что 3ware.com перенаправляет на соответствующую страницу на avagotech.com .
Введите tw_cli в строку поиска, а затем перемещайтесь, пока не найдете название загрузки CLI Linux — from the 10.2.2.1/9.5.5.1 code sets (номер последней версии может отличаться от указанного здесь)
Извлеките zip-файл, и либо в, x86 либо x86_64 вы найдете tw_cli бинарный файл, который вам нужен. Сохраните этот двоичный файл на свой сервер или компьютер.
Запуск tw_cli
ПРИМЕЧАНИЕ: (1) Утилита командной строки, возможно, должна запускаться от имени пользователя root. (2) Запустите его так же, как любой другой двоичный файл, либо добавив его в путь, либо запустив его непосредственно из текущего каталога с помощью ./tw_cli .
Сначала запустите tw_cli show список доступных контроллеров RAID в вашей системе:
Здесь мы видим, что подключен один контроллер с идентификатором c2 (запомните этот идентификатор!), К которому подключено 6 физических дисков. Чтобы получить более подробную информацию о том, какие диски подключены к устройству, запустите tw_cli /c2 show (заменив /c2 его идентификатором вашего контроллера):
Первая группа показывает используемые настройки RAID. Вторая группа показывает, какие диски в настоящее время физически подключены к серверу.
В этом конкретном случае у меня есть две конфигурации RAID:
- u0 -> Диски p0 и p1 оба диска по 300 ГБ одного и того же производителя, настроенные на использование RAID-1 (точные зеркала друг друга)
- u1 -> У меня есть четыре 1TB Hitachi дисков ( p2 через p5 ) , установленные с использованием RAID-5 ( «один из дисков» используются для сохраняются уверены данные , если какая — либо один из других дисков не получится ). Это означает (как мы видим сверху), u1 имеет 3 ТБ (или, скорее, 2793.94 GB ) полезных данных.
Еще больше информации о состоянии и работоспособности накопителей можно найти, запустив tw_cli /c2/u0 show или tw_cli /c2/p0 show . Более подробную информацию и команды можно найти на страницах руководства .
Источник