LINUX.ORG.RU

Глючит диск SSD. Упала скорость на запись.

 


0

2

Здравствуйте.

САБЖ

Кабель менял, всё перетыкал. Комп работает, примерно, 2 года.

Что может быть? Смарт диска:

root@fserver:/storage1# smartctl -a /dev/sdb
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-28-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     Netac SSD 1TB
Serial Number:    AA202303201T23001796
Firmware Version: W0222A0
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
TRIM Command:     Available
Device is:        Not in smartctl database 7.3/5625
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Wed Jan  8 14:14:39 2025 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (  41) The self-test routine was interrupted
                                        by the host with a hard or soft reset.
Total time to complete Offline
data collection:                (  120) seconds.
Offline data collection
capabilities:                    (0x11) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
                                        entering power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  10) minutes.
SCT capabilities:              (0x0001) SCT Status supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   100   100   050    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   050    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   050    Old_age   Always       -       13465
 12 Power_Cycle_Count       0x0032   100   100   050    Old_age   Always       -       184
160 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       0
161 Unknown_Attribute       0x0033   100   100   050    Pre-fail  Always       -       100
163 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       6
164 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       221122
165 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       453
166 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       157
167 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       443
168 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       5050
169 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       92
175 Program_Fail_Count_Chip 0x0032   100   100   050    Old_age   Always       -       0
176 Erase_Fail_Count_Chip   0x0032   100   100   050    Old_age   Always       -       0
177 Wear_Leveling_Count     0x0032   100   100   050    Old_age   Always       -       0
178 Used_Rsvd_Blk_Cnt_Chip  0x0032   100   100   050    Old_age   Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   050    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   050    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   050    Old_age   Always       -       135
194 Temperature_Celsius     0x0022   100   100   050    Old_age   Always       -       37
195 Hardware_ECC_Recovered  0x0032   100   100   050    Old_age   Always       -       313709
196 Reallocated_Event_Count 0x0032   100   100   050    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   050    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0032   100   100   050    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   050    Old_age   Always       -       0
232 Available_Reservd_Space 0x0032   100   100   050    Old_age   Always       -       100
241 Total_LBAs_Written      0x0030   100   100   050    Old_age   Offline      -       5027391
242 Total_LBAs_Read         0x0030   100   100   050    Old_age   Offline      -       611123
245 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       6359106

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Interrupted (host reset)      90%     13450         -
# 2  Extended offline    Completed without error       00%     13343         -
# 3  Extended offline    Completed without error       00%     12437         -

Selective Self-tests/Logging not supported

Тест скорости. Скорость упала.

root@fserver:/storage3# ./disk_speed.sh
+++++++++++Write to Disk
990904320 bytes (991 MB, 945 MiB) copied, 14 s, 70.8 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 14.2501 s, 75.4 MB/s
-----------Read from Disk
809500672 bytes (810 MB, 772 MiB) copied, 2 s, 404 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.64063 s, 407 MB/s

Через рандомное время прогоняю тест, скорость норм.

root@fserver:/storage3# ./disk_speed.sh
+++++++++++Write to Disk
752877568 bytes (753 MB, 718 MiB) copied, 2 s, 376 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.88054 s, 373 MB/s
-----------Read from Disk
1059061760 bytes (1.1 GB, 1010 MiB) copied, 2 s, 529 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.02863 s, 529 MB/s
root@fserver:/storage3#

Как проверяю скорость.

#!/bin/bash

tmpfile=/storage3/disk-test-tempfile
BYTES=1M
COUNT=1024
echo 3 > /proc/sys/vm/drop_caches

measure_write_speed() {
    echo "Write to Disk"
    sync
    dd if=/dev/zero of=$tmpfile bs=$BYTES count=$COUNT oflag=direct status=progress
    sync
}

measure_read_speed() {
    echo 3 > /proc/sys/vm/drop_caches
    echo "Read from Disk"
    dd if=$tmpfile of=/dev/null bs=$BYTES count=$COUNT iflag=direct status=progress
}

measure_write_speed
measure_read_speed

rm -f $tmpfile


На сколько процентов заполнен диск? Резкое и внезапное падение скорости записи при почти полностью забитом диске — это известная «особенность» технологии SSD. Для «больших» дисков (терабайт и более) это не так заметно (обычно их не забивают «под заязку» и у контроллера остаётся пространство для манёвров), а для маленьких (и стареньких) SSD это прям беда.

Можно полечить почистив завалы и принудительно прогнав fstrim.

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

На диске всегда идёт контроль свободного места, больше 50% не заполняется, лишнее удаляется. Плюс, при разбивке, 10% оставил не размеченным.

fstrim по-дефолту, 1 раз в неделю. Ставил 1 раз в сутки, ситуация не поменялась. Принудительно гонял fstrim тоже, не помогло.

Есть надежда на blkdiscard, но это долго....

INDIGO
() автор топика

Это нормально для современных ссд qlc. Сперва пишет в быстрый «буфер», где qlc работает в режиме slc, потом медленно переносит на qlc. Если буфер заканчивается то пишет медленно сразу на qlc.

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

Это сразу после записи большого количества данных? Во время фонового переноса из (заполненного) «буфера», мозги диска сильно заняты, надо дать время очухаться. Это поведение сильно зависит от микроконтроллера/прошивки диска, качества.

anonymous
()

Ещё один netac, который стал ощутимо тормозить.

smartctl как его понимать?

241 Total_LBAs_Written      0x0030   100   100   050    Old_age   Offline      -       5228137

Параметр 241 близок. Но сам диск размером гораздо меньше (128GB)

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

241 Total_LBAs_Written

Т.е. после записи блока 32Mb Total_LBAs_Written возрастает на 1. Вот это уже более похоже на правду.

Кривой смарт (кривая прошивка?). Ну, тогда, скорее всего, ресурс исчерпан, пора выкидывать.

anonymous
()

Это нормальное поведение для ширпотребных SSD.

Netac

Для таких - тем более.

У меня на старом кингстоне (никакой не QLC) скорость вообще выше 50мб/с не поднимается.

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

Да, старые советы могут быть полезны.

Прошивки и настройки дисков, которые с OS никто не менял могут изменится.

Если с дампом и сверкой целой прошивки есть проблема то можно хотя бы сверить изменения в настройках:

hdparm -ivv /dev/sda
sdparm --all /dev/sda

Сверять со старым выводом или с выводом другого нормально работающего диска. Если найдете разницу в параметрах, то можно hdparm их поменять.

Отдельный вопрос как дампануть прошивку с ssd диска? Кто знает решение поделитесь пожалуйста. Хотя бы для некоторых производителей.

anonymous
()

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

PS. У smartctl ключ -x дает больше информации чем -a

vaddd ★☆
()