Для постановки задачи возьмём жёсткий диск с SAS интерфейсом и RAID-контроллер, который не обеспечивает прямой доступ к диску. Операционная система будет видеть только дисковый массив, но никак не отдельный диск.
В главных ролях:
Debian Linux
MegaCLI
smartmontools
MegaRAID 9460-8i
Для начала создайте RAID-группу и добавьте туда необходимые диски с нужным типом RAID-массива.
Заходим в операционную систему и скачиваем MegaCLI: тыц
Так как в данной статье, мы используем Debian, а MegaCLI предоставляется в виде rpm пакета, необходимо конвертировать в deb пакет с использованием утилиты "Alien" и дальнейшей установкой:
apt install alien
alien megacli.rpm
dpkg -i megacli.deb
После установки, MegaCLI будет расположен в директории /opt/megacli и при запуске может отругаться на отсутствие библиотеки
libncurses.so.5.
Произведём установку библиотеки:
apt update
apt install libncurses5
Далее используя MegaCLI можно получить id жёстких дисков, которые назначил контроллер:
cd /opt/megacli
./megacli64 -LdPdInfo -aALL | grep Id
Должен получиться следующий вывод (в нашем случае 3 диска):
Device Id: 16
Device Id: 15
Device Id: 14
Теперь можно установить smartctl и получить S.M.A.R.T дисков, где "16, 15 и 14" - id дисков:
apt install smartmontools
smartctl -d megaraid,16 -a /dev/sda && smartctl -d megaraid,15 -a /dev/sda && smartctl -d megaraid,14 -a /dev/sda
Пример вывода для одного диска:
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.11.0-27-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: TUNE-IT
Product: l33t1337
Revision: E777
Compliance: SPC-4
User Capacity: 12,000,138,625,024 bytes [12.0 TB]
Logical block size: 512 bytes
Physical block size: 4096 bytes
LU is fully provisioned
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Logical Unit id: 0x5000c500a64e6653
Serial number: 1911
Device type: disk
Transport protocol: SAS (SPL-3)
Local Time is: Tue Sep 14 09:57:14 2021 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Grown defects during certification <not available>
Total blocks reassigned during format <not available>
Total new blocks reassigned <not available>
Power on minutes since format <not available>
Current Drive Temperature: 35 C
Drive Trip Temperature: 60 C
Manufactured in week 23 of year 2018
Specified cycle count over device lifetime: 50000
Accumulated start-stop cycles: 421
Specified load-unload count over device lifetime: 600000
Accumulated load-unload cycles: 36689
Elements in grown defect list: 185
Vendor (Seagate Cache) information
Blocks sent to initiator = 1146731080
Blocks received from initiator = 1024973608
Blocks read from cache and sent to initiator = 1538074922
Number of read and write commands whose size <= segment size = 867887209
Number of read and write commands whose size > segment size = 3265470
Vendor (Seagate/Hitachi) factory information
number of hours powered up = 25336.23
number of minutes until next internal SMART test = 18
Error counter log:
Errors Corrected by Total Correction Gigabytes Total
ECC rereads/ errors algorithm processed uncorrected
fast | delayed rewrites corrected invocations [10^9 bytes] errors
read: 262277067 505 0 262277572 505 282868.781 10
write: 0 0 0 0 0 40139.875 0
verify: 1784398668 1101 0 1784399769 1101 324648.764 0
Non-medium error count: 285
[GLTSD (Global Logging Target Save Disable) set. Enable Save with '-S on']
No Self-tests have been logged