Проблема с SSD-накопителями Samsung оказалась в ядре Linux
Потеря данных наблюдалась при использовании SATA SSD-накопителей в составе программных RAID 0 и RAID 10 и проявлялась при выполнении команд trim/discard. Конфигурации с RAID 1 проблеме не подвержены. Проблема была вызвана некорректным построением взаимодействия драйвера md raid с драйвером scsi/ata. MD RAID при обработке последовательных операций чтения и записи на разных накопителях создаёт отдельные буферы для каждой операции, в то время как при выполнении TRIM в scsi/ata используется один общий буфер.
В теории такой метод работает, но на практике при определённом стечении обстоятельств возникает состояние гонки - когда в очереди в определённом порядке появляется несколько команд TRIM, после выполнения последней команды в очереди общий буфер очищается, в то время как предыдущая команда может ещё не успеть завершить своё выполнение, что приведёт к записи на накопитель блока нулевых данных.
Источник: http://www.opennet.ru/opennews/art.shtml?num=42698
|
0 | Tweet | Нравится |
|