Могу ли я обнаружить аппаратную информацию RAID из Linux?

15

Когда я нахожусь в Linux, я могу получить следующую информацию lsblk(нерелевантные диски удалены из вывода):

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk

Когда я вручную извлекаю диски из сервера, я могу сказать, что физически использую следующие диски:

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]

Поскольку на сервере больше физической памяти, чем в Linux, это означает, что я, очевидно, использую какую-то систему RAID. Приложив немного математики, я часто могу выяснить, какой тип системы RAID используется.

Есть ли способ для меня, чтобы определить, использую ли я аппаратный RAID изнутри Linux , и выяснить всю информацию о нем (например, тип RAID, доступные диски), не выключая сервер, физически вытаскивая диски, и читаете их ярлыки?

Может ли эта информация быть собрана изнутри Linux, или цель аппаратного RAID - сделать базовую систему невидимой для операционной системы?

IQAndreas
источник
Это полностью зависит от того, какой RAID-контроллер вы используете и какую поддержку поддерживает Linux. Если вы предоставите информацию о вашем контроллере, вы можете найти помощь здесь. Вы также можете выполнить поиск в Интернете по запросу "модели # команды linux", если не получили нужную информацию здесь.
Джин
@ Genene Это прискорбно. Опять же, я надеялся, что найдется решение, которое не требует поиска определенного номера модели, но может использоваться независимо от того, какое оборудование вы используете.
IQAndreas
Разное оборудование по-разному выполняет RAID и имеет разные драйверы. Во многих случаях вам не нужно выключать вашу систему, но, по крайней мере, вам нужно знать, какая у вас модель контроллера или чипсета, чтобы вы могли найти команды для запроса контроллера из операционной системы.
Джин
1
Обычно вы можете найти информацию о контроллере или чипсете через dmesg, dmidecode, lspci и другие подобные утилиты. Если на материнской плате есть встроенный RAID-массив, зная марку и модель материнской платы, вы доберетесь до 99%.
Джин
1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas, но это не вопрос. Ответы на сервере должны быть ответом на заданный вопрос. Если у вас есть другой вопрос, вы должны отредактировать его. На этот вопрос почти наверняка можно ответить самостоятельно через несколько минут в Google. В любом случае, ответ на этот вопрос есть lshw.
Зоредаче

Ответы:

17

Способ получения информации о RAID будет полностью зависеть от используемого вами RAID-контроллера. Часто у производителей есть инструменты, которые можно загрузить с их веб-сайта, которые можно использовать для запроса контроллера RAID и получения этой информации.

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

Утилита lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)

Здесь мы ищем информацию «3ware Inc 9690SA SAS / SATA-II RAID PCIe» .

lsscsi

Команда недоступна в Debian и Ubuntu, но быстрое sudo apt-get install lsscsiизвлечение ее из репозиториев. Обратите внимание, что если вы не используете контроллер RAID, здесь указывается производитель и номер модели вашего жесткого диска.

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 

Здесь мы видим, что производитель - «AMCC», а номер модели карты RAID - «9690SA-8I» . Быстрый поиск в Google показывает, что эта карта также известна как «AMCC 3Ware 9690SA-8I» .

lshw

Третий метод (который дает довольно мало выходных данных) - использовать lshwкоманду. Запустите lshw -class diskс правами root, чтобы отображать только информацию о жестких дисках (включая информацию о RAID).

Поиск инструментов RAID-контроллера

Теперь, когда у нас есть производитель и номер модели, должна появиться возможность найти инструменты на их веб-сайте или, по крайней мере, узнать подробности Google о том, как найти и использовать инструменты для этого конкретного контроллера.

Если производитель отображается в этом списке, посмотрите эти ответы для получения дополнительной информации о том, как получить информацию о RAID для вашей карты:

IQAndreas
источник
5

Запуск что - то подобное 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 показывает всю информацию на всех дисках.

Дополнительные справочные данные для этих команд можно найти здесь:

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

Должно быть все, что вам нужно сделать. Просто используйте обычный аппаратный самоанализ в Linux, затем Google, затем загрузите и установите необходимые утилиты.

Предложения и комментарии @ Джина абсолютно точны.

Этот ответ полностью зависит от результатов, которые вы получаете от lspciкоманды, и от возможности вашего поиска в Google определить производителя и подобрать правильный инструмент командной строки.

Но это показывает, что вы можете получить все это с сервера, из командной строки, не останавливая машину, не открывая корпус и не вытаскивая диски, что, я надеюсь, полезно.

Кассандры
источник
Поскольку ответ на мой вопрос будет зависеть от аппаратного обеспечения, я добавил вики-ответ сообщества о том, как узнать, какой RAID-контроллер вы используете . Этот ответ затем ссылается на ответы (в том числе ваши), в которых содержатся подробные сведения о конкретных контроллерах или производителях.
IQAndreas
Если вы хотите обновить формат своего ответа, чтобы отразить это, было бы неплохо, но не обязательно.
IQAndreas
2

Это не универсальный ответ, и он не дает вам всей необходимой информации, но на одном используемом нами аппаратном RAID-контроллере Adaptec он дает некоторый доступ к самим дискам через специальные устройства / dev / sg1 / dev / sg2 и т. д. Мы можем запустить smartctl -a / dev / sg1, чтобы получить много информации об этом физическом диске, включая производителя, номер модели, интерфейс, серийный номер, размер и другие данные.

Что касается выяснения того, какой контроллер используется, я согласен с комментарием Джина о dmidecode, dmesg и lspci - я бы тоже попробовал сначала.

sa289
источник
1

Для создания профиля хранилища я бы сделал следующее перед запуском lspciили загрузкой чего-либо.

# cat /etc/fstab         What partitions get mounted at boot?

# sudo pvs               Are you running LVM? List the physical volumes

# cat /proc/mdstat       List software RAID devices & status

# for D in /dev/sd?; do parted $D print; done
                         If hardware RAID is being used, the "Model" field will list
                         the Mfr. name, otherwise the hard drive Mfr.
nortally
источник
0

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 в вашей системе:

# tw_cli show
Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c2    9690SA-8I    6         6        2       0       1       1      Charging 

Здесь мы видим, что подключен один контроллер с идентификатором c2(запомните этот идентификатор!), К которому подключено 6 физических дисков. Чтобы получить более подробную информацию о том, какие диски подключены к устройству, запустите tw_cli /c2 show(заменив /c2его идентификатором вашего контроллера):

# tw_cli /c2 show
Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       298.013   Ri     ON     
u1    RAID-5    OK             -       -       64K     2793.94   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   298.09 GB SATA  0   -            ST3320613AS         
p1    OK             u0   298.09 GB SATA  1   -            ST3320613AS         
p2    OK             u1   931.51 GB SATA  2   -            Hitachi HDS721010CL 
p3    OK             u1   931.51 GB SATA  3   -            Hitachi HDS721010CL 
p4    OK             u1   931.51 GB SATA  4   -            Hitachi HDS721010CL 
p5    OK             u1   931.51 GB SATA  5   -            Hitachi HDS721010CL 

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

IQAndreas
источник