Как стать автором
Обновить

Комментарии 169

Забавно видно, что RAID1 в случае SSD скорее всего не поможет года через два самовыпиливания диска/ов. Хотя это один из самых популярных сетапов bare-metal дедков.

Да, в этом случае можно искусственно убивать один из дисков быстрее, например отрезав партицию и заюзав ее под своп или redis:)

А в случае HW RAID что делать? ))


А есть сеты с XOR? RAID5, ZFS, etc. Там по идее картина износа может быть иной.

Что такое «партиция»?
partition
Имею n-ое количество серверов с SSD в RAID1, как ни странно, они убиваются не одновременно, есть отрыв до 5-10%.
тоже замечал такое.
и у обычных hdd тоже странные артефакты порой.
возможно ТТХ дисков и, например, повторная запись по каким то причинам.
вот местами бы их поменять и посмотреть.
Для hdd то как раз вполне объяснимо: raid1 даёт одинаковую нагрузку на запись, но на чтении она не одинаковая получается часто.
У ssd может по разному срабатывает очистка страниц
на тему чтения, я замечал что контроллеры по разному себя ведут.
некоторые чередуют нагрузку, некоторые вобще только по готовности обоих.

Оба контроллера умеют работать c SSD? Вероятно, первый умеет и таким образом пытается как бы беречь накопители, а второй считает их НЖМД и работает соответственно.

второй похоже «почестному» работает, сравнивает одинаковость
Да, об этом как раз и говорю, по балансировке чтения много различий.
Софтовый linux raid балансирует чтение вообще между потоками. Если с диска читает один поток — то нагрузка будет только на один том массива, а второй будет простаивать (вместо чередования запросов).
utcc.utoronto.ca/~cks/space/blog/linux/UnbalancedSSDMirrorReads

Мы стабильно видим, особенно разница быстро выявляется на серверах баз. Один из дисков в 2 раза раньше умирает.

Для SSD зеркало это защита от механических поломок. В теории один диск нужно менять на середине жизни и держать в запасе.

простите, а какие у SSD механические поломки бывают?
Я думаю, имелись в виду выходы из строя не по причине износа. Например, выход из строя контролера.
мне кажется тут лучше подходит термин «аппаратные». наверное

Как в магнитофоне или приемнике. Электроника не выдерживает. А сервис центы если не дай бог подгорела деталь из-за выхода из строя пишут про механическое повреждение. Хотя аппаратные точнее как выше замечено.

Интересная статья, спасибо. А не могли бы вы посчитать (среднюю, и 95/99 перцентиль) скорость износа SSD с разбиением на серверные и консьюмерские модели?
Тот же хецнер грешит тем, что ставит в дешевые сервера десктопные SSD, причем самые дешевые. У нас их десктопные SSD живут примерно пол года с репликами БД, а ентерпрайзные самсунги уже по 2.5 года работают и умирать не собираются.

Мне кажется персентили тут ничего не скажут, так как нагрузка разная. Максимальная скорость износа (которую я показал) позволит жить на таких дисках 2 года.
Но с другой стороны, если у вас дедик и хостер меняет диски по запросу, это не такая уж и проблема (если не брать во внимание, что у hetzner диски не hot-swap).

а какие именно enterprise самсунги?
SAMSUNG MZ7KM480HAHP-00005
Офф гарантия — 3.6 перезаписи всего объема накопителя (500 Гб) в день в течение 5 лет. У нас нагрузка должна быть сильно меньше, до 500 Гб в день. С такой нагрузкой скорее контроллер умрет, чем выработается ресурс.
там интересная статистика, у самсунгов.
иногда EVO более живучи, чем PRO.
хотя счет у них на петабайты
есть интересная версия.
ежели много операций на одном месте(что то постоянно обновляем с фсинком)
то кеш у evo очень хорошо работать должен в плане снижения износа.
Только речь не об износе SSD, а о показаниях одного из индикаторов SMART. Который, на самом деле, не измеряет собственно износ ячеек, а просто суммирует количество записанной информации.

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

Формально, Wear Out в ноль не означает что диск все. Судя по длительным тестам некоторые диски живут сильно дольше чем заложенный производителем ресурс. Правда на проде я бы конечно не рисковал.
А что означает график в разделе «Износ SSD и PostgreSQL» где от нуля до -4% или в «Как быстро убиваются SSD» где до -7,5%?

Это я так показал "сжигание" — то, как уменьшается показатель. Просто показать 100->92 получалось не особо наглядно.

Если не путаю, то опускается. Ловил круглый 0% и статус FAILED в смарте. Про статус точно, а вот про процент не помню.
У нас была другая ситуация.
По смарту SSD был нормальный. Используется схема HDD+SSD. На SSD система и БД, а на HDD ceph.
Вдруг Zabbix взбесился — посыпались триггеры. Мы пулей к серверу подрубаться. На SSD все разделы стали ro, и ничего не помогает. Даже принудительные пинки на переключение в rw. Я так до конца и не понял, что за фигня неведомая это была. Похоже на то, что SSD исчерпал свой ресурс

На некоторых марках дисков при исчерпании ресурса записи, например по тому же wearout, ssd принудительно впадает в RO. Так нам намекает производитель, что диск пора заменить.

Возможно контролер отловил ошибку записи, с которой не смог справиться, и переключился в режим защиты данных, обрубив возможность записи. У меня такое случилось на консьюмерском кингстоне «из первых», на 64 ГБ, стоявшем в ноуте чуть больше года. Данные слил, ссд юзал как массогабаритную болванку для макетирования. Потом как-то раз включил интереса ради — так он уже и не определялся.
Это не то, чтобы «заложенный», а гарантированный.
И я бы сказал, что не некоторые, а большинство качественных SSD, вроде Samsung, Intel и Kingston. И даже многие более «простые»
Не гарантированный. В расчет этого показателя закладывают намного большие значения чем в гарантированный ресурс, обычно в несколько раз больше. Хотя многие качественные диски вполне способны работать еще больше, если повезет — еще в разы больше (и соответственно где-то на порядок больше чем назначил производитель в условиях гарантии).
Какого «этого»? В комментарии речь как раз о гарантированном производителем ресурсе.
Нет, в коментарии было о параметре Wear Out, которые используется для расчета остаточного ресурса/срока жизни диска для отображения в SMART.

Это НЕ гарантированный ресурс. А консервативная прогнозная оценка срока службы диска производителем, до которого должна доживать большая часть дисков данной модели. Но никакой ответственности за эти данные производитель не несет — так просто информация к размышлению для пользователя (чтобы примерно понимать, когда диск нужно уже менять, даже если пока все хорошо работает).

Гарантированный ресурс, т.е. ресурс прописанный в условиях гарантийного обслуживания, при выходе диска из строя до достижения которого диск попадает под бесплатную замену как бракованный (если конечно гарантия еще не закончилась по календарному сроку) практически всеми производителями назначается на в разы меньшем уровне.

Несколько примеров:
Samsung 850 EVO v2 250 ГБ (тест)

Гарантийный ресурс = 75 ТБ записи (на уровне хоста)
Рассчетный ресурс = 2100 циклов перезаписи флэша(~550 ТБ сырой записи в ячейки) или примерно 400 ТБ записи с хоста
Фактически конкретный экземпляр диска прожил еще намного дольше — 2700 ТБ

Другой диск Plextor M9Pe (тест)
Гарантированный ресурс = 160 ТБ
Расчетный ресурс (при котором показатель износа в СМАРТ доходит до 100%) 2000 циклов стирания или примерно 450 ТБ записи
Фактически данный экземпляр в тесте смог отработать 591 ТБ. В реальных условиях работы (когда данные нужно сохранять больше чем на пару часов как в этом ускоренном тесте износа) этот диск умер бы еще до достижения расчетного срока службы, но под условиях гарантии не попал бы.

И так почти со всеми дисками и производителями:
Intel SSD 545s 256 Гбайт: гарантия на 144 ТБ, ресурс заложенный в SMART 1500 циклов или ~360 ТБ
Kingston A400: гарантия на 80 ТБ, расчетный ресурс в SMART ~210 ТБ
и т.д.
Посмотрел на свои сервера с постгресом в окметре, но не увидел там метрик по ssd (хотя очень интересен их wearout).
Нужно что-то сделать, чтобы эти метрики появились?

Написал вам в личку.

а можно мне тоже?
спасибо заранее
Мда у сайта бесконечная загрузка из-за не доступности какого-то rum.okmeter.io

Возможность мониторить каждый запрос БД даже по IO это мощно сделано.
Возможность мониторить каждый запрос БД даже по IO это мощно сделано.

Хотя казалось бы — это фича постгреса, а не кого-то ещё :)
Мой Samsung 850 Evo 500GB потерял 10% ресурса всего лишь после одного процессинга pbf-файла (planet-latest, OSRM). На нем был всего лишь своп на 100GB и файл подкачки STXXL на 200GB. И все.
Помещая любого вида своп на SSD, вы автоматически подписываете ему смертный приговор. По-моему, это аксиома.

Самый дешёвый способ обработки подобного рода данных, если нет под рукой машины с нужным количеством памяти — раскрутить виртуалку в облаке, посчитать что надо, выгрузить результат, погасить виртуалку.
Помещая любого вида своп на SSD, вы автоматически подписываете ему смертный приговор. По-моему, это аксиома.


Я, признаться, до последнего избегал SSD, как-то все на хардах да на хардах. Сейчас собрал себе новый комп, там в качестве единственного носителя данных — EVO 960й. Ему около 2-х месяцев. ОС Win10. Мне бежать отключать своп? Я при помощи самсунговской утилитки посматриваю — вроде пока все норм, но если у вас есть негативный опыт — поделитесь, пожалуйста. Собственно, потому и избегал SSD, что наслышан о том, что они «убиваются» и «внезапно умирают», причем так, что данные не снять никак.
Может, лучше поставить еще хард под своп и файлопомойку?
НЛО прилетело и опубликовало эту надпись здесь
Кстати да, темп-папка браузера должна здорово нагружать SSD.
А мы ее на RAM-disc положим. Заодно и гарантированно сдыхать будет все при выключении — кукисы, трекеры, пикселы, прочее следящее дерьмо.
Я ютуб смотрю раз в сто лет, хрен с ним :)

Паникёры, блин. Вы "затёрли" хотя бы один SSD на десктопных нагрузках?


Одному из используемых 80-гигабайтных накопителей от Intel (модель не помню) уже 10 лет. 10, Карл. Своп не выключен, браузеры пишут на него, даже торрент-клиент пишет туда свою временную мелочь.


Попробовав в работе SSD, обратно вы не вернётесь.

НЛО прилетело и опубликовало эту надпись здесь

Второго накопителя может не быть, например, потому что это ноутбук или ПК любителя тишины.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Если SSD исчерпал ресурс, то он переходит в RO режим, и слить опию на новый диск не проблема.

Это если данный алгоритм встроен в контроллер и если в момент «отхода пациента» всё отработает штатно.
Причем по-моему сейчас для SOHO/Consumer дисков это скорее исключение, чем правило. Встречается в основном в продукции Intel и некоторых моделей «мигрировших» других производителей из серверного сегмента в потребительский (с общим контроллером например).

Остальные обычно просто выставляют флаги критического состояния в SMART, а окончательное решение оставляют за пользователем.

P.S.
Ител за это еще и пинали одно время прилично — т.к. этот алгоритм принудительно переводил диск в RO не в момент реального критического износа, а просто после записи Х ТБ данных (просто по счетчику записи, без какой либо оценки реального состояния диска).

Что с одной стороны — вроде бы хорошо с точки сохранности данных рядового не шибко грамотного пользователя. А с другой — очень уж похоже на внедрение запланированного устаревание, когда еще полностью работоспособное устройство принудительно вырубается по встроенному счетчику.
НЛО прилетело и опубликовало эту надпись здесь
Я таки ушатал 128GB RevoDrive3, где-то лет за пять. Года четыре стояла Win7, профили пользователей и программы, настроено всё было по моде 2013 года — отключен prefetch и своп, временные файлы вынесены на рамдиск, рабочий стол и документы вытащены на HDD. Потом стало не хватать места, система переехала на 512GB Plextor уже без особых заморочек на оптимизацию, а на реводрайв свалился своп и временные файлы, которые его ещё через год доконали — стал доступен только для чтения, при попытке что-то записать виснет и делает вид, что его нет. Сейчас на полочке лежит как экспонат, надо будет проверить теперь, сколько он информацию в отключенном состоянии держит :)

Он же энергонезависимый.

НЛО прилетело и опубликовало эту надпись здесь
Изоляция в ячейках флеша не идеальная, со временем заряд утекает. Ходят слухи, что через пару-тройку лет данные уже не прочитать. В смысле, еcли эту пару-тройку лет SSD без питания пролежит. Читал рекомендации хранить в холодильнике, при низких температурах темп потери заряда снижается :)
Читал рекомендации хранить в холодильнике
Сложно сказать стоит ли им следовать.
Как минимум, если вынуть накопитель и не дать ему медленно прогреться, а потом гарантированно просохнуть перед включением (в т.ч. под чипами), последствия будут куда хуже, чем перетекание заряда.
Да-да, лучше купить SSD и положить на полочку, чтобы не износился и не покупать потом новый.
НЛО прилетело и опубликовало эту надпись здесь
Покупать устройство, предназначенное в том числе для записи (быстрой!) информации, а потом придумывать, как бы на него записывать поменьше — это тоже абсурд.
Причем устройство стоит очень недорого, и даже при отсутствии параноидальных мер легко прослужит свой гарантийный срок. А если не прослужит, то уж никак не от перезаписи. А, учитывая прогресс, его можно будет вернуть по первоначальной стоимости и купить новый SSD — дешевле и лучше. И с гарантийным сроком, который будет отсчитываться заново. Выгодно со всех сторон.
НЛО прилетело и опубликовало эту надпись здесь
Да боже мой. Открываете амазон и смотрите самый популярный ssd: samsung 850 evo 250 gb.
Price: $74.99
НЛО прилетело и опубликовало эту надпись здесь
Согласен что 250 уже мало. Рядом есть версия 500гб за сотку на которую прекрасно ставится винда и основные программы.
Т.е. у вас прям 6тб прям горячих данных типа кешей и т.п., скорость чтения/записи которых чувствуется?

Потому что в примере выше — разница по скорости обработки таких объёмов будет дни-недели против часов.

И даже при таких нагрузках ссд скорее всего проживёт дольше, чем хдд, что в рассчёте на год, что на операцию чтения-записи.
НЛО прилетело и опубликовало эту надпись здесь
Просто не надо покупать комплектующие на пенсию матери.
НЛО прилетело и опубликовало эту надпись здесь
Может просто не надо измерять стоимость комплектующих в пенсиях или иных попугаях, чтобы жалобнее смотрелось?
а значит его наличие = именно тратой ресурсов SSD

Вы сейчас исходите из недоказанной гипотезы, что трата ресурсов SSD действительно есть.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Просто винда память занятую собственным дисковым кэшем обычно продолжает отображать как свободную.

Видимо исходя из соображения что выкинет эти данные сразу же при первом требовании от любой пользовательской программы и отдаст освободившуюся память ей.
Т.к. данные находящиеся в кэша (по крайней мере для кэша на чтение) это лишь копия данных уже сохраненных где-то еще их можно просто выкинуть без перемещения куда-либо подобная операция происходит очень быстро.

Вот например в данный(чуть меньше суток после включения) момент посмотрел:
Total — 8 ГБ
Commit (выделенная память) — 2.8 Гб
System Cache — 3 ГБ
Available — 5.8 ГБ

Суть: программами занято 2.8 ГБ (из которых около 2.2 ГБ в оперативке, а ~0.6 выгружено в своп), 3 ГБ оперативки занято кэшем, реально свободно 2.8 ГБ из имеющихся 8 ГБ
Но винда показывает что свободно 5.8 ГБ, т.к. 3 Гб кэша «если что быстро отдам».
Кеша 3гб, используется 5Гб, свободно 8 Гб.

Вы уверены, что это действительно так? Десятка обычно забивает кешем всю память под завязку.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
хотите сказать, что в этом случае винда не будет скидывать старые страницы памяти в своп просто потому, что они старые, а не с оглядкой, что оперативки занято при этом менее 50%?

Так это же хорошо, что будет.


Но до этого момента — а смысл? Серьезно? Ради дампа памяти в случае бсода?

Ради ускорения работы системы, очевидно. В любом случае — никаких минусов от свопа на ссд нет, так какой смысл его убирать?

Я не использую своп на десктопах вообще, поэтому конкретным опытом поделиться не могу. Но логика подсказывает, что лучше его выключать, если нет необходимости запускать программы, не помещающиеся в ОЗУ.

Ну а вообще, у полноценных серий (а-ля 960 эво) количество циклов перезаписи уже такое, что можно не заморачиваться ничем. Лет 10 всяко прослужит, а там уже в любом случае будет неактуально.
Ага, спасибо за ответ… значит, вместо харда все же лучше купить вторые 32 Гб RAM и вырубить своп.

Но SSD того же объема намного дешевле...

У меня один М.2 слот на матери, а DDR4 — четыре, два свободных. Да и с самого начала, когда систему будущую считал, сразу хотел 64 гигабайта.

Время доступа и пропускная способность RAM не идёт ни в какое сравнение с SSD и даже NVMe.

Есть Persistent Memory (PMEM), находящаяся между RAM и SSD по упомянутым критериям.

Потому у меня желание купив SSD использовать его только под своп. А если сдохнет, то своп — не жалко.
reff
Есть Persistent Memory (PMEM), находящаяся между RAM и SSD по упомянутым критериям.

Накопители в продаже есть?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Значит и хранение/обработка суровых баз данных в ОЗУ тоже "извращение"?

НЛО прилетело и опубликовало эту надпись здесь
А зачем именно рам-диск? Если оперативной памяти достаточно нормальная СУБД сама должна все активные данные в памяти постоянно держать, без костылей с размещением файлов на рам-диске.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Иногда, правда в специфических случаях все-таки имеет.
Не имеет при условии, что ОС может использовать и использует эту память напрямую.

Пример когда не может — 32бит ОС а памяти больше 4 Гб. «Прямой» путь в этом случае — это конечно перейти на использование 64 бит ОС и соответствующий софт. Но если это по какой-то причине невозможно или временно недоступно/нежелательно, то вполне себе рабочее решение сделать рам-диск на все что свыше 4 Гб (практически все драйвера РАМ-дисков могут использовать «верхнюю» память через PAE, даже если само ОС ее «не видит») и закинуть на него в том числе крупный своп плюс какие-нибудь кэши (браузера например).

Вполне практически смысл и эффект что называется «виден невооруженным глазом» в виде значительного ускорения работы. Хоть и не так эффективно, как прямой путь.
И где же там рамдиск? Там как и положено СУБД работает с нужными данными сама, напрямую в оперативной памяти. А не через 2 дополнительные ненужные прокладки (файловую систему ОС и драйвер рам-диска), которые снижают реальную скорость работы в несколько раз + дополнительно нагружают процессор.
Купите 850 evo и на него поставьте своп. Фактически это будет означать, что своп у вас всегда на SLC, а там практически бесконечность количество перезаписей.
На 1Тб диске кеша 12Гб. Если вам надо больше свопа, он всегда в разные ячейки пишется.
У меня 512Гб версии с момента появления модели стоят со свопами, пока все живые(5 штук)
Он же все-равно всегда из SLC в TLC переносит данные — в ближайший момент простоя, независимо от того осталось еще свободное место в «SLC кэше» или нет.
Ну это неизвестно. Но переносит в разные места.
Известно — тесты работы кэша и алгоритма «сбора мусора» проводились в разных обзорах. Например тут.
Как есть свободная минутка контроллер все из SLC кэша переписывает в основную TLC память, чтобы кэш был готов к быстрому приему следующей порции данных.

В места для записи конечно разные выбираются, но это у всех полноценных SSD сейчас так. Алгоритмы выравнивания износа не позволяют «протереть дырку» на одном часто перезаписываемом месте, раскидывая операции записи относительно равномерно по всему объему.

Но SLC кэш в плане износа тут не поможет — без него минимум 1 запись в TLC режиме, c ним так же минимум 1 запись в TLC + в большинстве случаев сначала еще 1 дополнительная запись в SLC режиме.

Точнее в конкретном случае с самсунгами вообще всегда 1 SLC + 1 TLC запись, на каждую операцию записи с хоста. Но в других моделях при записи больших объемов данных подряд, когда кэш уже заполнен может идти прямая запись в TLC минуя кэш.
Вот откуда вы берете такое? «Я купил стиральную машину, но стираю в ней только носки, а все остальное руками!». SSD для того и сделан, чтобы все, от чего зависит скорость лежало на нем! Т.е. Temp, pagefile, hyberfil и профиль с кэшами. Таким образом можно оживить даже старый ноутбук с 2Гб ОЗУ и селероном, проверено. Все из-за свопа, ноут начинает работать так быстро, что даже не замечаешь, что все вкладки и документы считываются уже из свопа. Параметр TBW для кого придумали? Обычный домашний диск имеет в районе 80 TBW, т.е. на него можно гарантировано записать 80 Тб, если у вас нагрузка больше — берите более лучшую модель, например самсунги с их новой TLC. У меня плекстор M6Pro два года трудится дома, записано виндой всего 11 Тб, ничего никуда не перенесено, все по дефолту. Т.е. они морально устареют, пока закончится их ресурс, вот сейчас заказал самсунг 970 EVO, хочу NVME посмотреть в работе, виртуалки с обычного HDD тормозят, а там 150 TBW! И это домашний SSD. И при этом у меня все равно акронис делает в фоне каждую неделю бэкап на HDD + иногда бэкаплю всю систему еще и в виртуалку, преждевременный выход из строя контроллера или еще что-то никто не отменял, тем более пока что все покупают SSD именно под ОС, а не под хранилище личных файлов и их объемы 120-250Гб. Поэтому советую выкинуть из головы эти пережитки прошлого, когда свопы, кэши дома раскидывали по дискам и парковали головки дабы увеличить скорость, а также продлить жизнь драгоценному HDD.
У 960 EVO от 100 до 400 TBW (в зависимости от объема) — этого более чем достаточно для того, чтобы не отключать своп. Не слушайте паникеров, которые пытаются контролировать запись каждого файла (как автомобиль при СССР, если уж купили, то на всю жизнь ведь, потому берегли и ездили по праздникам). Своп вообще-то не рекомендуется в windows выключать, можно сделать мин размер, да и ошибки в логах не будет. SSD нужно пользоваться по макс, радуясь производительностью и откликом.
потому и избегал SSD, что наслышан о том, что они «убиваются» и «внезапно умирают»
Если под «внезапно» вы подразумеваете «очень быстро» и «нередко без предвещающих беду признаков», то это так.

Чтобы не повторяться, посмотрите мой недавний ответ на вопрос о том, сколько ещё прослужит ССД, которому два года (он там верхний).

причем так, что данные не снять никак
Здесь может быть по-разному: есть как ССД, которые изучены и для которых есть решения, так и те, которые по всем признакам крайне сложно разобрать (соответственно, решения нет, но теоретически оно возможно, хотя и маловероятно).
Кроме того, есть SSD, например, на контроллерах SandForce, которые шифруют данные перед записью в NAND-чипы, в результате восстановление с них стоит очень дорого.

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

Смысл от него, если его не нагружать? Как раз с файлом подкачки он сильно ускоряет работу. Да и к тому моменту, как он реально уедет в 0, он уже 100 раз устореет, по крайней мере MLC моделей это касалось — несколько лет они живут, а жесткий… Вот не уверен, очень не уверен — в лучшем случае, старшие, дорогие модели. Тем более, что альтернатива с +- сравнимой скоростью это хотя бы 4-8 быстрых дисков в рейде, если о сата разговор (ну или 4 15000 в 10м рейде более-менее не просаживаются на случайных операциях, хотя отклик конечно и близко не тот). Помнится, HP p2000 g3 мучал с 6 15000ми — не шибко она была быстрее, чем тогда актуальный Intel x25-m, а по скорости сейчас даже бюджетные получше смотрятся.

Но способ, описанный вами, имеет право на жизнь, не спорю, хотя ради 1 раза я бы не заморачивался.
Помещая любого вида своп на SSD, вы автоматически подписываете ему смертный приговор. По-моему, это аксиома.

Так от помещения свопа на SSD основная выгода и идет. Можно не помещать, а положить SSD на полочку — тогда-то точно не умрет :)

Видимо, у нас с вами разные кейсы использования SSD. Если компьютеру не хватает оперативки и он лезет в своп на обычных задачах, я всегда добивал оперативки. А SSD выполняет роль быстрого хранилища данных, и не требует себя нагружать в полочку. Тем более, M.2 PCI-E в полочку особо и не понагружаешь, он будет перегреваться и снижать скорость.
Nvme ssd греются при очень длительных нагрузках, обычно дома такое случается редко, так что троттлинга я бы не боялся. На многих платах идет в комплекте радиатор, или можно отдельно с ибея заказать, а во всяких геймерских системниках столько вентиляторов, что заодно и его охлаждают. Попадают те, у кого М2 слот единственный и сразу над видюхой, которая сама греется как печка, да еще и не имеет турбины для выдува наружу. Но и тут есть решение — переходник M2-PCI-e x4.
Попадают те, у кого М2 слот единственный и сразу над видюхой


Это вот я. Ну да у меня для игр пс4 есть, соответственно, видюха бралась по принципу «дорогущие монстры нам ни к чему» — 1050Ti.

переходник M2-PCI-e x4.


А скорость на таком бутерброде не падает?
Не падает, если это нормальный адаптер, asus например. Это просто пассивное продолжение PCI-E разъема и на конце m2 разъем, главное чтобы были все 4 линии распаяны. И еще — на материнках M2 имеет и SATA и PCI-E линии, т.е. можно подключить как обычный SSD SATA AHCI в форм факторе M2, так и SSD PCI-E NVME. Переходники же имеют только PCI-E линии и обычный sata диск не будет работать.
Прикиньте стоимость виртуалки с 160GB RAM и 500GB дисков. Да, можно взять spot-instance и он обойдется в 10$, но где гарантия, что за 10-20 часов использования его не заберет тот, кто предложит на 1 цент больше?

Очень тонкая грань, знаете ли. А так — SSD на 500GB стоит 90$. Раз в год посчитать планету (или чего еще, что требует много-много памяти) — да его хватит навсегда. И он весь твой. :)
Это не аксиома, а суеверие.
Ну сломается ssd, дальше что? Сейчас отличный m2 970 pro стоит пару сотен, не говорю уже о 850 evo за меньше сотни. Важные данные нужно дублировать, можно и на соседнем hdd.

Зато получаем максимально возможную скорость работы системы. Загрузку винды за секунды, открытие ide за 3 секунды, открытие браузера за миллисекунды.

Вы наверное и процессор не перегружаете чтобы не испортить.
Измерений не проводил, но визуально на 16+ гигабайтах памяти не вижу разницы в производительности от включения/выключения системного файла подкачки. Система грузится за пару секунд, а браузер открывается, пока я отпускаю кнопку мыши.

Но как говорится, your mileage may vary.
Ну вот большой проект в phpstorm на hdd мог открываться и индексироваться минуты. На m2 ssd открытие 3-4 секунды, полная реиндексация 20-25 секунд. Но тут еще заслуга 8700k.
Речь в треде вообще изначально шла не о преимуществах SSD, а о том, класть ли системный своп на неё (принимая на себя некоторые риски повышенного износа), или отключать его вообще. У меня сейчас M2 960 Evo, своп выключен. Никаких проблем не испытываю.
Да, уже немного в другом русле пошла тема.

Своп никогда не убьет ресурс, потому что срок жизни в 90% меньше 10 лет. Особенно на современных ssd. Да, я им не пользуюсь, кстати. Но это не отменяет факта.
Нет смысла же пытаться излишне сохранить вещь которая должна просто работать. Моему 970 pro еще нет и месяца, но уверен что он как и все остальные ssd будет жить 5+ лет. В компе лежат hdd и подключаю их раз в пол года или реже, все остальное — только ssd.
НЛО прилетело и опубликовало эту надпись здесь
Помнится, out of memory словил (и это с файлом подкачки) — jpeg метров на 300 тестовый был (ну как тестовый… Скан с высоким разрешением, раз уж есть — что б не посмотреть, что как себя ведёт). Кто выкинул — не помню, свап при том был включён, 8 гиг оперативки было — всю скушало. Фотошоп при том весьма умерен был в аппетитах и весьма бодр, для сравнения.
НЛО прилетело и опубликовало эту надпись здесь
Какая альтернатива RAID 1 для SSD?
Взять с полки ЗИП, поменять зеркало принудительно через 2-3 месяца, исходный SSD положить на полку в роли ЗИП.
RAID1 для SSD + регулярные бэкапы + в ящике пару запасных дисков. В принципе такая схема и к HDD всегда относилась.
Народ, кто знает, как вообще чаще всего умирают SSD по исчерпании ресурса? В ридонли переходят или просто тихо исчезают из системы? У меня просто лежит старый убитый OSZ RevoDrive 3, на него нельзя ничего записать, но что на нём лежит — можно прочитать или стереть, и система его видит нормально. Как я понимаю, это не самая жесть.
Как повезет, если контроллер sandforce, то вас ожидает гарантированная лотерея.
Это наоборот можно считать идеальный вариант. Чаще диск просто неожиданно (если за показателями SMART не следить) умирает полностью.

Пользователи грешат на «сдохший контроллер», хотя часто это именно сдохший от износа флэш. Хотя контроллер тоже виноват частично — тем что такую ситуацию не отработал корректно.

Просто сдыхают ячейки в которых была критическая служебная информация — прошивка например или таблица адресации блоков. И диск при следующем включении окирпичивается.

На 3dnews длительный тест на выносливость SSD идет, в т.ч. с описанием как именно диск умер. Ну и я сам уже несколько умерших SSD видел — все умерли после значительного износа в момент включения после длительного(дни-недели) простоя.
P.S.

Забыл уточнить — это я про диски потребительско-офисного класса писал.
Как в этом плане серверные модели себя ведут — не в курсе.
Пользователи грешат на «сдохший контроллер», хотя часто это именно сдохший от износа флэш.

Просто сдыхают ячейки в которых была критическая служебная информация — прошивка например или таблица адресации блоков. И диск при следующем включении окирпичивается.

Именно так — невозможность загрузить служебную информацию — очень распространённая у современных ССД проблема.

При этом обойти её даже частично, например, для восстановления данных (однократного, хотя бы медленного чтения на специализированном оборудовании), как в целом сложнее, чем у жёстких дисков, так и наработок в этой области меньше.
Кирпич в каком смысле? Вообще не определяется мат платой или ФС нет? Пару случаев знаю, что диск из-за скачка в сети оказался без ФС, но видился в системе как будто свежеустановленный диск. R-studio восстановила все файлы. А бывает как у Foxline — именно кирпич, которого даже не видно в системе, а диску два месяца бытого использования, сбой в контроллере. Да, и все эти случаи были именно утром при включении машины с великолепной надписью inaccessible boot device :)
Кирпич, когда этот диск на SATA/PCIe вообще не находится, а единственное место, куда он может что-то и отвечает — отладочный USART, который ещё и не распаян
Да, кирпич — в смысле перестает определяется вообще как подключенное устройство. Ошибки файловой системы то поправить не велика проблема.

А подобный «кирпич» только если в хорошей мастерской оживить можно. Причем если не затягивать с этим, а заняться сразу — т.к. если причиной окирпичивания стал начавшийся сыпаться флэш, то чем дольше диск пребывает в нерабочем состоянии, тем сильнее деградируют еще оставшиеся на нем данные.

Пока диск работает, контроллер за этим следит и периодически «обновляет» (перезаписывает) все данные если это не происходит естественным образом (за счет активности пользователя). А вот на выключенном (или неисправном) диске этим заниматься уже некому.

Пока диск относительно новый это не проблема — в пределах гарантированного производителем ресурса данные ЕМНИП должны сохранятся в выключенном состоянии как минимум год(зависит еще от температуры хранения — чем выше, тем быстрее). Но вот чем дальше за пределы гарантированного ресурса уходит износ, тем выше становится риск данные на выключенном диске потерять.

P.S.
Со «слетевшей» ФС тоже пару раз сталкивался, но это именно из-за каких-то проблем непосредственно в процессе работы(записи). А вот «кирпичи» обычно были в ситуациях вида: диск вроде бы нормально работает (хоть уже и задрючен судя по SМART), в какой-то момент остается без работы (например в офисе — сотрудник в отпуск уехал и его комп неск. недель не включался никем), а при следующем включении — кирпич.
SMedia тут сдохла — вроде бы всё читается, всё хорошо, но контроллер виснет на какой-то ячейке и всё. Т.е. образ до 20гб считывается на ура, а дальше диск висит и не отвечает. Смарты идеальные, как будто никогда не менялись. Хотя постойте...)

У нас контроллер выдал ошибку записи, после чего линукс перемонтировал систему в R/O. После этого система работала еще 6 месяцев, пока не заменили диск :)

Oгo… Систему полгода в режиме LiveCD гонять — это уж точно не для каждого :)

Просто вовремя не заметили. Там только веб и серваки вертелись, а база была на другой машине. Поэтому все работало. Диск вроде Samsung был.

Был десктопный SSD OCZ (модель не помню), на 250 Гб, работал 3 года, жила на нем 1С маленькой кампании. И вела 1С гиговые логи. И вдруг все сломалось. При обращении к области данных, где был лог, система зависала наглухо, в том числе и Debian. То есть система загрузилась, вроде все ок, но как только происходило обращение к логу, то все рушилось и не поднималось.

Лечение было таким: загружаясь с livecd, при помощи dd, кусками копировалось все на идентичный по размеру новый SSD. Если кусок попадал на данный лог файл, то все зависало наглухо и после перезагрузки кусок уменьшался (никакие параметры а-ля «пропускать, если не читается» не прокатывали потому, что все зависало на глухо). Вот так за сутки вручную удалось почти весь диск за минусом 2-3 гб (там только сам лог 1с и был), и успешно загрузились с нового диска (+ стандартная проверка диска после этого с исправлением ошибок, система работает до сих пор и не переставлялась)
А сколько было записано и считано на этом SSD?
Смарт показали ли что касательно сбоя?

«Очень интересно было бы посмотреть, как выглядит с точки зрения операционной системы ситуация, когда ssd перестает обслуживать запись (мы сейчас ищем возможность провести умышленное издевательство над ssd, чтобы посмотреть на метрики этого сценария:)»
Дык, это уже ни раз делали. Тот же Intel даже пишет, что конкретно происходит и когда. Был даже тест износа Intel vs Samsung, что будет когда оба упрутся в предел. Intel перешёл в RO режим и стал возвращать ошибки записи как только дошёл до расчётного предела. Samsung пытался измерять износ и потом ушел далеко за обещанных предел, дальше не помню. Кто-там ещё вообще поломался, а после перезагрузки перешёл в R/O режим.
На моей памяти были помершие SSD совсем не от износа памяти а от контроллеров. Жаль в статье об этом ни слова.
Да, и это очень важный момент. Например, всем известные (а купило их много народу) бытовые Foxline на MLC (!), которые производились год-полтора назад, все имеют один и то же косяк. Умирает контроллер при достижении какого-числа циклов R/W. Какого именно хочу выяснить на еще на нескольких живых экземплярах. Диск просто перестает видится в системе, данные вытягивали только при вскрытии и замене контроллера и конечно лишившись гарантии и обмена. Такое же еще было с серверными Кингстон, модель не помню, пару лет назад знакомый попал, отказали одновременно 4 диска в массиве из 4 дисков :) Так что бэкапы (не только данных, но и образ системы) — это наше всё.
Выглядит, как ошибка в реализации алгоритма чередования секторов. Он где-то протирает диск до дыр и сам этого не замечает.
Год назад мы добавили в наш агент сбор метрик… В тот момент мы не стали добавлять их в интерфейс и показывать клиентам.

Ребят, вы, конечно, молодцы, и делаете отличный продукт, но что это за подход??? Вы добавляете недокументированную функцию в сервис, который начинает собирать дополнительные данные, а клиенты узнают об этом через год. Замечу, что сервис работает с серверной (как правило критически важной) инфраструктурой, обрабатывающей данные различных категорий.
Компании платят деньги за те возможности сервиса, которые зафиксированы в договоре. Любое отклонение — это плохо, особенно, когда новые возможности реализуются скрыто. Если этот сервис развивается для решения серьёзных задач и с прицелом в энтерпрайз, то с такими «пасхальными яйцами» могут быть внезапные сложности с законом.
А так то, конечно, статья интересная, желаю вам бурного роста и развития.

Согласен с вами, тут явная проблема в наших процессах. Мы сейчас активно над этим работаем. Спасибо за ваши пожелания!

Не совсем про износ SSD, но на днях уже 2й раз столкнулся с тем, что на относительно свежих SSD (еще не сильно изношенных, даже гарантийный ресурс далеко не выбран) данные долго лежащие без движения начинают «протухать». Появляются ошибки при чтении или же контрольные суммы в прочитанных файлах не совпадают.

Всего несколько(2-3) месяцев без перезаписи и при работе при повышенным температурах (градусов 40 или выше, что абсолютно в пределах нормы, т.к. для SSD штатный рабочий диапазон обычно до +60-70 градусов заявлен) и все: уже пошла необратимая деградация от которой даже ECC не помогают (только бекап из другого места, если он конечно был и вовремя делался).
По-идее за этим контроллер SSD должен следить и своевременно перезаписывать «залежавшиеся» (не обновляемые и не перемещаемые пользователем) данные в новые блоки. Но видимо далеко не все контроллеры с этой задачей успешно справляются.

Так что к кочующим в интернете табличкам типа потери данных на SSD всего за 1-2 недели после окончания гарантированного производителем ресурса и при хранении при повышенной температуре — например внутри работающего компьютера, но с отключенным от диска питанием, нужно относиться вполне серьезно. Очень похоже на правду.

P.S.
Сейчас положил относительно новый (меньше года назад купленный) SSD забитый архивами(чтобы контрольные суммы легко было проверить) на «теплый тест» — лежит выключенный при температуре около +40 градусов. Интересно, посмотреть через сколько времени данные на нем испортятся если нет регулярной перезаписи?
НЛО прилетело и опубликовало эту надпись здесь
Любой на SMedia, как минимум — был очень похожий инцендент, из которого можно было сделать вывод, что фоновую проверку этот контролер не делает.
Конкретно в этот раз «отличился» Silicon Power Velox V70 (модель SP240GBSS3V70S25)
на контроллере от SandForce и вроде бы вполне приличной флэш памятью — MLC, производства Тошибы кажется. Из-за MLC памяти и 5 лет гарантии и взял его на замену диска в ноутбуке (обычного HDD от Тошибы без нареканий отпахавшего больше 10 лет). А он зараза уже через полгода начал понемногу долго не обновляемые данные терять. Причем судя по сильно возросшему Write Amplification — что-то он сам там внутри себя все-таки перезаписывал, но видимо недостаточно регулярно или не все что нужно было обновлять…

Но раньше и на других SSD (от OCZ, Kingston и каком-то китайском поделии) с подобным сталкивался. Хотя по началу не понимал, что виноват в подобном сам SSD — то на ошибки ФС грешил, то на вирусы, то на бракованные SATA шнурок или контакты.

Для М.2 дисков это должно быть особо актуально — они обычно сильно греются из-за очень компактных размеров, а так же того, что разъем для подключения обычно не в прохладной дисковой корзине находится (как для SATA дисков), а где-нибудь рядом с горячими видеокартой или процессором.
А температура — самый важный фактор влияющий на скорость деградации данных во флэш-памяти.
У меня в лабе цефа специальная нода с битым диском есть (как раз мониторинг отлаживать). Я специально два дня с on-site завалы хлама перебирал (они перебирали, я капризничал в тикете), чтобы её найти.

Samsung'овая SSD, которая полностью wear out. Она поменяла серийный номер (на что-то типа «сломано») и не работает. Я не помню, «совсем», или только в ro, если напомните завтра, посмотрю и могу показать вывод.

Напомнил, интересно было бы глянуть.

Спасибо.


Её ещё не убрали из лабы, хотя собираемся. Я был не точен, она не серийник поменяла, а firmware version.
Вот как она выглядит:


=== START OF READ SMART DATA SECTION ===
[root@dmgmtsrvinit.pxe ~]# smartctl -a /dev/sdb
smartctl 5.43 2016-09-28 r4347 [x86_64-linux-2.6.32-754.3.5.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     SAMSUNG MZ7LM480HMHQ-00005
Serial Number:    S2UJNX0HA03950
LU WWN Device Id: 5 002538 c4042471e
Firmware Version: ERRORMOD
User Capacity:    1,006,260,224 bytes [1.00 GB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4c
Local Time is:    Mon Oct 15 10:03:39 2018 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Error SMART Values Read failed: scsi error aborted command
Smartctl: SMART Read Values failed.

=== START OF READ SMART DATA SECTION ===
Error SMART Status command failed
Please get assistance from http://smartmontools.sourceforge.net/
Register values returned from SMART Status command are:
 ERR=0x00, SC=0x00, LL=0x00, LM=0x00, LH=0x00, DEV=0x00, STS=0x50
SMART overall-health self-assessment test result: UNKNOWN!
SMART Status, Attributes and Thresholds cannot be read.

Read SMART Log Directory failed.

Error SMART Error Log Read failed: scsi error aborted command
Smartctl: SMART Error Log Read Failed
Error SMART Error Self-Test Log Read failed: scsi error aborted command
Smartctl: SMART Self Test Log Read Failed
Device does not support Selective Self Tests/Logging

При этом: smartctl --health /dev/sdb — exit-code 4.


Всё остальное при этом не доступно. IO на устройство — чтение ок (там нули, но я не знаю, это баг, или там нули были после вайпа).


В dmesg при записи идут ошибки do not ready.


ata2: failed to read log page 10h (errno=-5)
ata2.00: exception Emask 0x1 SAct 0x100000 SErr 0x0 action 0x0
ata2.00: irq_stat 0x40000008
ata2.00: failed command: WRITE FPDMA QUEUED
ata2.00: cmd 61/01:a0:00:00:00/00:00:00:00:00/40 tag 20 ncq 512 out
         res 40/00:a0:00:00:00/00:00:00:00:00/40 Emask 0x1 (device error)
ata2.00: status: { DRDY }
ata2.00: both IDENTIFYs aborted, assuming NODEV
ata2.00: revalidation failed (errno=-2)
ata2: hard resetting link

В dd транслируется как "writing to `/dev/sdb': Input/output error"

А с объемом что случилось? Почему-то в отчете всего 1 ГБ.
User Capacity: 1,006,260,224 bytes [1.00 GB]

Спасибо!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий