SSD за год потерял сорок процентов: почему Proxmox изнашивает диск быстрее
Диск не неисправен, нагрузка другая. Серверный диск не простаивает так, как настольный, и каждая запись растёт слой за слоем. Следить надо не за процентом, а за наклоном.
AtlasPVE ·
Эта статья отвечает на
- proxmox ssd wearout
- proxmox срок службы ssd
- proxmox можно ли потребительский ssd
- proxmox процент износа диска
- proxmox ssd быстро изнашивается
Вы собрали сервер, прошёл год, и показатель ресурса SSD упал до шестидесяти процентов. Первая мысль, неисправность. Обычно это не она.
Диск не сломан, нагрузка другая.
Что такое износ
Ячейки SSD выдерживают ограниченное число записей. Диск сообщает это в процентах: сколько осталось. Пока процент падает, диск не замедляется, не ломается, ничем себя не выдаёт. Опускается только число.
Именно это делает износ коварной мерой: когда вы его замечаете, вы уже близко к концу пути.
Серверный диск не простаивает как настольный
На настольном компьютере диск большую часть времени простаивает. На сервере виртуализации, никогда.
Пишут не только ваши виртуальные машины. Собственные журналы сервера, файл состояния кластера, записи измерений, журналы гостей, все они постоянно порождают мелкие записи. По отдельности они ничтожны; вместе, непрерывный поток.
Множитель, которого никто не ждёт
Вот в чём настоящая суть: маленькая запись, сделанная изнутри виртуальной машины, ложится на физический диск куда более крупной.
Потому что путь долгий. Файловая система гостя округляет запись до своего размера блока. Слой виртуального диска округляет ещё раз. Файловая система сервера округляет снова. Внутреннее управление самого SSD округляет ещё раз. Каждый слой говорит «не меньше вот стольких», и ни один не округляет вниз.
Итог: запись в четыре килобайта может вырасти в несколько раз на физическом слое. Это не поломка, это естественная цена слоёв. Но если её не учесть, срок службы диска окажется много ниже ожидаемого.
Этот множитель растёт ещё в двух местах: в файловых системах, которые пишут при копировании (те же данные пишутся на новое место, а старое остаётся), и в работе, которая хочет удостовериться, что каждая запись дошла до диска, обычно это базы данных.
Настоящая разница между потребительским и серверным диском
Разница не в скорости. Она в двух вещах.
Бюджет записи. Диски, продаваемые для серверов, рассчитаны выдерживать намного больше записей. Между двумя дисками одного объёма разница в стойкости бывает кратной.
Поведение под непрерывной нагрузкой. Потребительские диски используют быстрый буфер и заметно замедляются, когда он заполняется. На настольной машине это незаметно, потому что буфер успевает опустеть. На сервере не успевает.
Есть ещё тихое, но важное различие: серверные диски сделаны так, чтобы успеть записать содержимое буфера даже при пропаже питания. Это позволяет им безопасно отвечать «записано» заранее. Потребительский диск без такой гарантии либо отвечает медленно, либо идёт на риск.
Что можно сделать без покупки оборудования
Отделите пишущую работу от загрузочного диска. Если машина собирает журналы, держит базу данных или ведёт постоянные записи, положите её диск в другое место.
Пересмотрите область подкачки. На сервере с достаточной памятью постоянная подкачка означает и медлительность, и износ.
Отключите ненужное подробное журналирование. Отладочный уровень, выставленный однажды и забытый, продолжает писать годами.
Следить надо не за процентом, а за наклоном
«Осталось восемьдесят пять процентов» само по себе не говорит ничего. Тот же процент на одном диске означает десять лет, на другом восемь месяцев.
Правильный вопрос такой: на сколько пунктов он упал за последний месяц? Падает на один пункт в месяц, у вас годы. Падает на пять, у вас примерно полтора года, и планировать надо уже сейчас.
Что делает Atlas
Atlas читает сообщаемый диском процент оставшегося ресурса и строит оценку оставшихся дней по наклону последних тридцати дней. То есть он говорит вам не процент, а «при таком темпе столько-то дней».
Для темы этой статьи по-настоящему важно, когда продукт отказывается оценивать:
Если у него всего одно измерение, он не оценивает, а говорит, что данных для тенденции недостаточно. Если процент не менялся или вырос, он говорит, что в ближайшее время ресурс не кончится, вместо того чтобы выдумать число дней. Если падение меньше тысячной доли пункта в день, он опять не даёт числа, потому что оценка из такого наклона была бы бессмысленной.
Это самое трудное в любом оценивающем инструменте: уметь промолчать, когда данные не выдерживают оценки. Неверное число дней хуже, чем никакого числа, потому что на нём строят планы.
Источники
Собственная документация Proxmox. На английском, и последнее слово в этом вопросе за ней.