Serwery IBM Power począwszy od Power9 wyposażone w dyski NVMe. Wewnętrzne dyski NVMe mogą być użyte do instalacji VIOS. W związku z tym rodzi się pytanie: w jakim stanie jest dysk NVMe? czy ulega degradacji, czy może wkrótce ulegnie awarii? Za pomocą polecenia „nvmemgr” można sprawdzić stan dysku, odczytując dane SMART.
nvmemgr -M -l nvmeX
po wykonaniu polecenia otrzymujemy następujące informacje:
nvmemgr -M -l nvme0
Critical Warning ........................................ 0x0
Composite Temperature (Kelvin) .......................... 320
Available Spare (%) ..................................... 93
Percentage of NVM subsystem life used ................... 0
Data Units Read (1000 units of 512 bytes) ............... 11361920
Data Units written (1000 units of 512 bytes) ............ 16994397
Host Read Commands ...................................... 104784386
Host Write Commands ..................................... 1281447312
Number of Power Cycles .................................. 18
Power On Hours .......................................... 44243
Unsafe Shutdowns ........................................ 3
Media and Data Integrity Errors ......................... 0
Number of Error Information Log Entries ................. 46
Jak widać na powyższym przykładzie, dysk jest sprawny.
Jego zużycie wynosi 0% po ponad 5 latach ciągłej pracy (44 243 godziny pracy)!
Najgorszy przypadek, jaki udało mi się znaleźć, to dysk ze zużyciem wynoszącym 1%. Prawie wszystkie sprawdzone dyski NVMe w Power9/10 mają 0% zużycia. Większość z nich ma również spare na poziomie 100%. Jeśli dysk będzie degradował się w takim tempie, spokojnie wytrzyma cały cykl życia serwera.
Pamiętam czasy serwerów Power7/8 z tradycyjnymi dyskami, gdzie wymiana dysku była normalną procedurą. Tymczasem, odkąd IBM przeszedł na dyski NVMe, nie miałem okazji wymieniać żadnego!
Samo polecenie jest znacznie bardziej rozbudowane i pozwala na wykonywanie większej liczby operacji niż tylko odczyt danych SMART dysku.
Możliwe jest np. odczytanie statystyki zapisu do dysku.
nvmemgr -Q -l nvme0
Data Units Read Data Units Written Host Read Cmds Host Write Cmds
(1 Unit = 1000 units of 512 bytes)
76 3 456 131
77 6 439 521
78 3 470 273
70 5 423 338
74 1 609 116
0 26 5 100
0 51 3 225
0 52 1 249
0 45 0 278
0 47 1 208
Polecenie jest niestety nieudokumentowane, nie udało mi się znaleźć informacji na jego temat na stronie IBM.
Aczkolwiek samo polecenie ma bardzo dobrze opisaną pomoc.