Находясь в 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 заключается в том, чтобы сделать базовую систему «невидимой» для операционной системы?
Как получить информацию о RAID будет полностью зависеть от используемого RAID-контроллера. Часто у производителей есть инструменты, которые можно загрузить с их веб-сайтов, которые можно использовать для запроса RAID-контроллера и получения этой информации.
Чтобы узнать, какой RAID-контроллер вы используете, попробуйте одну из следующих команд:
# 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».
Эта команда недоступна в 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
Здесь мы видим, что производитель «АМСС» а номер модели карты RAID - «9690СА-8И». Быстрый поиск в Google показывает, что эта карта также известна как "AMCC 3Ware 9690SA-8I".
Третий метод (который дает довольно много выходных данных) - использовать lshw
команда. Бегать lshw -class disk
как root, чтобы отображать только сведения о жестких дисках (включая информацию о RAID).
Теперь, когда у нас есть производитель и номер модели, должно быть возможно найти инструменты на их веб-сайте или, по крайней мере, получить подробную информацию о том, как найти и использовать инструменты для этого конкретного контроллера.
Если производитель указан в этом списке, см. Эти ответы для получения дополнительных сведений о том, как получить информацию о 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
показывает вам всю информацию по всем дискам.
Дополнительные справочные данные для этих команд можно найти здесь:
http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275
Должно быть все, что тебе нужно сделать. Просто используйте обычный аппаратный анализ в Linux, затем в Google, затем загрузите и установите прилагаемые к нему утилиты.
Предложения и комментарии @Gen абсолютно точны.
Этот ответ полностью зависит от результата, который вы получаете от lspci
команда, а также возможность поиска в Google определить производителя и выбрать нужный инструмент командной строки.
Но он показывает, что вы можете получить все это с сервера в командной строке, не останавливая машину, не открывая корпус и не извлекая диски, что, я надеюсь, полезно.
Это не универсальный ответ и не дает вам всей необходимой информации, но мы использовали его на одном аппаратном RAID-контроллере Adaptec. Это давало некоторый доступ к самим накопителям через специальные устройства. /dev/sg1
, /dev/sg2
, и т.д.
Мы могли бежать smartctl -a /dev/sg1
чтобы получить много информации об этом физическом диске, включая производитель, номер модели, интерфейс, серийный номер, размер, и другие данные.
Что касается определения того, какой контроллер используется, я согласен с комментарием Джина о dmidecode
, dmesg
, и lspci
- это я тоже попробую в первую очередь.
Для создания профиля хранилища я бы сделал следующее перед запуском 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.
Это было протестировано на следующих RAID-контроллерах: 9690SA-8I
Пожалуйста, дайте мне знать в комментариях, работает ли он для вашего конкретного контроллера, или если инструкции требуют обновления для вашей модели.
Скачивание
Во-первых, вам нужно скачать инструмент tw_cli
. Его можно найти на веб-сайте Avago Technologies *:
* Не волнуйтесь, это не сторонний веб-сайт; 3ware было куплено AMCC, а затем продано LSI Corporation, которая позже стала частью 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
-> У меня четыре диска Hitachi емкостью 1 ТБ (p2
через p5
), настроенный с использованием RAID-5 («один из дисков» используется для обеспечения сохранения данных в случае выхода из строя любого из других дисков). Это означает (как видно сверху), u1
имеет 3 ТБ (точнее, 2793.94 GB
) полезных данных.Еще больше информации о состоянии и исправности дисков можно найти, запустив tw_cli /c2/u0 show
или tw_cli /c2/p0 show
. Более подробную информацию и команды можно найти в страницы руководства.
В добавок к lspci
и lshw
методы, описанные в другом ответе, вы можете проанализировать dmesg
и использовать smartctl
для получения информации о физических дисках. Например, взгляните на этот сервер с контроллером PERC H710p:
[root@localhost ~]# dmesg | grep -i scsi
[ 0.946723] SCSI subsystem initialized
[ 1.279256] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 2.853831] scsi host0: Avago SAS based MegaRAID driver
[ 2.858058] scsi 0:2:0:0: Direct-Access DELL PERC H710P 3.13 PQ: 0 ANSI: 5
[ 2.873982] scsi 0:2:1:0: Direct-Access DELL PERC H710P 3.13 PQ: 0 ANSI: 5
[ 3.011376] sd 0:2:0:0: [sda] Attached SCSI disk
[ 3.012031] sd 0:2:1:0: [sdb] Attached SCSI disk
[ 7.915918] sd 0:2:0:0: Attached scsi generic sg0 type 0
[ 7.916305] sd 0:2:1:0: Attached scsi generic sg1 type 0
Вы можете увидеть два определенных массива: sda
и sdb
. Бег smartctl
против таких виртуальных устройств настраивается что-то вроде следующего:
[root@localhost ~]# smartctl --all /dev/sdb
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.12.1.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: DELL
Product: PERC H710P
Revision: 3.13
Compliance: SPC-3
User Capacity: 9,930,501,324,800 bytes [9.93 TB]
Logical block size: 512 bytes
Logical Unit id: REDACTED
Serial number: REDACTED
Device type: disk
Local Time is: Fri May 29 14:46:48 2020 CEST
SMART support is: Unavailable - device lacks SMART capability.
Чтобы проверить значения состояния физического диска, вы можете использовать smartctl --all -d <driver>,<disknum> <sddevice>
синтаксис. Например, чтобы проверить первый диск второго массива:
[root@localhost ~]# smartctl --all -d megaraid,0 /dev/sdb
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1062.12.1.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: REDACTED
Serial Number: REDACTED
LU WWN Device Id: REDACTED
...
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 100 253 021 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 3
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 2251
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 3
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 1
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 3
194 Temperature_Celsius 0x0022 123 117 000 Old_age Always - 20
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0
Наконец, чтобы получить информацию о структуре массива (например, тип RAID, запасные диски и т. Д.), Вам пришлось использовать специальные инструменты. megacli
является универсальным инструментом для карт на основе LSI, но также существуют инструменты, настроенные производителем (например: omreport storage vdisk
). Например, на сервере DELL:
[root@localhost ~]# omreport storage vdisk
List of Virtual Disks in the System
Controller PERC H710P Mini (Embedded)
ID : 0
Status : Ok
Name : REDACTED
State : Ready
Hot Spare Policy violated : Not Assigned
Encrypted : No
Layout : RAID-6
Size : 64.00 GB (68719411200 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State : Not Applicable
Device Name : /dev/sda
Bus Protocol : SATA
Media : HDD
Read Policy : Adaptive Read Ahead
Write Policy : Write Back
Cache Policy : Not Applicable
Stripe Element Size : 64 KB
Disk Cache Policy : Enabled