LINUX.ORG.RU

Напомните команду пишущую гигабайтные файлы пока не исчерпается место?

 freespace,


0

1

С памятью увы, плохо.
Помню что была какая то эпопея с забивкой свободного пространства, и писались не нули, а случайные данные. Файлами по 1Гб, до исчерпания места.
Сейчас похоже на винте, появились бэды. Хочется это проверить забив всё свободное место и прочитав файлы. Но увы не помню чем пользовался :(

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

HDD я ещё понимаю - подмагнитить, прочитать и снова записать. Но SSD я вообще не понимаю как транзисторы можно улучшить.

Кстати о птичках... Не транзисторы, а скорее конденсаторы. Им заряд бы обновить, и я так понимаю, в прошивках Flash/SSD - есть сервисные алгоритмы их обновления - поэтому их рекомендуют регулярно использовать. Пока на них питание - видимо отрабатывают сервисные алгоритмы. Если он долго лежат без питания - они «забывают».

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

ты ССЗБ

Мы в общем то учимся на своих и чужих ошибках. Нарабатываем опыт!

про gdisk понял? я вспомнил что у тя 3тб и там 146% GPT, так что шансы есть

Да, отделался «лёгким испугом». gdisk нашел бэкап и записал куда надо.
Но... Та zfs у меня битенькая:

  pool: T3T1S
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
	corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
	entire pool from backup.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
  scan: scrub in progress since Fri Nov  7 09:49:01 2025
	238G scanned at 2.58G/s, 39.6M issued at 440K/s, 2.03T total
	0B repaired, 0.00% done, no estimated completion time
config:

	NAME        STATE     READ WRITE CKSUM
	T3T1S       DEGRADED     0     0     0
	  sdd3      DEGRADED     0     0     0  too many errors

errors: Permanent errors have been detected in the following files:

        <0x1a>:<0x2f57>
        <0x1a>:<0x5ecc9>
        T3T1S/:DL:<0x2f57>
        <0x685>:<0x2f57>
        <0x685>:<0x4146a>
        <0x685>:<0x5ecc9>

Начиналось всё с того что бэды, и соответственно те файлы в которых были бэды - тоже тут были. Файлы я удалил, а вот как удалить эти «ошмётки» ?

Совершенно не хочется искать ещё один диск чтобы слить туда раздел и потом восстановить сюда.

P.S. Прогнал HDD-Regenerator в безусловном режиме. За 118 часов он прогнал весь диск - найдя 17441 delays. Соответственно они были зарегерейчены, но увы.
На первых 0.5% как было 90 delay так и осталось (Прогнал сейчас ещё раз в начале).
Вот бэды пропали.

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

поясню - тут речь идёт не про окончательный отказ ТТД, а про просто порчу данных (bit rot и т.п.) - то, ради чего ZFS придумали, который ТС пользуется. и с чем в ext2/3/4 есть проблемки. т.е. не полную потерю данных, а про их общую целостность.

Хм, а что? В ТТД нет такой штуки как контроль CRC? Порча данных должна битик взводить! Или SSD отдают неконсистентные данные не предупреждая? Там как раз должна появляться «Ошибка чтения».

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

сколь знаю в SSD используют код с восстановлением битиков, т.е. к данными дописывается доп.инфа позволяющая восстановить один или несколько запорченных битиков.
если при чтении находится блок с порченными битиками, то они восстанавливаются и отдаются восстановленные данные. а блок полностью перезаписывается.

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

сколь знаю в SSD используют код с восстановлением битиков, т.е. к данными дописывается доп.инфа позволяющая восстановить один или несколько запорченных битиков.
если при чтении находится блок с порченными битиками, то они восстанавливаются и отдаются восстановленные данные. а блок полностью перезаписывается.

Так и должно быть, а если коррекция не срабатывает - должна быть ошибка чтения, а никак не незаметная порча данных!

А вообще из Вашего сообщения понял как они регенерируют блоки. Читают и если ошибок больше чем какое то пороговое значение - блок переписывается.

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

тут - ничем не помогу, это оборотная сторона (недостаток) fs с crc. где ext4 просто считала бы файл хотя и с ошибками - тут получите EIO

но судя по виду имён файлов - это ваще может пустое место быть

я кстати обнаружил тут у себя, когда полез по случаю, mismatch_cnt на руте. и успешно полечил просто через dd if=/dev/zero of=/file

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

ECC не всё может исправить, это не панацея. речь про UE. плюс у ТТД встречаются ошибки, не возможные на НЖМД, например, read disturb

Ещё раз! Да фиг с ними неисправлениями, речь зашла о молчаливом возврате неконсистентных данных!

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

NB: зря ты враз всё стал проверять, надо было постепенно с горы спуститьсч, по одному…

ЖУТЬ! По XX часов на винт...
В 12:12 стартовал.
В 18:00 70% remaining

smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-40-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" DT01ACA... Desktop HDD
Device Model:     TOSHIBA DT01ACA300
Serial Number:    Z7P6GLWAS
LU WWN Device Id: 5 000039 fe6df2013
Firmware Version: MX6OABB0
User Capacity:    3 000 592 982 016 bytes [3,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Nov  7 18:00:31 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:  (0x85)	Offline data collection activity
					was aborted by an interrupting command from host.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 247)	Self-test routine in progress...
					70% of test remaining.
Total time to complete Offline 
data collection: 		(21217) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves 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: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 ( 354) minutes.
SCT capabilities: 	       (0x003d)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   140   140   054    Pre-fail  Offline      -       67
  3 Spin_Up_Time            0x0007   140   140   024    Pre-fail  Always       -       372 (Average 444)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       358
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   124   124   020    Pre-fail  Offline      -       33
  9 Power_On_Hours          0x0012   095   095   000    Old_age   Always       -       40064
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       346
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       520
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       520
194 Temperature_Celsius     0x0002   150   150   000    Old_age   Always       -       40 (Min/Max 15/55)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       7
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2888

SMART Error Log Version: 1
ATA Error Count: 3340 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 3340 occurred at disk power-on lifetime: 39936 hours (1664 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 87 e5 d2 07  Error: UNC 1 sectors at LBA = 0x07d2e587 = 131261831

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 20 01 87 e5 d2 e0 00   5d+09:56:45.022  READ DMA EXT
  35 20 01 86 e5 d2 e0 00   5d+09:56:45.022  WRITE DMA EXT
  25 20 01 86 e5 d2 e0 00   5d+09:56:45.022  READ DMA EXT
  25 20 01 87 e5 d2 e0 00   5d+09:56:44.744  READ DMA EXT
  25 20 01 86 e5 d2 e0 00   5d+09:56:44.744  READ DMA EXT

////// AXED ///// AXED ///// AXED /////

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       40%     39858         3352487288
# 2  Extended offline    Completed: read failure       40%     39752         3352487288
# 3  Extended offline    Completed: read failure       50%     39721         2750853704
# 4  Extended offline    Completed without error       00%     31577         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA     MAX_LBA  CURRENT_TEST_STATUS
    1        0  2750853704  Not_testing
    2        0           0  Not_testing
    3        0           0  Not_testing
    4        0           0  Not_testing
    5        0           0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

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

Кто знает чем

5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0

Отличается от

196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 7

?
Было же на нём 16 бэдов. HDD Regenerator их извёл...

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

так он же при старте пишет сколько примерно займёт. для 3ТБ ожидаемо

Так поэтому я и стартовал сразу 7!
Это сколько же я их 7 буду провеерять?
Хотя вру... 7 на другом компе, тут всего 3 - 4+4+3
Надо вторые два чтоли тоже запустить?

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

можно одновременно если очень надо, шину же не грузит

МИСТИКА! Тут же в треде было.
Есть у меня МикроПК с 7 USB3 винтами! И M2 SSD.
Всё работало без нареканий, пока по результатам этого треда, не запустил -t long и на M2 SATA SSD и на 7 винтах.
Через 15 минут МикроПИСЮК повис, первый раз за год работы!
Перезагружаю - SSD - дохлая, ошибки чтения.
Так как десктоп занят HDD Регенерейтингом винта - беру переходник M2<->SATA и к нему ещё цепляю переходник SATA<->USB3
Гружусь с SystemRescueCD флешки, цепляю ту цепочку и копирую рутовую партицию с SSD на USB3 винт! т.е. SSD жива!
Тупо перезагружаюсь. Началась загрузка с SSD и опять ошибки чтения!
Гружусь с SystemRescue - ОШИБКИ! Офигеваю! (Цепочка в системе видится как /dev/sda) Выдираю цепочку из USB3 и опять включаю. Опознаётся как /dev/sdc и всё прекрасно копируется!
Фигею дальше!
Нахожу MicroSD на 128Gb, Кидаю содержимое на USB3 винт и копирую SSD->MicroSD тупо, с помощью dd.
Вставляю через SD Reader. Гружусь, система работает!
Но это -1 USB3 порт. Критично. Вспоминаю что на МикроПК есть MicroSD слот. Вставляю флешку туда. Скорость падает с 40Mb/s до 20 Mb/s но система грузится!
Загрузился и теперь придётся 7 винтов -t long по одному.
:(
По несколько часов на каждый винт.
так что сейчас МикроПК у меня работает с MicroSD.
Это трэш какой то....

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

На тему HDD Regenerator.
Началось с винта с zfs. Появились бэды. Пытался справиться badblocks - не помогло. Качнул ISO с HDD Regenerator, загрузился, протестил! 18 бэдов (badblocks их видел как 9)
Указав тот район - прогнал HDD Regenerator, за 5 минут бэды вылечились. Но мне этого показалось мало. Решил запустить принудительную регенерацию ВСЕГО винта. Длилось это 118 часов!
Нашло 17441 delays, я надеялся оно их вылечило, но увы. Запустил повторно, на 0.50% поверхности нашло так же 90 delays как и в первый раз.
Ну ладно...
Загрузился, запустил gdisk, тот исправил убитую GPT и я спокойно импортировал zfs. уже на рабочей системе запустил -t long
Работало 10.5 часов.
Результат:

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" DT01ACA... Desktop HDD
Device Model:     TOSHIBA DT01ACA300
Serial Number:    Z7P6GLWAS
LU WWN Device Id: 5 000039 fe6df2013
Firmware Version: MX6OABB0
User Capacity:    3 000 592 982 016 bytes [3,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Nov  7 22:58:41 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:  (0x85)	Offline data collection activity
					was aborted by an interrupting command from host.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(21217) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves 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: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 ( 354) minutes.
SCT capabilities: 	       (0x003d)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   140   140   054    Pre-fail  Offline      -       67
  3 Spin_Up_Time            0x0007   140   140   024    Pre-fail  Always       -       372 (Average 444)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       358
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   124   124   020    Pre-fail  Offline      -       33
  9 Power_On_Hours          0x0012   095   095   000    Old_age   Always       -       40069
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       346
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       520
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       520
194 Temperature_Celsius     0x0002   150   150   000    Old_age   Always       -       40 (Min/Max 15/55)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       7
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2888

SMART Error Log Version: 1
ATA Error Count: 3340 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 3340 occurred at disk power-on lifetime: 39936 hours (1664 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 87 e5 d2 07  Error: UNC 1 sectors at LBA = 0x07d2e587 = 131261831

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 20 01 87 e5 d2 e0 00   5d+09:56:45.022  READ DMA EXT
  35 20 01 86 e5 d2 e0 00   5d+09:56:45.022  WRITE DMA EXT
  25 20 01 86 e5 d2 e0 00   5d+09:56:45.022  READ DMA EXT
  25 20 01 87 e5 d2 e0 00   5d+09:56:44.744  READ DMA EXT
  25 20 01 86 e5 d2 e0 00   5d+09:56:44.744  READ DMA EXT

////// УДАЛЕНО ////// УДАЛЕНО ////// УДАЛЕНО //////

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     40068         -
# 2  Extended offline    Completed: read failure       40%     39858         3352487288
# 3  Extended offline    Completed: read failure       40%     39752         3352487288
# 4  Extended offline    Completed: read failure       50%     39721         2750853704
# 5  Extended offline    Completed without error       00%     31577         -
3 of 3 failed self-tests are outdated by newer successful extended offline self-test # 1

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA     MAX_LBA  CURRENT_TEST_STATUS
    1        0  2750853704  Not_testing
    2        0           0  Not_testing
    3        0           0  Not_testing
    4        0           0  Not_testing
    5        0           0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Оставил только последнюю ошибку, иначе «сообщение слишком большое». Эта ошибка была до HDD Regenerator. Сейчас всё прошло без ошибок!

И самое главное, не появились Reallocated Sectors, появились только какие то Reallocated Event.

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

нет мистики. просадка по 5В на USB. я покупал temagroup m.2 и он меня глючил по чёрному, пока не нашёлся переходник в котором он шарашашит на полную и без ошибок. при этом измеритель USB показывает хорошие такие скачки по току при работе.

mumpster ★★★★★
()