The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Не работает TRIM на SSD с ext 4 c выключенным журналом"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Драйверы, оборудование / Linux)
Изначальное сообщение [ Отслеживать ]

"Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 28-Апр-13, 19:58 
Делал следующее:

tune2fs -O ^has_journal /dev/sda1

В /etc/fstab :

UUID=e16fe214-ee19-49c0-8e5a-041e67eed0de /               ext4    noatime,nodiratime,discard,errors=remount-ro,commit=60 0       1

Затем проверяю:

1. dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct //запись 5Мб рандомных данных

2. hdparm --fibmap tempfile //Ищем любой стартовый LBA адрес у файла

3. hdparm --read-sector [ADDRESS] /dev/sda //Читаем данные со стартового LBA адреса файла, замените [ADDRESS] на свой Starting LBA address из вывода предыдущей команды

4. rm tempfile //Теперь удалим временный файл и синхронизируем ФС:
5. sync

Повторяем пункт 3 — и смотрим на вывод консоли.

Получаю стабильно НЕ нули!!! Что я делаю не так и как мне таки включить TRIM?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 28-Апр-13, 23:57 
могут быть и не нули а единицы (ffff)
бывает еще что "обнуление" происходит не сразу, а позже.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 29-Апр-13, 08:31 
> могут быть и не нули а единицы (ffff)
> бывает еще что "обнуление" происходит не сразу, а позже.

Нет там не ffff, а совершенно произвольные данные, ждал 20 минут, ничего не изменилось.

ЗЫ О проблеме в гугле находится куча результатов, что она есть, но не одного решения ((

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от pavlinux (ok) on 29-Апр-13, 10:37 
>> могут быть и не нули а единицы (ffff)
>> бывает еще что "обнуление" происходит не сразу, а позже.
> Нет там не ffff, а совершенно произвольные данные, ждал 20 минут, ничего
> не изменилось.

Не должно там быть ни нулей, ни единиц.  
---


$ shred -uz tempfile
$ hdparm --read-sector  6700559 /dev/sda

/dev/sda:
reading sector 6700559: succeeded
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000


---
> ЗЫ О проблеме в гугле находится куча результатов, что она есть, но не одного решения ((

Проблему создали идиоты, не понимающие принципов работы файловых систем.


Решение: alias rmz=`shred -uz`;  

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 29-Апр-13, 15:32 
у меня при включенном discard на ext4, после удаления файла вот что получается:

hdparm --read-sector 251971584 /dev/sda

/dev/sda:
reading sector 251971584: succeeded
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff

Диск OCZ Vertex 4

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 29-Апр-13, 20:40 
> у меня при включенном discard на ext4, после удаления файла вот что
> получается:
> hdparm --read-sector 251971584 /dev/sda
> /dev/sda:
> reading sector 251971584: succeeded
> ffff ffff ffff ffff ffff ffff ffff ffff

...

> Диск OCZ Vertex 4

А у вас журналирование включено?

У меня так:

До удаления:

9d13 fcda 3db8 55e5 a8cf aaa0 a45d 194f
a26a e53f 6086 e8a0 b81e 114e e014 5d6d
6067 12f7 7a4c 1836 c070 d320 90db bfff
4b77 f9ca 6475 8600 05da b44f a932 b807
b5d0 61e7 a215 9621 4046 7bdf b395 c685
b275 68fe 324a 07e6 c560 a3ed 9ce2 fd06
033e 991b a62a a0a5 5951 71ae b094 7d56
a6da 25ef 5e41 2bf9 6a4f 7f2b 3240 381e
12c3 4f24 ca51 f9e8 b53a bbd1 d487 38b8
23bc 42e6 de9e 73ae 4eff f522 0790 81a7
0fde ef69 2d2e c592 283e 9d26 9470 07a7
0b36 5ef1 924c 9151 7eb1 778a e1bc 2411
4246 f95a d287 83fb e231 e19d 66e6 b57c
42d5 d1fa 6480 a69d 6635 afee 405f 6a13
a8b5 4de1 eff8 2086 4f1f 8dc5 6033 453e
b860 56fa 326e 021f e1c8 e4e3 0d49 d3b6
a683 f786 45d2 5356 b2d1 5bfc 6e46 7814
6909 3ae6 f7d2 ccbd cd28 eeda eba4 3aef
1680 dd36 34f2 96b3 c5e1 e3a9 63ea cb45
a233 9bb0 f044 b494 767b b208 0a3b 0cd5
e30a 6414 bf12 871d e7e0 2fd0 9be6 2e8d
8f3c f6b3 078e 70bc 58cd 364f e188 1b1a
1c1e 675f bcf1 db14 d185 852a 9c28 5bb9
777b 4075 8af6 db40 74e4 c334 bda2 f013
2989 5177 39f1 3d49 c53d 7e44 52fe 1933
4fc8 cbef 6339 ff79 bcc3 4755 3f4a 1453
9469 8029 f5f4 c2b8 7ca9 00af baea 72f6
0b6a 61e3 5225 9154 f042 4020 50f2 36f2
36eb 31a8 1197 2b60 6009 3774 c7bd b0e1
45bf e922 42e5 9696 4439 ea14 3902 586b
9097 6552 b653 1b46 9552 baf3 267f ab90
f466 0863 db00 1832 b2ea ef3c ae67 5a02

Спустя 2 минуты поле удаления:

9d13 fcda 3db8 55e5 a8cf aaa0 a45d 194f
a26a e53f 6086 e8a0 b81e 114e e014 5d6d
6067 12f7 7a4c 1836 c070 d320 90db bfff
4b77 f9ca 6475 8600 05da b44f a932 b807
b5d0 61e7 a215 9621 4046 7bdf b395 c685
b275 68fe 324a 07e6 c560 a3ed 9ce2 fd06
033e 991b a62a a0a5 5951 71ae b094 7d56
a6da 25ef 5e41 2bf9 6a4f 7f2b 3240 381e
12c3 4f24 ca51 f9e8 b53a bbd1 d487 38b8
23bc 42e6 de9e 73ae 4eff f522 0790 81a7
0fde ef69 2d2e c592 283e 9d26 9470 07a7
0b36 5ef1 924c 9151 7eb1 778a e1bc 2411
4246 f95a d287 83fb e231 e19d 66e6 b57c
42d5 d1fa 6480 a69d 6635 afee 405f 6a13
a8b5 4de1 eff8 2086 4f1f 8dc5 6033 453e
b860 56fa 326e 021f e1c8 e4e3 0d49 d3b6
a683 f786 45d2 5356 b2d1 5bfc 6e46 7814
6909 3ae6 f7d2 ccbd cd28 eeda eba4 3aef
1680 dd36 34f2 96b3 c5e1 e3a9 63ea cb45
a233 9bb0 f044 b494 767b b208 0a3b 0cd5
e30a 6414 bf12 871d e7e0 2fd0 9be6 2e8d
8f3c f6b3 078e 70bc 58cd 364f e188 1b1a
1c1e 675f bcf1 db14 d185 852a 9c28 5bb9
777b 4075 8af6 db40 74e4 c334 bda2 f013
2989 5177 39f1 3d49 c53d 7e44 52fe 1933
4fc8 cbef 6339 ff79 bcc3 4755 3f4a 1453
9469 8029 f5f4 c2b8 7ca9 00af baea 72f6
0b6a 61e3 5225 9154 f042 4020 50f2 36f2
36eb 31a8 1197 2b60 6009 3774 c7bd b0e1
45bf e922 42e5 9696 4439 ea14 3902 586b
9097 6552 b653 1b46 9552 baf3 267f ab90
f466 0863 db00 1832 b2ea ef3c ae67 5a02

И хз почему ...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 30-Апр-13, 00:01 
включено
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 30-Апр-13, 01:03 
> включено

Попробую тоже включить может спасет таки, только вот говорят с ним SSD быстро умирает (

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 30-Апр-13, 09:37 
не забивай никогда полностью ssd-диск, процентов 15-20 оставляй всегда свободными


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 30-Апр-13, 13:04 
> не забивай никогда полностью ssd-диск, процентов 15-20 оставляй всегда свободными

свободными всмысле просто свободными или именно неразмеченными?

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

16. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 30-Апр-13, 14:25 
я думаю можно и просто свободными, может подключить диск к работающей системе и сделать трим на весь диск, а потом разбить его как весь, но часть так и не использовать, теже 15-20 %


Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

17. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 30-Апр-13, 14:29 
хотя про эту опцию (--trim-sector-ranges) для hdparm написано -- EXCEPTIONALLY DANGEROUS. DO NOT USE THIS OPTION!!
Так что если диск не был забит полностью, то может и не стоит городить огород и просто не использовать часть диска.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

15. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 30-Апр-13, 13:31 
Включил журнал, трим заработал ... Хм ...

Но как-то смущает меня включенное журналирование на SSD ...

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от pavlinux (ok) on 30-Апр-13, 02:41 
> у меня при включенном discard на ext4, после удаления файла вот что
> получается:

Ну чо, поздравляю - у вас тормозная система!

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 29-Апр-13, 20:33 
> $ shred -uz tempfile

Я не могу удалять файлы на SSD исключительно этой командой, надо чтобы TRIM работал на все операции.

> Проблему создали идиоты, не понимающие принципов работы файловых систем.

иду особенностей методов удаления, обычно применяемых в файловых системах, накопители «не знают», какие сектора/страницы действительно используются, а какие могут считаться незанятыми. Операции удаления обычно ограничиваются пометкой блоков данных как «неиспользуемых» в файловой системе. В отличие от, например, операции перезаписи, удаление не приведёт к физической записи в затрагиваемые сектора, содержащие данные. Поскольку накопитель не имеет доступа к структурам файловой системы — таким как список неиспользуемых кластеров — накопитель остаётся в неведении об освобождении блоков. Хотя это часто позволяло восстановить удалённые данные на традиционных HDD, несмотря на то, что они были отмечены как «удалённые» операционной системой, так же это означало, что когда позже операционная система произведёт операцию записи в один из секторов, считающихся свободным местом, эта операция будет считаться операцией перезаписи с точки зрения накопителя. Для традиционных жёстких дисков эта операция никак не отличается от записи в незанятый сектор, но из-за того, как на низком уровне функционируют SSD, перезапись данных существенно отличается от записи в незанятый сектор, потенциально ухудшая производительность дальнейших операций записи.
SSD хранят данные в ячейках флеш-памяти, сгруппированных (в MLC SSD) в «страницы» (обычно по 4 Кбайт каждая), которые, в свою очередь, сгруппированы в блоки (обычно 128 страниц или 512 Кбайт суммарно) Ячейки NAND-флеш-памяти могут быть непосредственно записаны лишь в том случае, когда они чисты. В случае, когда они хранят данные, содержимое ячеек должно быть очищено, прежде чем в них будут записаны новые данные. В SSD накопителях операция записи может быть проделана только для страниц, однако из-за аппаратных ограничений команда удаления всегда выполняется на весь блок. В результате, запись на SSD-носитель выполняется очень быстро до тех пор, пока существуют чистые страницы, но значительно замедляется, если необходимо очищать предварительно записанные страницы. Так как очистка ячеек в странице необходима перед тем, как в них можно будет записывать снова, но только целый блок может быть очищен, процесс перезаписи инициирует цикл чтение-очистка-модификация-запись: содержимое целого блока должно быть сохранено в кеше перед тем, как оно может быть удалено с накопителя, перезаписываемые данные модифицируются в кеше и только после этого целый блок (с обновленной страницей) записывается на накопитель. Это явление известно как усиление записи (англ.).
В своих SSD-контроллерах производители используют различные техники для оптимального распределения операций записи по всему флеш-накопителю. Это делается не только для того, чтобы оптимизировать скорость путем минимизации усиления записи, но также для увеличения продолжительности жизни флеш-ячеек, так как обычные MLC-флеш-ячейки выдерживают 3000-5000 циклов записи. Другой подход заключается в том, чтобы использовать лишнюю память, не задекларированную операционной системе, для предоставления чистых страниц для операций записи как можно дольше перед тем, как начать перезаписывать другие страницы.
Эффективность этих методов по большей части зависит от обмена информацией между ОС и контроллером SSD о том, какие страницы могут считаться занятыми, а какие — свободными. Традиционно большинство ОС не информируют накопители об удаленных секторах/страницах, что препятствует контроллерам SSD оптимально распределять свободное пространство. Команда TRIM была введена чтобы исправить это, очищая неиспользуемые ячейки до того, как в них будет произведена запись, таким образом уменьшая время доступа.

discard/nodiscard
Controls whether ext4 should issue discard/TRIM commands to the underlying block device when blocks are freed. This is useful for SSD devices and sparse/thinly-provisioned LUNs, but it is off by default until sufficient testing has been done.

Что в этом понимании неправильного?

> Решение: alias rmz=`shred -uz`;

см. выше надо чтобы любое удаление вызывало трим, а не только когда удаляем через shred. так можно просто fstrim руками запускать

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от pavlinux (ok) on 30-Апр-13, 02:37 
> Что в этом понимании неправильного?

Где хоть одно слово про обнуление / 0xff_ение ?  
Есть слово "очистка", только с чего вы взяли, что это обнуление?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от aurved on 30-Апр-13, 09:36 
ну вроде бы как я читал, хотя и не слишком углублялся в этот вопрос, именно что должно происходить обнуление или записывание единичек ( так сказать /0xff_ение) и именно контролер это делает по команде discard для более высокой готовности для записи в эти освобожденные блоки.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Не работает TRIM на SSD с ext 4 c выключенным журналом"  +/
Сообщение от Adblog (ok) on 30-Апр-13, 13:29 
> Где хоть одно слово про обнуление / 0xff_ение ?
> Есть слово "очистка", только с чего вы взяли, что это обнуление?

А что тогда подразумевается под "обнулением"?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру