[РЕШЕНО] Не работает TRIM на SSD

На новом буке UH572 наблюдаю следующую картину:
1. SSD-диск отформатирован в ext4 с параметром "-E discard"
2. В /etc/fstab:
# /dev/sdb2
UUID=dd49483f-f3a8-430f-bf51-56216d1b3c3d	/         	ext4      	rw,noatime,discard	0 1
3. Вывод mount:
[[email protected] /]# mount | grep sd
...
/dev/sdb2 on / type ext4 (rw,noatime,discard,data=ordered)
...
НО:
Сделанный по этой ссылке тест показывает не 0000, как должно быть, а цыферки:
[[email protected] /]# seq 1 1000 > testfile
[[email protected] /]# hdparm --fibmap testfile
testfile:
 filesystem blocksize 4096, begins at LBA 2099200; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0       -          -          -
[[email protected] /]# hdparm --fibmap testfile
testfile:
 filesystem blocksize 4096, begins at LBA 2099200; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0    2369544    2369551          8
[[email protected] /]# sync
[[email protected] /]# hdparm --read-sector 2369544 /dev/sdb
/dev/sdb:
reading sector 2369544: succeeded
0a31 0a32 0a33 0a34 0a35 0a36 0a37 0a38
0a39 3031 310a 0a31 3231 310a 0a33 3431
310a 0a35 3631 310a 0a37 3831 310a 0a39
3032 320a 0a31 3232 320a 0a33 3432 320a
0a35 3632 320a 0a37 3832 320a 0a39 3033
330a 0a31 3233 330a 0a33 3433 330a 0a35
3633 330a 0a37 3833 330a 0a39 3034 340a
0a31 3234 340a 0a33 3434 340a 0a35 3634
340a 0a37 3834 340a 0a39 3035 350a 0a31
3235 350a 0a33 3435 350a 0a35 3635 350a
0a37 3835 350a 0a39 3036 360a 0a31 3236
360a 0a33 3436 360a 0a35 3636 360a 0a37
3836 360a 0a39 3037 370a 0a31 3237 370a
0a33 3437 370a 0a35 3637 370a 0a37 3837
370a 0a39 3038 380a 0a31 3238 380a 0a33
3438 380a 0a35 3638 380a 0a37 3838 380a
0a39 3039 390a 0a31 3239 390a 0a33 3439
390a 0a35 3639 390a 0a37 3839 390a 0a39
3031 0a30 3031 0a31 3031 0a32 3031 0a33
3031 0a34 3031 0a35 3031 0a36 3031 0a37
3031 0a38 3031 0a39 3131 0a30 3131 0a31
3131 0a32 3131 0a33 3131 0a34 3131 0a35
3131 0a36 3131 0a37 3131 0a38 3131 0a39
3231 0a30 3231 0a31 3231 0a32 3231 0a33
3231 0a34 3231 0a35 3231 0a36 3231 0a37
3231 0a38 3231 0a39 3331 0a30 3331 0a31
3331 0a32 3331 0a33 3331 0a34 3331 0a35
3331 0a36 3331 0a37 3331 0a38 3331 0a39
3431 0a30 3431 0a31 3431 0a32 3431 0a33
3431 0a34 3431 0a35 3431 0a36 3431 0a37
3431 0a38 3431 0a39 3531 0a30 3531 0a31
3531 0a32 3531 0a33 3531 0a34 3531 0a35
[[email protected] /]# rm testfile
[[email protected] /]# sync
[[email protected] /]# hdparm --read-sector 2369544 /dev/sdb
/dev/sdb:
reading sector 2369544: succeeded
0a31 0a32 0a33 0a34 0a35 0a36 0a37 0a38
0a39 3031 310a 0a31 3231 310a 0a33 3431
310a 0a35 3631 310a 0a37 3831 310a 0a39
3032 320a 0a31 3232 320a 0a33 3432 320a
0a35 3632 320a 0a37 3832 320a 0a39 3033
330a 0a31 3233 330a 0a33 3433 330a 0a35
3633 330a 0a37 3833 330a 0a39 3034 340a
0a31 3234 340a 0a33 3434 340a 0a35 3634
340a 0a37 3834 340a 0a39 3035 350a 0a31
3235 350a 0a33 3435 350a 0a35 3635 350a
0a37 3835 350a 0a39 3036 360a 0a31 3236
360a 0a33 3436 360a 0a35 3636 360a 0a37
3836 360a 0a39 3037 370a 0a31 3237 370a
0a33 3437 370a 0a35 3637 370a 0a37 3837
370a 0a39 3038 380a 0a31 3238 380a 0a33
3438 380a 0a35 3638 380a 0a37 3838 380a
0a39 3039 390a 0a31 3239 390a 0a33 3439
390a 0a35 3639 390a 0a37 3839 390a 0a39
3031 0a30 3031 0a31 3031 0a32 3031 0a33
3031 0a34 3031 0a35 3031 0a36 3031 0a37
3031 0a38 3031 0a39 3131 0a30 3131 0a31
3131 0a32 3131 0a33 3131 0a34 3131 0a35
3131 0a36 3131 0a37 3131 0a38 3131 0a39
3231 0a30 3231 0a31 3231 0a32 3231 0a33
3231 0a34 3231 0a35 3231 0a36 3231 0a37
3231 0a38 3231 0a39 3331 0a30 3331 0a31
3331 0a32 3331 0a33 3331 0a34 3331 0a35
3331 0a36 3331 0a37 3331 0a38 3331 0a39
3431 0a30 3431 0a31 3431 0a32 3431 0a33
3431 0a34 3431 0a35 3431 0a36 3431 0a37
3431 0a38 3431 0a39 3531 0a30 3531 0a31
3531 0a32 3531 0a33 3531 0a34 3531 0a35

И теперь я не могу ни есть, ни спать, представляя, как изнашивается мой SSD. Подскажите, как активировать TRIM или, может быть, я неправильно тест делаю?

PS. SSD разбит на 2 раздела - sdb1 = /boot/efi и sdb2=/
Модель ноутбука и диска надо угадать?

Если что, UH572 есть в нескольких вариантах.
Ultrabook Fujitsu LIFEBOOK UH572 (VFY:UH572MC7B2RU)
и
SanDisk SSD i100 32GB
TRIM вручную работает?

А именно, sudo fstrim -v /. Должно срезать всё свободное пространство. Если нет - проблема.

Если вручную действует, забить это в скрипт и выполнять время от времени по расписанию.

discard, по-моему, не действует совсем.
Гоню, отлично работает.
[[email protected] rec]# fstrim -v /
/: 26.9 GiB (28872544256 bytes) trimmed
?
Свободно сколько?
А журналирование включено? Если журнал отключен на ext4, то автоматически TRIM работать не будет(год назад не работал) и пришлось добавлять по крону вызов fstrim. Может сейчас починили уже?
elsonador
Свободно сколько?
Вчера систему поставил, почти пусто везде:
[[email protected] rec]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb2        29G  1.4G   26G   6% /

User6260
А журналирование включено?
Да, включено:
[[email protected] rec]# dumpe2fs /dev/sdb2 | grep features
dumpe2fs 1.42.8 (20-Jun-2013)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features:         journal_incompat_revoke
В свое время использовал такой скрипт
#!/bin/bash
#
if [ $# -ne 3 ]; then
echo
echo "Usage: $0 "
echo
echo " is a temporary file for the test"
echo " is the file size in MB"
echo " is the device being tested, e.g. /dev/sda"
echo
echo "Example: $0 tempfile 5 /dev/sda"
echo
echo "This would run the test for /dev/sda creating a"
echo "temporary file named \"tempfile\" with 5 MB"
echo
exit 1
fi
FILE="$1"
SIZE=$2
DEVICE="$3"
# Create the temporary file
dd if=/dev/urandom of="$FILE" count=1 bs=${SIZE}M oflag=direct
sync
# Get the address of the first sector
hdparm --fibmap "$FILE"
SECTOR=`hdparm --fibmap "$FILE" | tail -n1 | awk '{ print $2; }'`
# Read the first sector prior to deletion
hdparm --read-sector $SECTOR "$DEVICE"
echo
echo "This is a sector of the file. It should have been successfully read"
echo "and show a bunch of random data."
echo
read -n 1 -p "Press any key to continue..."
# Delete the file and re-read the sector
rm -f $FILE
sync
echo
echo "File deleted. Sleeping for 120 seconds before re-reading the sector."
echo "If TRIM is working, you should see all 0s now."
sleep 5
hdparm --read-sector $SECTOR "$DEVICE"
echo
echo "If the sector isn't filled with 0s, something is wrong with your"
echo "configuration. Try googling for \"TRIM SSD Linux\"."
echo
exit 0

Сейчас запустил и получил такой вывод

[email protected]:~/docs $ sudo ./trim.sh tempfile 20 /dev/sda
1+0 записей получено
1+0 записей отправлено
 скопировано 20971520 байт (21 MB), 6,27998 c, 3,3 MB/c
tempfile:
 filesystem blocksize 4096, begins at LBA 63; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0     360511     376894      16384
     8388608  145588287  145604670      16384
    16777216  145768511  145776702       8192
/dev/sda:
reading sector 145768511: FAILED: Input/output error
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/sda:
reading sector 145768511: FAILED: Input/output error

Накрывается накопитель? О_о
Если записать в этот сектор ноль, чтение работает?
 
Зарегистрироваться или войдите чтобы оставить сообщение.