Я пытаюсь получить серийный номер дисков, подключенных к серверу 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
Но когда я (только) изменил /dev/sda
к /dev/sdb
или существует любое другое устройство, вывод такой же, это ошибка?
Емкость /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*
?
Я хочу получить последний серийный номер и бегу 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
значит здесь?