Процент износа ssd linux

Wear_Leveling_Count и Total_LBAs_Written, износ SSD диска

У меня износились в очередной раз SSD диски на одном из железных серверов. В связи с этим решил сделать заметку на эту тему, используя наглядный пример. С SSD дисками до сих пор куча вопросов в плане надежности и мониторинга износа. У каждого вендора SSD свои метрики в SMART, так что не мудрено и запутаться. Поделюсь той информацией, что есть у меня.

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.

Заметка будет краткой с информацией только по существу. Для начала, как я мониторю диски. За основу взят шаблон для Zabbix — zbx-smartctl. У меня есть статья на тему мониторинга SMART в Zabbix. Но там используется другой шаблон, не такой функциональный. Да и в целом статья слегка устарела, но ее можно использовать для теоретической подготовки. За основу рекомендую сразу взять шаблон из первой ссылки.

Важное замечание. Из-за того, что у разных вендоров разные метрики, отвечающие за жизнеспособность SSD, слепо доверять приведенному шаблону нельзя. Он в целом хорошо работает на всех дисках, кроме метрики износа ssd. На каких-то дисках он вообще не работает. На каких-то параметр SSD wearout не уменьшается с 100 до 0, а наоборот растет с 0 до 100, соответственно, надо изменить триггеры.

В общем, шаблон нужно допиливать по месту и обязательно проверять вручную все метрики и триггеры. На одном из серверов, где все это проделано, у меня сработал триггер на SSD wearout. Я зашел в метрики диска и убедился, что диск реально изношен.

Wear_Leveling_Count

Косвенный признак наработанных часов подтверждает, что диск реально старый и скорее всего подходит конец срока его службы. Для того, чтобы убедиться в этом, идем в консоль и глазами проверяем смарт ssd диска:

Читайте также:  Создать ssh key linux

Total_LBAs_Written

Обращаю внимание на параметр Total_LBAs_Written. Для того, чтобы его правильно интерпретировать, нам надо узнать размер сектора диска, так как показывает он именно их число.

# smartctl /dev/sdb --all | grep "Sector Size" Sector Size: 512 bytes logical/physical

Теперь идем на TLB Calculator и смотрим количество перезаписей диска.

SSD Total Bytes Written Calculator

Износ SSD диска подтверждается. Хотя по документам Samsung SSD 850 EVO 500GB способен записать 150TBW, рисковать мне не хочется. К тому же сервер арендуется и тех поддержка без проблем заменит изношенный диск. Главное, чтобы они поменяли тот диск.

После этой истории, если сервер критичный, я не делаю замену диска. Я прошу через тех. поддержку дать подменный сервер, чтобы переехать на него. Обычно идут на встречу. По крайней мере в Selectel. Дают бонусы, чтобы запустить новый сервер на день. После переноса пишу в тех поддержку и они переводят новый сервер на основной тариф, а старый выключают и забирают.

Такая процедура мне видится более прогнозируемой, надежной и быстрой, нежели замена диска. Я не знаю точно, как наливали систему на диск, какие настройки биоса. Загрузится ли система с новым чистым диском, есть ли на втором диске рабочий загрузчик и т.д. В общем, много подводных камней. Гораздо надежнее перенести виртуалки на новый сервер, пока у тебя старый еще работает.

Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.

Источник

Как правильно определить износ SSD из линукса?

Собственно, под оффтопик есть вендор-специфичные тулзы, которые могут примерно оценивать износ SSD, но вот под линуксом — это весьма проблематично.
Вот, например, вывод smartctl -A /dev/sda одного из моих SSD:
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x001a 200 200 000 Old_age Always — 0
5 Reallocated_Sector_Ct 0x0033 100 100 000 Pre-fail Always — 0
9 Power_On_Hours 0x0032 099 099 000 Old_age Always — 2052
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always — 495
169 Unknown_Attribute 0x0013 253 253 010 Pre-fail Always — 481250249856
173 Unknown_Attribute 0x0032 193 193 100 Old_age Always — 21488861235
192 Power-Off_Retract_Count 0x0012 099 099 000 Old_age Always — 227
194 Temperature_Celsius 0x0022 063 041 000 Old_age Always — 37 (Min/Max 12/60)
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always — 0
199 UDMA_CRC_Error_Count 0x001a 200 200 000 Old_age Always — 0

Читайте также:  Custom vkp 80 linux

И как тут оценить его износ?

gsmartcontrol посмотри. Известные атрибуты там расшифровываются.

А если мне на сервере будет нужно? Тянуть кучу пакетов и запускать по SSH?

ssd-специфичные атрибуты имеют id за 200 и зависят от вендора (пример: http://www.thomas-krenn.com/en/wiki/SMART_attributes_of_Intel_SSDs)

Не уверен, что доживёшь до момента, когда твой SSD начнёт дохнуть.

А у меня в серверах SSD. И ничего.

Видать это все зависит от модели, у меня вполне читаемые аттрибуты:

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 0x0000 --- --- --- Old_age Offline - 6 9 Power_On_Hours 0x0000 --- --- --- Old_age Offline - 16013 12 Power_Cycle_Count 0x0000 --- --- --- Old_age Offline - 99 184 Initial_Bad_Block_Count 0x0000 --- --- --- Old_age Offline - 11 195 Program_Failure_Blk_Ct 0x0000 --- --- --- Old_age Offline - 0 196 Erase_Failure_Blk_Ct 0x0000 --- --- --- Old_age Offline - 2 197 Read_Failure_Blk_Ct 0x0000 --- --- --- Old_age Offline - 0 198 Read_Sectors_Tot_Ct 0x0000 --- --- --- Old_age Offline - 1738286553 199 Write_Sectors_Tot_Ct 0x0000 --- --- --- Old_age Offline - 1214309443 200 Read_Commands_Tot_Ct 0x0000 --- --- --- Old_age Offline - 10506274 201 Write_Commands_Tot_Ct 0x0000 --- --- --- Old_age Offline - 93240079 202 Error_Bits_Flash_Tot_Ct 0x0000 --- --- --- Old_age Offline - 2416328 203 Corr_Read_Errors_Tot_Ct 0x0000 --- --- --- Old_age Offline - 2293513 204 Bad_Block_Full_Flag 0x0000 --- --- --- Old_age Offline - 0 205 Max_PE_Count_Spec 0x0000 --- --- --- Old_age Offline - 5000 206 Min_Erase_Count 0x0000 --- --- --- Old_age Offline - 403 207 Max_Erase_Count 0x0000 --- --- --- Old_age Offline - 896 208 Average_Erase_Count 0x0000 --- --- --- Old_age Offline - 600 209 Remaining_Lifetime_Perc 0x0000 --- --- --- Old_age Offline - 88 211 SATA_Error_Ct_CRC 0x0000 --- --- --- Old_age Offline - 0 212 SATA_Error_Ct_Handshake 0x0000 --- --- --- Old_age Offline - 0 213 Indilinx_Internal 0x0000 --- --- --- Old_age Offline - 0 

Среди них наиболее говорящий Remaining_Lifetime_Perc, еще недавно начал лезть вверх Erase_Failure_Blk_Ct — этим SSDшкам (зеркало) уже больше 4 лет, они адского размера в 32гб 🙂

Читайте также:  Xfreerdp astra linux команды

А можно вообще как-то по смарту определить жизнеспособность и износ (кроме часов работы) HDD и SDD не ковыряясь в спеках вендора по конкретной модели?

Скажем так: у меня есть сервера и десктопы на линуксе, мне нужно узнать, где уже стоить менять SSD/HDD, но smartcrl выдаёт везде разные поля и показатели (которые часто могут вообще не соответвовать действительности и разниться от вендора к вендору). Как можно оценить износ то реально?

Я думаю, что универсальных способов нет — всё зависит от контроллера и производителя.

Но, при этом, у них есть такая вещь как smart self-test, если он его проходит, то всё ок.

SMART overall-health self-assessment test result: PASSED 

Если хочется подробнее, то нужно для каждой модели рассматривать перечень контроллируемых аттрибутов.

Вот еще интересные параметры:

206 Min_Erase_Count 0x0000 --- --- --- Old_age Offline - 403 207 Max_Erase_Count 0x0000 --- --- --- Old_age Offline - 896 

blind_oracle ★★★★★ ( 29.03.14 20:59:02 MSK )
Последнее исправление: blind_oracle 29.03.14 21:00:21 MSK (всего исправлений: 1)

Источник

Оцените статью
Adblock
detector