Назад | Перейти на главную страницу

Получите серийный номер диска с помощью smartctl под raid0 LSI

Я пытаюсь получить серийный номер дисков, подключенных к серверу Centos. Когда не было raid0 (под LSI), я могу получить серийный номер и модель /dev/sdb по:

smartctl -i /dev/sdb

и вывод:

smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
disk Model:       WDC WD4000FYYZ-01UL1B2
Serial Number:    WD-WMC130D3PEZ4
LU WWN disk Id:   5 0014ee 0ae93b565
Firmware Version: 01.01K03
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Size:      512 bytes logical/physical
disk is:          Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Mon Apr 13 15:09:29 2015 CST
SMART support is: Available - disk has SMART capability.
SMART support is: Enabled

Но когда /dev/sdb за raid0 вывод изменился на:

# smartctl -i /dev/sdb
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

Vendor:               LSI
Product:              LSI
Revision:             3.19
User Capacity:        2,999,999,004,672 bytes [2.99 TB]
Logical block size:   512 bytes
Logical Unit id:      0x6234567890abcde01b73bdde67c081d1
Serial number:        00d181c067debd731be0cdab90785634
Device type:          disk
Local Time is:        Fri Apr 17 17:05:47 2015 CST
Device does not support SMART

И Serial number Это не настоящий серийный номер, указанный в спецификации диска, поэтому мы не можем его использовать. И я добавил несколько параметров smartctl:

smartctl -i -d sat+megaraid,N /dev/sdb

Здесь неотрицательное целое число N (в диапазоне от 0 до 127 включительно) обозначает, какой диск на контроллере отслеживается, и я могу получить реальный серийный номер (другой диск, а не тот, который упоминался ранее):

# smartctl -i -d sat+megaraid,0 /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     ST3000NM0033-9ZM178
Serial Number:    Z1Z40MVG
LU WWN Device Id: 5 000c50 066d78a8b
Firmware Version: SN02
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ACS-2 (revision not indicated)
Local Time is:    Fri Apr 17 17:12:57 2015 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Вопрос 1

Но когда я (только) изменил /dev/sda к /dev/sdb или существует любое другое устройство, вывод такой же, это ошибка?

вопрос 2

Емкость /dev/sda всего 278,5 г:

# lsblk /dev/sda -io name,size -d
NAME   SIZE
sda  278.5G

Но когда я бегу smartctl -i -d sat+megaraid,0 /dev/sda, выход User Capacity составляет 3 ТБ, а НЕ реальная емкость диска, и не было строгого сопоставления между меткой слота и N (по крайней мере, сейчас), но если /dev/sd* не существует, smartctl не удастся:

Smartctl open device: /dev/sdx [megaraid_disk_12] [SAT] failed: No such device

Похоже, что smartctl проверяет только наличие диска.

У меня есть 13 дисков (включая системный), как мне получить строгое соответствие между N и /dev/sd*?

Вопрос 3

Я хочу получить последний серийный номер и бегу smartctl -i -d sat+megaraid,12 /dev/sda, но вывод:

smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

Smartctl: Device Read Identity Failed: megasas_cmd result: 0.12 = 0/45

A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

какой 0.12 = 0/45 значит здесь?