Od czasu do czasu przydać się może informacja dotycząca temperatury dysków, które kręcą się (lub nie) w serwerze, są różnego rodzaju przystawki, widżety, webui, ale nie zawsze spełnia to nasze wymagania lub informację o temperaturze, chcemy przekazywać dalej.
Oto jeden z wielu sposobów jak uzyskać informację o temperaturze ( i nie tylko ) bezpośrednio z dysku.
Dla dysków HDD (mechanicznych/talerzowych) oraz SATA SSD:
apt-get install hddtemp
# blkid <- komenda zwróci ścieżkę do używanych przestrzeni dyskowych
hddtemp /dev/sda
>>> informacja zwrotna
/dev/sda: IR-SSDPR-S25A-120: 33°C
# wyłuskajmy informację, która nas najbardziej interesuje:
hddtemp /dev/sda | sed -E 's/(.*):{1}(.*)/\2/' | sed -E 's/(.*)\°{1}(.*)/\1/' | sed -e 's/^[ \t]*//'
>>> informacja zwrotna
33
Dla dysków NVMe:
apt-get install nvme-cli
# blkid <- komenda zwróci ścieżkę do używanych przestrzeni dyskowych
nvme smart-log /dev/nvme0n1
>>> informacja zwrotna
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0
temperature : 35 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 0%
endurance group critical warning summary: 0
data_units_read : 14,710,609
data_units_written : 4,399,231
host_read_commands : 117,122,111
host_write_commands : 83,852,221
controller_busy_time : 1,567
power_cycles : 15
power_on_hours : 3,750
unsafe_shutdowns : 1
media_errors : 0
num_err_log_entries : 0
Warning Temperature Time : 6
Critical Composite Temperature Time : 0
Thermal Management T1 Trans Count : 23
Thermal Management T2 Trans Count : 19
Thermal Management T1 Total Time : 336
Thermal Management T2 Total Time : 255
# wyłuskajmy informację, która nas najbardziej interesuje:
nvme smart-log /dev/nvme0n1 | grep temperature | sed -E 's/(.*):{1}(.*)/\2/' | sed -E 's/(.*).C{1}(.*)/\1/' | sed 's/[[:space:]]*//g'
>>> informacja zwrotna
35
Maszyna wirtualna:
Oczywiście maszyna wirtualna, nie musi mieć przekazywanego bezpośrednio dysku, z reguły jest to też dysk wirtualny, wtedy otrzymamy np. taki komunikat:
/dev/sda: QEMU QEMU HARDDISK: S.M.A.R.T. not available
hddtemp -n /dev/sda