Содержание статьи
В домашних сетевых накопителях возможность создать кеш на быстром SSD была всегда, но требовала установки твердотельного накопителя в один из доступных слотов для дисков. Из‑за этого особой популярностью она не пользовалась. Ситуация начала меняться три года назад с выходом Synology DS918+. В этой модели два выделенных разъема для компактных и быстрых SSD, выполненных в форм‑факторе M.2. В актуальной линейке Synology для домашних пользователей и энтузиастов (DS720+, DS420+ и DS920+) также есть слоты для кеша NVME. С учетом достаточно низкой стоимости современных NVME SSD трудно не уступить соблазну заполнить два пустующих слота.
Потенциальные проблемы
В большинстве статей раздел о потенциальных проблемах может располагаться ближе к концу текста, если вообще присутствует, но здесь явно не тот случай. Технология кеширования с использованием NVME — палка о двух концах, способная приводить к внезапным перезагрузкам устройства, неожиданной потере записываемых данных, деградации всего тома с последующим длительным (и неочевидным) восстановлением и исключительно быстрому, не оправданному записываемыми объемами данных исчерпанию ресурса перезаписи ячеек кеширующих SSD. При этом большинства проблем можно избежать, правильно выбрав накопители и правильно настроив кеш. К сожалению, большинство описанных ниже моментов не нашли отражения в документации Synology, из‑за чего пользователи снова и снова наступают на одни и те же грабли.
Спонтанные перезагрузки с потерей данных
При интенсивном использовании кеша в режиме r/w (для этого тебе придется создать зеркальный массив из двух NVME-накопителей) некоторые пользователи отмечали неожиданные перезагрузки устройства, приводившие к потере только что записанных данных (возникновение так называемой write hole). К примеру, пользователь DS918+ настроил пару не самых дешевых дисков Samsung 970 Evo в качестве кеша, но от потери данных его это не спасло. Аналогичную проблему обсуждают в соседней ветке. С чем это связано?
Дело здесь в том, что в некоторых моделях NVME-накопителей, основанных на технологиях TLC и QLC, после исчерпания объема SLC-кеша могут возникать задержки обработки команд записи. Вот готовый рецепт. Возьми пару самых дешевых NVME SSD самого маленького объема. Включи кеш на чтение‑запись и не забудь активировать режим сквозного кеширования последовательных операций. Отведи на кеш весь доступный объем накопителей — и начинай запись.
Все современные SSD кешируют операции записи. Записываемые данные сперва попадают в область псевдо-SLC, запись в которую происходит очень быстро. Накопитель будет уплотнять данные, перезаписывая их в TLC/QLC-ячейки в режиме простоя.
Поток данных не прекращается. Через короткое время SLC-буфер переполняется, и контроллеру SSD приходится одновременно принимать новые данные и уплотнять уже записанные. Свободные блоки быстро заканчиваются, и к операции уплотнения добавляется операция очистки ранее записанных блоков — а она в таких накопителях очень медленная. Через короткое время контроллер захлебывается, и очередная попытка записи приводит к тайм‑ауту.
Напомню, диски NVME подключаются не через контроллер SATA, который способен самостоятельно обработать ошибку, а напрямую к шине PCIe. Пользователи модели DS918+ отмечали, что возникновение тайм‑аута при записи приводило к спонтанной перезагрузке устройства с последующей деградацией как кеша, так и всего тома (кеш r/w становится его неотъемлемой частью).
Подобные ошибки отмечали пользователи разных моделей Kingston и ADATA с контроллерами SMI. Отдельные пользователи жалуются на периодические ошибки тайм‑аута с накопителями WD Black; в то же время диски Samsung 970 Evo в возникновении этой ошибки не замечены (впрочем, как и любые другие диски, эти модели также подвержены преждевременному износу).
Справедливости ради — я не слышал о возникновении подобных ошибок в устройствах поколения 2020 года.
Преждевременное исчерпание ресурса SSD
Пользователь DS918+ и пары Samsung 960 Evo 256GB отмечает преждевременное исчерпание ресурса SSD. На SSD записано всего 30 Тбайт данных, что даже отдаленно не приближается к заявленному производителем ресурсу. Брак? Возможно, но маловероятно: случай не единичный.
В этом и подобных случаях проблема в факторе коэффициента усиления записи (write amplification), а точнее — несовпадение оптимального для SSD сценария работы с фактическим.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»