Накопители Samsung стали причиной потери данных на Linux-серверах

Техника
мобильная версия
, Текст: Сергей Попсулин
Ошибка в работе контроллеров SSD-накопителей Samsung привела к потере данных в дата-центре калифорнийской компании Algolia. Как выяснилось, устройства неправильно обрабатывали данные команды TRIM, служащей для нормальной работы флэш-памяти.

Калифорнийская компания Algolia обнаружила проблему в SSD-накопителях Samsung, приводящую к потере данных при использовании накопителей с файловой системой ext4 в OS Linux. Компания рассказала об этом в своем блоге.

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

Вскоре проблема приобрела критический масштаб, рассказали в Algolia. Значительная часть последующих двух недель была потрачена на изолирование и восстановление серверов, на которых происходили сбои.

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

Как выяснилось, виновной в замещении актуальных данных на нули оказалась команда TRIM, которая позволяет операционной системе уведомить SSD-накопитель о том, какие блоки уже не содержат информации и их можно считать пустыми. В случае же с проблемой в дата-центре Algolia, эта команда заставляла SSD-накопители помещать нули в пустые блоки. Хотя эти блоки не были пустыми. Вследствие чего происходила потеря информации.


Ошибка в SSD-накопителях Samsung привела к потере данных в дата-центре

Как пояснили в Algolia, контроллеры SSD-накопителей Samsung неверно трактовали поручение команды TRIM и стирали блоки, которые в действительности трогать были не должны.

Бракованными оказались следующие модели накопителей — Samsung SM843TN, PM853T, модели серии Samsung SSD 840 Pro и модель серии Samsung SSD 850 Pro емкостью 512 ГБ. Компания Samsung была уведомлена о наличии проблемы. Она помогала Algolia выяснить причину потери данных.

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