Диагностика аппаратного raid linux

Как проверить аппаратный raid?

Добрый день, Коллеги.

Прошу вас подсказать, как можно узнать в linux, собран ли на данном сервер какой-нибудь raid? Наличия адаптеров и двух дисков не гарантирует что собран raid-х. К сожалению при аппаратном raid название дисков остаются стандартными, нежели при программном raid-e. По некоторым анализам можно понять есть и в системе raid-0, но эти же методы не дают гарантии что есть raid-1.

Условия: только консоль, и сервер перегружать нельзя.

Спасибо за помощь.

Re: Как проверить аппаратный raid?

могу ошибаться, а dmesg не показывает?

Re: Как проверить аппаратный raid?

смотришь название рейда в lspci, потом в гугле ищешь тулзу которая умеет статус рейда смотреть.

Re: Как проверить аппаратный raid?

нет, он только выдаст тебе что есть винты и есть адаптеры. а что собран raid и какой raid, он тебе такую информацию не даст.

Re: Как проверить аппаратный raid?

спец утилита это не вариант.

Re: Как проверить аппаратный raid?

> К сожалению при аппаратном raid название дисков остаются стандартными, нежели при программном raid-e.

Почему ты так решил? Для HP Smart Array, к примеру, диски называются /dev/cciss/c0d0. У каждого котроллера по-разному. Ищи утилиту от производителя контроллера, как тебе и сказали.

Хотя, если это не вариант (интересно, почему?). и перезагружать сервер тоже нельзя. то могу предложить такой способ — вытащить диск — если сервер не ёбнется, то значит, аппаратный RAID.

Re: Как проверить аппаратный raid?

Спасибо большое всем. Главный совет я понял.

Отвечу на ваши вопросы:

p.s. почему не вариант ставить спец софт: потому что сервером порядка 5 десятка, и очень разные, из парка sun, ibm, hp, dell, не понятные сервера и т.д. Для всех искать очень тяжко. А инфа нужна, чтобы составить наглядную картинку что есть и как есть на данный момент в парке.

>HP Smart Array, к примеру, диски называются /dev/cciss/c0d0. Честно не знал, спасибо что просвятили и указали на путь истинный 🙂

Re: Как проверить аппаратный raid?

Очень-очень удобная утилитка. Вешается поверх apache+php+mysql.
Собирает SNMP-данные со всех введенных в нее хостов, строит кучу красивых графичков.
Конечно, инфу о рейде она не даст, но вот инфу о размерах разделов и их заполненности — легко. Равно как и загрузку каждого проца, памяти, свопа, буферов, сетевой активности и т. д.

Именно для «чтобы составить наглядную картинку что есть и как есть на данный момент в парке». Работает с любым SNMP-хостом, включая, например, даже управляемые свичи cisco 2950/2960, не говоря уже о более крутом железе.

Источник

Чем можно мониторить состояние дисков и RAID в Linux?

Хочется организовать качественный мониторинг сабжа в автоматическом режиме.

Хочу в итоге написать скрипт, ну и чтобы мог слать письма)))

в домашнем сегменте диски почти всегда smartmontools + тот инструмент которым ты собирал рейд (mdadm —monitor —scan —mail your@email.com). В энтерпрайз — мониторить диски придется при помощи проприетарной приблуды, которая поставляется с контроллером куда воткнуты диски. Если зоопарк — делается враппер на $любимый_язычок_нейм, дающий какой-то универсальный интерфейс для твоего мониторинга (или разные пробники для разного типа подключения дисков).

Есть такая штука — xymon. К нему есть вот такая штука: http://www.it-eckert.com/software/raid-monitor/
По сути скрипт, выплёвывающий в сторону xymon текстовое сообщение. Если использовать не xymon, можно доточить под себя. Для всяких хардварных RAID надо что-то прикручивать от этих RAID, примеры есть.

Читайте также:  Windows service installation directory

Вот на мой контроллер это руководство помогло, хотя изначально я читал официальную доку, и там вообще заблудится можно. Умеют писать, зато VMware просто написано что поддерживается начиная с версии 4, и все.

Вот он опенсорсный замес с проприетарщиной…

Источник

Могу ли я обнаружить аппаратную информацию 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, чтобы получить много информации об этом физическом диске, включая производителя, номер модели, интерфейс, серийный номер, размер и другие данные.

Читайте также:  Компьютер сам перезагружается во время работы windows

Что касается выяснения того, какой контроллер используется, я согласен с комментарием Джина о 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 . Более подробную информацию и команды можно найти на страницах руководства .

Источник

Работа с 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/ ‘ >> /etc/mdadm/mdadm.conf

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:

Источник

Оцените статью