Wiki source code of Проверка SMART информации HDD/SSD на Linux
Last modified by Сергей Коршунов on 2022/09/19 19:26
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | = Проверка SMART информации HDD/SSD на Linux = | ||
2 | |||
3 | [[image:https://obu4alka.ru/wp-content/uploads/2019/08/hdd-ssd-e1641718037997.jpeg||alt="HDD-SSD-logo" height="234" width="400"]] | ||
4 | |||
5 | |||
6 | Сегодня поговорим о том, как можно проверить SMART информацию HDD/SSD дисков на Linux системах. Проверять будем утилитой **smartmontools**. | ||
7 | |||
8 | **Содержание** | ||
9 | |||
10 | ~1. Тестирование HDD/SSD дисков | ||
11 | |||
12 | 2. Журналы ошибок диска | ||
13 | |||
14 | 3. Примеры SMART информации | ||
15 | |||
16 | 4. Проверка работоспособности SSD/HDD дисков с помощью Gnome Disks | ||
17 | |||
18 | Проверка HDD/SSD дисков | ||
19 | |||
20 | {{{sudo smartctl -d ata -H /dev/sda}}} | ||
21 | |||
22 | * **d** – Указывает тип устройства. | ||
23 | * **ata** – тип устройства **ATA**, используйте **scsi** для типа устройства SCSI. | ||
24 | * **H** – Проверяет устройство, чтобы сообщить о его состоянии и работоспособности. | ||
25 | |||
26 | У меня вывод был следующий: | ||
27 | |||
28 | {{{=== START OF READ SMART DATA SECTION === | ||
29 | SMART overall-health self-assessment test result: PASSED}}} | ||
30 | |||
31 | По данному выводу можно сказать, что диск **в порядке**. | ||
32 | |||
33 | == Тестирование HDD/SSD дисков == | ||
34 | |||
35 | Теперь давайте протестируем диск. Чтобы инициировать короткий тест (short), выполните следующую команду:: | ||
36 | |||
37 | {{{sudo smartctl -t short /dev/sda}}} | ||
38 | |||
39 | Получим вывод о том, что тест будет продолжаться 2 минуты. | ||
40 | |||
41 | {{{=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION === | ||
42 | Sending command: "Execute SMART Short self-test routine immediately in off-line mode". | ||
43 | Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful. | ||
44 | Testing has begun. | ||
45 | Please wait 2 minutes for test to complete. | ||
46 | Test will complete after Sun Jan 9 12:15:34 2022 +04 | ||
47 | Use smartctl -X to abort test.}}} | ||
48 | |||
49 | Запустим **selftest** команду, отчет о проверки диска, с отсрочкой на две минуты: | ||
50 | |||
51 | {{{sudo sh -c 'sleep 120 && smartctl -l selftest /dev/sda'}}} | ||
52 | |||
53 | Мой вывод был следующий | ||
54 | |||
55 | {{{=== START OF READ SMART DATA SECTION === | ||
56 | SMART Self-test log structure revision number 1 | ||
57 | Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error | ||
58 | # 1 Short offline Completed without error 00% 11815}}} | ||
59 | |||
60 | Прогоним тесты ещё раз. В конце получаю вот такой результат: | ||
61 | |||
62 | {{{=== START OF READ SMART DATA SECTION === | ||
63 | SMART Self-test log structure revision number 1 | ||
64 | Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error | ||
65 | # 1 Short offline Completed without error 00% 11815 - | ||
66 | # 2 Short offline Completed without error 00% 11815}}} | ||
67 | |||
68 | Тесты совпадают, значит с диском все в порядке. Если у вас будут разные результаты, то советую такой диск поменять. | ||
69 | |||
70 | Чтобы инициировать расширенный тест (long), выполните следующую команду: | ||
71 | |||
72 | {{{sudo smartctl -t long /dev/sda}}} | ||
73 | |||
74 | Получим вывод о том, что тест будет продолжаться 30 минут. | ||
75 | |||
76 | Запустим **selftest** команду, отчет о проверки диска, с отсрочкой на 30 минут: | ||
77 | |||
78 | {{{sudo sh -c 'sleep 1800 && smartctl -l selftest /dev/sda'}}} | ||
79 | |||
80 | Получим следующий вывод: | ||
81 | |||
82 | {{{=== START OF READ SMART DATA SECTION === | ||
83 | SMART Self-test log structure revision number 1 | ||
84 | Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error | ||
85 | # 1 Extended offline Completed without error 00% 11816 - | ||
86 | # 2 Short offline Completed without error 00% 11815 - | ||
87 | # 3 Short offline Completed without error 00% 11815 -}}} | ||
88 | |||
89 | Тесты совпадают, значит с диском все в порядке. | ||
90 | |||
91 | == Журналы ошибок диска == | ||
92 | |||
93 | Вы можете распечатать журналы ошибок диска с помощью команды: | ||
94 | |||
95 | {{{sudo smartctl -l error /dev/sda}}} | ||
96 | |||
97 | {{{=== START OF READ SMART DATA SECTION === | ||
98 | SMART Error Log Version: 1 | ||
99 | No Errors Logge}}} | ||
100 | |||
101 | На диске /dev/sda ошибок нет. | ||
102 | |||
103 | Приведу пример с диска с ошибками: | ||
104 | |||
105 | {{{=== START OF READ SMART DATA SECTION === | ||
106 | SMART Error Log Version: 1 | ||
107 | ATA Error Count: 41 (device log contains only the most recent five errors) | ||
108 | CR = Command Register [HEX] | ||
109 | FR = Features Register [HEX] | ||
110 | SC = Sector Count Register [HEX] | ||
111 | SN = Sector Number Register [HEX] | ||
112 | CL = Cylinder Low Register [HEX] | ||
113 | CH = Cylinder High Register [HEX] | ||
114 | DH = Device/Head Register [HEX] | ||
115 | DC = Device Command Register [HEX] | ||
116 | ER = Error register [HEX] | ||
117 | ST = Status register [HEX] | ||
118 | Powered_Up_Time is measured from power on, and printed as | ||
119 | DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, | ||
120 | SS=sec, and sss=millisec. It "wraps" after 49.710 days. | ||
121 | |||
122 | Error 41 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours) | ||
123 | When the command that caused the error occurred, the device was active or idle. | ||
124 | |||
125 | After command completion occurred, registers were: | ||
126 | ER ST SC SN CL CH DH | ||
127 | -- -- -- -- -- -- -- | ||
128 | 40 51 40 30 c5 33 e4 Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680 | ||
129 | |||
130 | Commands leading to the command that caused the error were: | ||
131 | CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name | ||
132 | -- -- -- -- -- -- -- -- ---------------- -------------------- | ||
133 | c8 00 40 30 c5 33 e4 08 00:40:53.424 READ DMA | ||
134 | ef 10 02 00 00 00 a0 08 00:40:53.423 SET FEATURES [Enable SATA feature] | ||
135 | ec 00 00 00 00 00 a0 08 00:40:53.422 IDENTIFY DEVICE | ||
136 | ef 03 46 00 00 00 a0 08 00:40:53.422 SET FEATURES [Set transfer mode] | ||
137 | |||
138 | Error 40 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours) | ||
139 | When the command that caused the error occurred, the device was active or idle. | ||
140 | |||
141 | After command completion occurred, registers were: | ||
142 | ER ST SC SN CL CH DH | ||
143 | -- -- -- -- -- -- -- | ||
144 | 40 51 40 30 c5 33 e4 Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680 | ||
145 | |||
146 | Commands leading to the command that caused the error were: | ||
147 | CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name | ||
148 | -- -- -- -- -- -- -- -- ---------------- -------------------- | ||
149 | c8 00 40 30 c5 33 e4 08 00:40:51.701 READ DMA | ||
150 | ef 10 02 00 00 00 a0 08 00:40:51.701 SET FEATURES [Enable SATA feature] | ||
151 | ec 00 00 00 00 00 a0 08 00:40:51.699 IDENTIFY DEVICE | ||
152 | ef 03 46 00 00 00 a0 08 00:40:51.699 SET FEATURES [Set transfer mode] | ||
153 | |||
154 | Error 39 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours) | ||
155 | When the command that caused the error occurred, the device was active or idle. | ||
156 | |||
157 | After command completion occurred, registers were: | ||
158 | ER ST SC SN CL CH DH | ||
159 | -- -- -- -- -- -- -- | ||
160 | 40 51 40 30 c5 33 e4 Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680 | ||
161 | |||
162 | Commands leading to the command that caused the error were: | ||
163 | CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name | ||
164 | -- -- -- -- -- -- -- -- ---------------- -------------------- | ||
165 | c8 00 40 30 c5 33 e4 08 00:40:49.977 READ DMA | ||
166 | ef 10 02 00 00 00 a0 08 00:40:49.977 SET FEATURES [Enable SATA feature] | ||
167 | ec 00 00 00 00 00 a0 08 00:40:49.976 IDENTIFY DEVICE | ||
168 | ef 03 46 00 00 00 a0 08 00:40:49.976 SET FEATURES [Set transfer mode] | ||
169 | |||
170 | Error 38 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours) | ||
171 | When the command that caused the error occurred, the device was active or idle. | ||
172 | |||
173 | After command completion occurred, registers were: | ||
174 | ER ST SC SN CL CH DH | ||
175 | -- -- -- -- -- -- -- | ||
176 | 40 51 40 30 c5 33 e4 Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680 | ||
177 | |||
178 | Commands leading to the command that caused the error were: | ||
179 | CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name | ||
180 | -- -- -- -- -- -- -- -- ---------------- -------------------- | ||
181 | c8 00 40 30 c5 33 e4 08 00:40:48.254 READ DMA | ||
182 | ef 10 02 00 00 00 a0 08 00:40:48.254 SET FEATURES [Enable SATA feature] | ||
183 | ec 00 00 00 00 00 a0 08 00:40:48.253 IDENTIFY DEVICE | ||
184 | ef 03 46 00 00 00 a0 08 00:40:48.253 SET FEATURES [Set transfer mode] | ||
185 | |||
186 | Error 37 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours) | ||
187 | When the command that caused the error occurred, the device was active or idle. | ||
188 | |||
189 | After command completion occurred, registers were: | ||
190 | ER ST SC SN CL CH DH | ||
191 | -- -- -- -- -- -- -- | ||
192 | 40 51 40 30 c5 33 e4 Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680 | ||
193 | |||
194 | Commands leading to the command that caused the error were: | ||
195 | CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name | ||
196 | -- -- -- -- -- -- -- -- ---------------- -------------------- | ||
197 | c8 00 40 30 c5 33 e4 08 00:40:46.531 READ DMA | ||
198 | ef 10 02 00 00 00 a0 08 00:40:46.530 SET FEATURES [Enable SATA feature] | ||
199 | ec 00 00 00 00 00 a0 08 00:40:46.529 IDENTIFY DEVICE | ||
200 | ef 03 46 00 00 00 a0 08 00:40:46.529 SET FEATURES [Set transfer mode] | ||
201 | }}} | ||
202 | |||
203 | == Примеры SMART информации == | ||
204 | |||
205 | Выведем полный список SMART информации нашего HDD/SSD. В данном случае тестирую SSD. | ||
206 | |||
207 | {{{sudo smartctl -a /dev/sda}}} | ||
208 | |||
209 | {{{ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE | ||
210 | 1 Raw_Read_Error_Rate 0x0032 100 100 000 Old_age Always - 405 | ||
211 | 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 11816 | ||
212 | 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 107 | ||
213 | 148 Unknown_Attribute 0x0000 100 100 000 Old_age Offline - 0 | ||
214 | 149 Unknown_Attribute 0x0000 100 100 000 Old_age Offline - 0 | ||
215 | 167 Write_Protect_Mode 0x0000 100 100 000 Old_age Offline - 0 | ||
216 | 168 SATA_Phy_Error_Count 0x0012 100 100 000 Old_age Always - 0 | ||
217 | 169 Bad_Block_Rate 0x0000 100 100 000 Old_age Offline - 35 | ||
218 | 170 Bad_Blk_Ct_Erl/Lat 0x0000 100 100 010 Old_age Offline - 0/24 | ||
219 | 172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0 | ||
220 | 173 MaxAvgErase_Ct 0x0000 100 100 000 Old_age Offline - 180 (Average 160) | ||
221 | 181 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0 | ||
222 | 182 Erase_Fail_Count 0x0000 100 100 000 Old_age Offline - 0 | ||
223 | 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 | ||
224 | 192 Unsafe_Shutdown_Count 0x0012 100 100 000 Old_age Always - 102 | ||
225 | 194 Temperature_Celsius 0x0022 026 038 000 Old_age Always - 26 (Min/Max 11/38) | ||
226 | 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0 | ||
227 | 199 SATA_CRC_Error_Count 0x0032 100 100 000 Old_age Always - 0 | ||
228 | 218 CRC_Error_Count 0x0032 100 100 000 Old_age Always - 0 | ||
229 | 231 SSD_Life_Left 0x0000 084 084 000 Old_age Offline - 84 | ||
230 | 233 Flash_Writes_GiB 0x0032 100 100 000 Old_age Always - 11909 | ||
231 | 241 Lifetime_Writes_GiB 0x0032 100 100 000 Old_age Always - 4604 | ||
232 | 242 Lifetime_Reads_GiB 0x0032 100 100 000 Old_age Always - 3754 | ||
233 | 244 Average_Erase_Count 0x0000 100 100 000 Old_age Offline - 160 | ||
234 | 245 Max_Erase_Count 0x0000 100 100 000 Old_age Offline - 180 | ||
235 | 246 Total_Erase_Count 0x0000 100 100 000 Old_age Offline - 598192}}} | ||
236 | |||
237 | * **Reallocated Sectors Count** — Количество секторов, перераспределенных из-за ошибок чтения. | ||
238 | * **Power_On_Hours** — Фактически отработанное время в часах. | ||
239 | * **Power_Cycle_Count** — Цикл включения.выключения | ||
240 | * **Reported Uncorrect** — Количество неисправимых ошибок при доступе к сектору чтения/записи. | ||
241 | * **Reallocated_Error_Count** — Текущее состояние перемещения поврежденных секторов в специальную рабочую область. | ||
242 | |||
243 | == Проверка работоспособности SSD/HDD дисков с помощью Gnome Disks == | ||
244 | |||
245 | С помощью утилиты **GNOME disks** можно получить информацию о дисках, отформатировать диски, создать образ диска, выполнить стандартные тесты HDD/SSD-дисков и восстановить их образ. Все это производим с GUI — интерфейсом, а не через терминал. | ||
246 | |||
247 | В Ubuntu 20.04 **GNOME disks** идет в стандартной установке. Если вы не можете найти инструмент, то для установки используем команду: | ||
248 | |||
249 | {{{sudo apt-get install gnome-disk-utility}}} | ||
250 | |||
251 | Для запуска утилиты в терминале можно набрать команду: | ||
252 | |||
253 | {{{sudo gnome-disks}}} | ||
254 | |||
255 | [[image:https://obu4alka.ru/wp-content/uploads/2022/01/gnome-disk-e1641721722722.png||alt="gnome-disk" height="461" width="500"]] | ||
256 | |||
257 | Для проверки SMART информации выберите устройство и в правом верхнем углу нажимаем на //три точки/три тире// и выбираем //Данные самодиагностики и SMART информации// | ||
258 | |||
259 | [[image:https://obu4alka.ru/wp-content/uploads/2022/01/gnome-disk-smart-1024x553.png||alt="gnome-disk-smart" height="553" width="1024"]] |