LINUX.ORG.RU

Trim не работает? O-o

 , ,


1

2

ssd ocz vertex4

suse 12.2

linux-3.4.3

Использовал вот этот замечательный трим-тест, который выдал такое:

# ./test_trim.sh test1 6 /dev/sdc
1+0 записей считано
1+0 записей написано
 скопировано 6291456 байт (6,3 MB), 0,714876 c, 8,8 MB/c

test1:
 filesystem blocksize 4096, begins at LBA 110639104; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  110958592  110966783       8192
     4194304  111040512  111044607       4096

/dev/sdc:
reading sector 111040512: succeeded
ffff ffff ffff ffff ffff ffff ffff ffff
...

потом такое:

This is a sector of the file. It should have been successfully read
and show a bunch of random data.

Press any key to continue... 
File deleted. Sleeping for 120 seconds before re-reading the sector.
If TRIM is working, you should see all 0s now.

/dev/sdc:
reading sector 111040512: succeeded
ffff ffff ffff ffff ffff ffff ffff ffff
...
If the sector isn't filled with 0s, something is wrong with your
configuration. Try googling for "TRIM SSD Linux".
Означает ли это, что трим не пашет или же в данном случае f-тот же ноль и это какая-то особенность железа/чего-то ещё? Журналирование writeback

★★★★★

Ответ на: комментарий от isn

Нифига. У меня без райтбека на том же железе тот же результат. Есть мнение что так просто контроллер работает

anonymous
()
Ответ на: комментарий от anonymous

С ordered trim работает, с writeback нет. ssd Crucial M4

isn ★★
()

значает ли это, что трим не пашет или же в данном случае f-тот же ноль и это какая-то особенность железа/чего-то ещё?

Это особенность железа. Запустите smartctl -a /dev/sdc и получите ещё больше шока без СМС...

ArtSh ★★★
()
Ответ на: комментарий от ArtSh
1 Raw_Read_Error_Rate     0x0000   006   000   000    Old_age   Offline      -       6

5 Reallocated_Sector_Ct   0x0000   100   100   000    Old_age   Offline      -       1

Стоит возвращать в магазин?

Pyzia ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Спасибо, всё как я и подозревал.

Pyzia ★★★★★
() автор топика
Ответ на: комментарий от Pyzia

Для начала надо быть уверенным, что smart интерпретирует информацию верно для твоего девайса. update-smart-drivedb сделай для начала

vasily_pupkin ★★★★★
()
Ответ на: комментарий от Pyzia

там есть другой параметр, и когда он будет приближаться к 43 тогда, если гарантия легитимна, можно собственно и сдавать по гарантии.
сам владелец м4/128.
и за 19тб данных у меня только 3 из 43

etwrq ★★★★★
()
Ответ на: комментарий от etwrq

На wd 250 который отпахивает 6-й год и 40000 часов оба эти параметра по нулям. Или это тоже особенность железа?

Pyzia ★★★★★
() автор топика
Ответ на: комментарий от Pyzia

очевидно же, я не про эти два параметра говорил

etwrq ★★★★★
()
Ответ на: комментарий от Pyzia

Это значит, что данное устройство сообщает только общее положение дел (сдох, или нет) и не хранит никакой информации о произошедших ранее ошибках.

ArtSh ★★★
()
Ответ на: комментарий от Radius

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

Pyzia ★★★★★
() автор топика
Ответ на: комментарий от ArtSh

Заказал, завтра уже должен прийти. Мне у диска больше всего гарантия понравилась - 5 лет.

По поводу трим у меня такая мыль: если основной практический эффект от команды трим - это восстановление скорости записи до номинального значения, то не проще ли делать вывод о поддержке ОС этой команды на основании измерений скорости записи?

Radius ★★★★
()
Ответ на: комментарий от ArtSh

Не подскажете, как включить журнал? После хитрых манипуляций, я пришел к выводу, что трим всё-таки не работает. ФС форматировалась с галочкой no journal. Это можно исправить или только переформатировать? В логах:

kernel: [   15.136644] EXT4-fs (sdc2): Remounting file system with no journal so ignoring journalled data option

Pyzia ★★★★★
() автор топика
Ответ на: комментарий от Pyzia

Ничего переформатировать точно не надо. Включается кажется просто

tune2fs -j /dev/sda1

за подробностями в ман.

Radius ★★★★
()

В общем не знаю, может кому интересно, тот трим-тест у меня гнал фуфло, ведь он показывал нули и до и после теста, а такого быть не должно. Реальное положение дел выявляет проверка вручную по этой инструкции. При writeback трим отлично работает. Главное-прописать discard в fstab. ФС ессно ext4, при разбивке дисков в suse я постанил галочку «без журнала», она указывается при форматировании. После установки этой галочки журнал по факту включить никакими способами не удавалось, пришлось переформатировать без этой проклятой галочки.

Pyzia ★★★★★
() автор топика
21 августа 2013 г.
Ответ на: комментарий от Pyzia

А у меня ошибка такая же как у тов. lystor когда-то была и на неё так никто и не ответил.

В fstab у меня discard, в mount:

/dev/sda1 on / type ext4 (rw,noatime,nodiratime,discard,errors=remount-ro,data=ordered)

а тест на трим так и не выдаёт нулей. Почему?

soko1 ★★★★★
()
Последнее исправление: soko1 (всего исправлений: 1)

Означает ли это, что трим не пашет или же в данном случае f-тот же ноль и это какая-то особенность железа/чего-то ещё?

ff вместо 00 == конструктивная особенность.

emulek
()
Ответ на: комментарий от ArtSh

если у тебя ssd, то попробуй создай каталог с миллионами файлов, а потом этот каталог удали.

ЗЫЖ если у тебя после таких опытов сдохнет SSD — я не виноват. Тебя предупредили.

emulek
()
Ответ на: комментарий от soko1

а тест на трим так и не выдаёт нулей. Почему?

1. TRIM работат не мгновенно, а довольно долго и в фоне (незаметно для тебя)

2. единицы — тоже хорошо. Выбор 0 и 1, это условность.

emulek
()
Ответ на: комментарий от emulek

А объясни пожалуйста почему так? Ведь даже если забить ссд под завязку без трима - все ячейки пройдут всего один цикл записи. Или я ошибаюсь?

soko1 ★★★★★
()
Ответ на: комментарий от Radius

тоже собираюсь такой купить... или не стоит?

Хорошая железка.

tazhate ★★★★★
()
Ответ на: комментарий от emulek

1. Ах вот оно что. Интересно только почему про это не пишут те, кто «придумывает» тесты.
2. Не, у меня вообще не меняются показатели. Хотя если должно пройти какое-то время, то ничего удивительного

soko1 ★★★★★
()
Ответ на: комментарий от ArtSh

влезу заодно с вопросом:

Warning! SMART ATA Error Log Structure error: invalid SMART checksum.
SMART Error Log Version: 1
No Errors Logged
что это за чексумма и чем чреват такой выхлоп?

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от emulek

Кстати, дисковой контроллер в биосе должен быть ACHI же?

soko1 ★★★★★
()
Ответ на: комментарий от soko1

у меня он не работает, но smartmontools свежий - 6.2.

диск ocz vector

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от emulek

Как-то странно. Прошло уже более полу часа, я даже 'fstrim -v /' сделал и успел ребутнуться - данные по этому адресу остались прежними. Может всё же не работает?

soko1 ★★★★★
()
Ответ на: комментарий от soko1

А объясни пожалуйста почему так?

потому-что каталог в 1М файлов занимает несколько М байт, и переписывается для КАЖДОГО удалённого файла.

ии да, писать можно кусками в 4К, а вот стирать только большими (например 64К). Потому получается так, что куски свободные есть в 4К, но использовать их нельзя, ибо в 64К остравах есть нужнные данные.

emulek
()
Ответ на: комментарий от soko1

в smartctl написано, поддерживает ssd или нет.

материнка тоже должна поддерживать

ОС+ФС тоже. Определённо могу сказать только пр посл. пункт: ext4 умеет, если discard журналирование по дефолту. Про остальное просто не в курсе.

emulek
()
Ответ на: комментарий от emulek

Может всё же в hdparm?

[root@thinkpad soko1]# hdparm -I /dev/sda | grep -i TRIM
           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read data after TRIM

Если в smartctl то не нашёл такого.

Я как-то не догоняю, зачем столько гемора: материнка, ОС, ФС, контроллер SSD. Неужели сложно было переложить эту функцию на что-то одно? А то если что-то из перечисленного не поддерживает, или не настроено - всё напрасно. Ладно если бы этот TRIM был чем-то оверсложным, а так ничего особенного ведь, почему столько условий ему необходимо - не понятно.

soko1 ★★★★★
()
Последнее исправление: soko1 (всего исправлений: 1)

У кого из вас ещё M4? Может кто нибудь выполнить этот тест и сказать какие результаты? А то у меня такое чувство, что эта инфа просто устарела, или может конкретно эта SSD по какому-то другому принципу работает. Потому что других объяснений я не нахожу.

soko1 ★★★★★
()
Последнее исправление: soko1 (всего исправлений: 1)

Если вдруг кому интересно. В общем, перепробовал все возможные способы - нет нулей и всё тут. При чём даже после перезагрузки не было. Не поленился рсинкнул все данные навинт, ребутнулся в лайфсд арча, пересоздал ФС сразу с опцией -E discard, рсинкнул данные с винта, ребутнулся в свежескопированную ОСь...теперь эта штука работает. НО! Работает либо после ручного `fstrim -v /`, либо после перезагрузки (но не всегда), что считаю вполне приемлемым.

soko1 ★★★★★
()
Последнее исправление: soko1 (всего исправлений: 1)
Ответ на: комментарий от soko1

В общем, перепробовал все возможные способы - нет нулей и всё тут.

У Vertex4 их и не будет. Можете проверить hdparm --trim-sector-ranges [ADDRESS]:1 /dev/sdX и потом прочитать этот сектор. А вот Crucial M4 выдаёт нули, как и ожидается.

ArtSh ★★★
()
Ответ на: комментарий от soko1

теперь эта штука работает. НО! Работает либо после ручного `fstrim -v /`, либо после перезагрузки (но не всегда), что считаю вполне приемлемым.

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

Возможно, что этот момент наступит очень не скоро, ведь на острове могут все страницы стать грязными, и его можно будет свободно чистить, т.к. эвакуировать нечего.

Потому, остров с одной грязной страницей может висеть вечно.

emulek
()
Ответ на: комментарий от emulek

Вот оно что. То есть это своего рода «фишка»? Просто меня удивляет почему у людей с тем же чипом и прошивкой (возможно, сейчас проверим у ArtSh какая у него) и по всей видимости с таким же ядром дело обстоит иначе. Ведь по идее одна и та же модель должна вести себя одинаково, верно?

soko1 ★★★★★
()
Ответ на: комментарий от soko1

поэтому в тесте записывается 50Мб. Если у Вас на Crucial не нули - Вы где-то ошиблись. Если на Vertex Вы видите FFFF в тесте, то это нормально.

ArtSh ★★★
()
Ответ на: комментарий от ArtSh

поэтому в тесте записывается 50Мб

Не понял вашего умозаключения. Почему «поэтому»?

Crucial - 010G

Так у вас прошивка какая-то совсем старая. Проверьте вот тут: http://www.crucial.com/support/firmware.aspx (там есть образ для обновления фирмвари с usb-флешки)

soko1 ★★★★★
()
Последнее исправление: soko1 (всего исправлений: 1)
Ответ на: комментарий от soko1

То есть это своего рода «фишка»?

такая фишка _возможна_. Я не знаю, реализовано это или нет. Судя по поведению ssd — ИМХО реализовано, но гарантировать я конечно ничего не могу. Кода я не видел.

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.