LINUX.ORG.RU

не работает TRIM на OCZ Vector (ext4, discard)

 , , , ,


1

2

Что имеем:

  • OS: Debian 7.3 amd64
  • CPU: AMD Phenom(tm) 9950 Quad-Core Processor
  • SSD: OCZ Vector 128Gb (Firmware Revision: 2.0)

SSD разбит на два раздела:

  • /boot ext2 (noatime,nodiratime)
  • / ext4 (noatime,nodiratime,discard,data=ordered,commit=120,errors=remount-ro)

swap, /var/log/, /tmp/ вынесены на HDD.

sysctl:

vm.swappiness=10
vm.dirty_expire_centisecs = 6000
vm.dirty_ratio = 80
vm.dirty_writeback_centisecs = 6000
vm.dirty_background_ratio = 20

I/O Scheduler для SSD = noop:

$ cat /sys/block/sda/queue/scheduler
[noop] deadline cfq
$ cat /sys/block/sdb/queue/scheduler
noop deadline [cfq]

не знаю, что такое discard_zeroes_data, но он = 0

$ cat /sys/block/sda/queue/discard_zeroes_data
0

hdparm:

$ hdparm -I /dev/sda | grep TRIM
Data Set Management TRIM supported (limit unknown)

Тест не проходит, сектор после sync остаётся таким же, а должен забиться 00 или ff.

Почему тест не проходит и почему limit unknown? ЧЯДНТ?

★★★

Дай угадаю: ты отключил журнал?

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

Либо ядро очень древнее, TRIM не так давно запилили в ext4 (по дебиановским меркам)

xorik ★★★★★ ()

swap, /var/log/, /tmp/ вынесены на HDD.

Зачем? У тебя контролер SSD навернется намного быстрее износа ячеек. OCZ и так рекордсмены по ненадежности, а твоя модель тем более.

ps: бывший владелец vertex 4, который начал глючить через полгода.

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

На HDD должны быть только фильмы, музыка, iso и подобные файлы. SSD нужно или использовать, или не покупать. Кстати, noatime включает в себя nodiratime, достаточно noatime.

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

С какого лешого он быстрее умрет? Наоборот я уменьшил запись на SSD. Как это на контроллер то влияет?

qbbr ★★★ ()

Может быть все работает, судя по вики http://en.wikipedia.org/wiki/Trim_(computing) совсем не обязательно чтобы пустые ячейки после трима возвращали нули.

...
Deterministic Trim (DRAT): all read commands to the LBA after a Trim shall return the same data, or become determinate. (SATA Word 69 bit 14)
...

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

Вот именно, что может, хотелось бы быть уверенным на 100%.

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

Ocz умирают просто так, независимо от нагрузки.

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

В крайнем случае можно делать что-то вроде:

ionice -c 3 fstrim -v /
по крону.

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

В какую переодичность? fstrim -v / вроде работает, выплевывает колво байтов.

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

А что не так с ними? Производитель 5 лет гарантии дает.

Следует ли прошивку обновить или сдохнет?

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

Зависит от интенсивности записи и количества свободного места, грубо говоря [свободное место]/[сколько пишем в день] = [интервал меду тримами], так что раза в день должно быть вполне достаточно.

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

Просто ты занимаешься ерундой, и переживаешь за то, что не сломается. У меня тоже 5 лет гарантии, вот надо собраться и отнести этот кусок гомна. Этак сколько у меня писалось на него - хватило бы на 7 лет, а толку, если накрылся контролер? Олсо фирма ocz rip, если ты из криокамеры.

Сделай трим по крону раз в сутки, а все остальное — ерунда. Ну и важные данные в эксклюзивном варианте на нем не храни.

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

«lsblk -D» что говорит ?

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

lsblk -D

NAME   DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda           0      512B       2G         0
├─sda1        0      512B       2G         0
└─sda2        0      512B       2G         0
sdb           0        0B       0B         0
├─sdb1        0        0B       0B         0
├─sdb2        0        0B       0B         0
├─sdb3        0        0B       0B         0
├─sdb5        0        0B       0B         0
├─sdb6        0        0B       0B         0
├─sdb7        0        0B       0B         0
├─sdb8        0        0B       0B         0
└─sdb9        0        0B       0B         0
qbbr ★★★ ()
Ответ на: комментарий от vel

нет 0B у SSD, это значит, что TRIM пашет? но походу не в автоматическом режиме....

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

а в каком режиме:? в автоматическом или стоит fstrim -v / в крон запихать?

и почему Data Set Management TRIM supported (limit unknown)?

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

Я fstrim по хрону запускаю

Data Set Management TRIM supported (limit unknown)

Не знаю.

Для INTEL SSDSC2CW120A3 оно 1 блок

Для OCZ-VERTEX4 оно 16 блоков

vel ★★★★★ ()

А этот тест мало что значит. Во-первых, не уверен в правильности методики (имхо, записываемые данные должны точно лечь на erase блок). Во-вторых, контроллер может запросто проигнорировать trim, если, например, посчитает, что свободного места и так достаточно. Или отложит «напотом».

В ocz вообще говорят, что trim для bigfoot контроллера необязателен из-за навороченного gc.

На моё имхо, параметры монтирования переусложнены. Вполне достаточно defaults,relatime,discard.

Диск хороший :)

barti_ddu ()

Пока единственное нормальное решение, тема закрыта.

$ cat /etc/cron.daily/fstrim
#!/bin/sh
# TRIM for SSD
LOG=/var/log/fstrim.log
MOUNT_POINT=/
/bin/echo `date` >> $LOG
/usr/bin/time -a -f "real: %E, user: %U, sys: %S" -o $LOG /usr/bin/ionice -c 3 /sbin/fstrim -v $MOUNT_POINT >> $LOG
/bin/echo >> $LOG
qbbr ★★★ ()
Последнее исправление: qbbr (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.