3.235.228.219

NVMe komandrindas rīku izmantošana, lai pārbaudītu NVMe Flash veselību

NVMe komandrindas rīku izmantošana, lai pārbaudītu NVMe Flash veselību

Šajā emuāra ziņā apskatīšu NVMe zibspuldzes veselības informācijas veidus, kurus varat iegūt, izmantojot NVMe komandrindas rīkus.

Pārbaudīt diskdziņu, kas balstīts uz SATA, ir viegli. Neatkarīgi no tā, vai tas ir SSD vai vecāks vērpšanas disks, varat izmantot komandu smartctl, lai iegūtu daudz informācijas par ierīces veiktspēju un veselību. Kā piemērs:

root@blinky:/var/lib/mysql# smartctl -A /dev/sda
 
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-62-generic] (local build)
 
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
 
 
 
=== START OF READ SMART DATA SECTION ===
 
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   100   100   000    Pre-fail  Always       -       0
 
 5 Reallocated_Sector_Ct   0x0032   100   100   010    Old_age   Always       -       0
 
 9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       41
 
12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       2
 
171 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
 
172 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
 
173 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       1
 
174 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
 
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
 
184 End-to-End_Error        0x0032   100   100   000    Old_age   Always       -       0
 
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
 
194 Temperature_Celsius     0x0022   065   059   000    Old_age   Always       -       35 (Min/Max 21/41)
 
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
 
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
 
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
 
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
 
202 Unknown_SSD_Attribute   0x0030   100   100   001    Old_age   Offline      -       0
 
206 Unknown_SSD_Attribute   0x000e   100   100   000    Old_age   Always       -       0
 
246 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       145599393
 
247 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       4550280
 
248 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       582524
 
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033   000   000   000    Pre-fail  Always       -       1260
 
210 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0

Lai gan smartctl , iespējams, nezina visas piegādātāja specifiskās viedās vērtības, parasti, lai iegūtu sīkāku informāciju, jūs varat Google vadīt diska modeli kopā ar “viedajiem atribūtiem” un atrast dokumentus, piemēram, šo ..

NVMe Flash Health pārbaude

Ja pāriet uz jaunākas paaudzes NVMe balstītu zibatmiņu, smartctl vairs nedarbosies - vismaz tas nedarbojas pakotnēm, kas pieejamas Ubuntu 16.04 (tas, ko es darbinu). Izskatās, ka nāk atbalsts NVMe Smartmontools ierīcēs, un būtu lieliski iegūt vienu rīku, kas atbalsta gan SATA, gan NVMe zibatmiņu.

Tikmēr varat izmantot rīku nvme , kas pieejams no paketes nvme-cli. Tajā sniegta pamatinformācija par NVMe ierīcēm.

Lai iegūtu informāciju par instalētajām NVMe ierīcēm:

root@alex:~# nvme list
 
Node             SN                   Model                                    Version  Namespace Usage                      Format           FW Rev
 
---------------- -------------------- ---------------------------------------- -------- --------- -------------------------- ---------------- --------
 
/dev/nvme0n1     S3EVNCAHB01861F      Samsung SSD 960 PRO 1TB                  1.2      1         689.63  GB /   1.02  TB    512   B +  0 B   1B6QCXP7

Lai iegūtu SMART informāciju:

root@alex:~# nvme smart-log /dev/nvme0
 
Smart Log for NVME device:nvme0 namespace-id:ffffffff
 
critical_warning                    : 0
 
temperature                         : 34 C
 
available_spare                     : 100%
 
available_spare_threshold           : 10%
 
percentage_used                     : 0%
 
data_units_read                     : 3,465,389
 
data_units_written                  : 9,014,689
 
host_read_commands                  : 89,719,366
 
host_write_commands                 : 134,671,295
 
controller_busy_time                : 310
 
power_cycles                        : 11
 
power_on_hours                      : 21
 
unsafe_shutdowns                    : 8
 
media_errors                        : 0
 
num_err_log_entries                 : 1
 
Warning Temperature Time            : 0
 
Critical Composite Temperature Time : 0
 
Temperature Sensor 1                : 34 C
 
Temperature Sensor 2                : 47 C
 
Temperature Sensor 3                : 0 C
 
Temperature Sensor 4                : 0 C
 
Temperature Sensor 5                : 0 C
 
Temperature Sensor 6                : 0 C

Lai iegūtu papildu SMART informāciju (ne visas ierīces to atbalsta):

root@ts140i:/home/pz/workloads/1m# nvme smart-log-add /dev/nvme0
 
Additional Smart Log for NVME device:nvme0 namespace-id:ffffffff
 
key                               normalized raw
 
program_fail_count              : 100%       0
 
erase_fail_count                : 100%       0
 
wear_leveling                   :  62%       min: 1114, max: 1161, avg: 1134
 
end_to_end_error_detection_count: 100%       0
 
crc_error_count                 : 100%       0
 
timed_workload_media_wear       : 100%       37.941%
 
timed_workload_host_reads       : 100%       51%
 
timed_workload_timer            : 100%       446008 min
 
thermal_throttle_status         : 100%       0%, cnt: 0
 
retry_buffer_overflow_count     : 100%       0
 
pll_lock_loss_count             : 100%       0
 
nand_bytes_written              : 100%       sectors: 16185227
 
host_bytes_written              : 100%       sectors: 6405605

Daļa šīs informācijas ir pašsaprotama, un daļa nav. Pēc NVMe specifikācijas dokumenta apskatīšanas šeit es izlasīju dažus datus:

Pieejamā rezerves daļa . Satur normalizētu atlikušās pieejamās rezerves jaudas procentuālo daudzumu (0 līdz 100%).

Pieejamais rezerves slieksnis . Kad pieejamā rezerves jauda nokrītas zem šajā laukā norādītā sliekšņa, var notikt asinhrona notikuma pabeigšana. Vērtība ir norādīta kā normalizēta procentuālā daļa (no 0 līdz 100%). (Piezīme: Es neesmu īsti pārliecināts, kāda ir “asinhronā notikuma pabeigšanas” praktiskā nozīme, taču izskatās, ka no tā ir jāizvairās!)

Izmantotā procentuālā daļa . Satur piegādātāja konkrētu aprēķinu par izmantotās NVM apakšsistēmas dzīves procentuālo daudzumu, pamatojoties uz faktisko lietojumu un ražotāja prognozēm par NVM kalpošanas laiku. (Piezīme. Ja krātuvi izmantojat ilgāk, nekā paredzēts, tās skaitlis var būt lielāks par 100%.)

Datu vienības lasītas / rakstītās datu vienības . Tas ir 512 baitu datu vienību skaits, kuras tiek nolasītas / ierakstītas, taču to mēra neparasti. Pirmā vērtība atbilst 1000 no 512 baitu vienībām. Tātad jūs varat reizināt šo vērtību ar 512000, lai iegūtu vērtību baitos. Tas neietver metadatu piekļuves.

Saimnieka lasīšanas / rakstīšanas komandas . Izdoto attiecīgā tipa komandu skaits. Izmantojot šo vērtību, kā arī zemāk esošo, jūs varat aprēķināt vidējo IO lielumu “fiziskai” lasīšanai un rakstīšanai.

Kontroliera aizņemtais laiks . Laiks minūtēs, kad kontrolieris ir aizņemts komandu apkalpošanā. To var izmantot, lai novērtētu ilgtermiņa uzglabāšanas slodzes tendences.

Nedrošas izslēgšanas. Strāvas zuduma reižu skaits, nenosūtot paziņojumu par izslēgšanu. Atkarībā no izmantotās NVMe ierīces nedroša izslēgšana var sabojāt lietotāja datus.

Brīdinājuma temperatūras laiks / kritiskās temperatūras laiks . Laiks minūtēs, kad ierīce darbojās virs brīdinājuma vai kritiskās temperatūras. Tam vajadzētu būt nullei.

Wear_Leveling . Tas parāda, cik liela daļa no vērtētā šūnu dzīves tika izmantota, kā arī min / max / avg rakstīšanas skaits dažādām šūnām. Šajā gadījumā izskatās, ka šūnas ir novērtētas 1800 rakstiem un vidēji tika izmantotas aptuveni 1100 šūnas

Laika slodzes multivides nodilums . Plašsaziņas līdzekļi nolietojas pēc pašreizējās “slodzes”. Šī ierīce ļauj izmērīt statistiku no tā atiestatīšanas brīža (sauktu par “darba slodzi”), papildus ierīces dzīves ilguma vērtību rādīšanai..

Laika slodzes resursdatora lasījums . Izlasīto IO procentuālais daudzums (kopš darba slodzes taimera atiestatīšanas).

Termiskā droseļvārsta statuss . Tas parāda, vai ierīce ir droselēta pārkaršanas dēļ un kad agrāk bija droseles notikumi.

Uzrakstīti Nand baiti. NAND šūnās rakstītie baiti. Šķiet, ka šai ierīcei izmērītā vienība ir 32 MB vērtībās. Citām ierīcēm tas var būt atšķirīgs.

Rakstītās resursdatora baiti . Baiti, kas no sistēmas ierakstīti NVMe krātuvē. Arī šī vienība ir 32 MB vērtībās. Šo vērtību skala nav īpaši svarīga, jo tās ir visnoderīgākās, lai atrastu jūsu darba slodzes rakstīšanas pastiprinājumu. Šī attiecība tiek mērīta rakstot uz NAND un rakstot uz HOST. Šajā piemērā rakstīšanas pastiprināšanas koeficients (WAF) ir 16185227/6405605 = 2,53

Kā redzat, NVMe komandrindas rīki sniedz daudz labas informācijas, lai izprastu NVMe ierīču veselību un veiktspēju. Jums nav jāizmanto piegādātāja specifiski rīki (piemēram, isdct).