LINUX.ORG.RU
решено ФорумAdmin

hddtemp неправильный дескриптор

 


0

1

Товарищи,

просьба, подскажите, куда копать? с чего начать анализ проблемы? сам пользователь, но не настолько. пользуюсь linux на домашнем сервере только home assistant. debian последний.

перезапускаю службу hddtemp, все нормально, температуру sdb видит. где-то сутки проходят и опять битый дескриптор файла.

alex@HomeAssistantServer:~$ sudo systemctl status hddtemp
[sudo] пароль для alex:
 hddtemp.service - LSB: disk temperature monitoring daemon
     Loaded: loaded (/etc/init.d/hddtemp; generated)
     Active: active (running) since Tue 2023-01-17 17:59:10 MSK; 1 day 1h ago
       Docs: man:systemd-sysv-generator(8)
    Process: 18368 ExecStart=/etc/init.d/hddtemp start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 5026)
     Memory: 912.0K
     CGroup: /system.slice/hddtemp.service
             └─18421 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | -S 180 /dev/sda /dev/sdb

янв 18 18:52:15 HomeAssistantServer hddtemp[18421]: /dev/sda: WDC WD1600AAJS-22PSA0: 21 C
янв 18 18:52:15 HomeAssistantServer hddtemp[18421]: /dev/sdb: Неправильный дескриптор файла
янв 18 18:55:15 HomeAssistantServer hddtemp[18421]: /dev/sda: WDC WD1600AAJS-22PSA0: 21 C
янв 18 18:55:15 HomeAssistantServer hddtemp[18421]: /dev/sdb: Неправильный дескриптор файла
янв 18 18:58:15 HomeAssistantServer hddtemp[18421]: /dev/sda: WDC WD1600AAJS-22PSA0: 21 C
янв 18 18:58:15 HomeAssistantServer hddtemp[18421]: /dev/sdb: Неправильный дескриптор файла
янв 18 19:01:15 HomeAssistantServer hddtemp[18421]: /dev/sda: WDC WD1600AAJS-22PSA0: 21 C
янв 18 19:01:15 HomeAssistantServer hddtemp[18421]: /dev/sdb: Неправильный дескриптор файла
янв 18 19:04:16 HomeAssistantServer hddtemp[18421]: /dev/sda: WDC WD1600AAJS-22PSA0: 21 C
янв 18 19:04:16 HomeAssistantServer hddtemp[18421]: /dev/sdb: Неправильный дескриптор файла

после перезапуска:

alex@HomeAssistantServer:~$ sudo systemctl status hddtemp
● hddtemp.service - LSB: disk temperature monitoring daemon
     Loaded: loaded (/etc/init.d/hddtemp; generated)
     Active: active (running) since Wed 2023-01-18 19:09:22 MSK; 1s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 37202 ExecStart=/etc/init.d/hddtemp start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 5026)
     Memory: 1.0M
     CGroup: /system.slice/hddtemp.service
             └─37255 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | -S 180 /dev/sda /dev/sdb

янв 18 19:09:22 HomeAssistantServer systemd[1]: Stopping LSB: disk temperature monitoring daemon...
янв 18 19:09:22 HomeAssistantServer systemd[1]: hddtemp.service: Succeeded.
янв 18 19:09:22 HomeAssistantServer hddtemp[37197]: Stopping disk temperature monitoring daemon: hddtemp.
янв 18 19:09:22 HomeAssistantServer systemd[1]: Stopped LSB: disk temperature monitoring daemon.
янв 18 19:09:22 HomeAssistantServer systemd[1]: Starting LSB: disk temperature monitoring daemon...
янв 18 19:09:22 HomeAssistantServer hddtemp[37202]: Starting disk temperature monitoring daemon: hddtemp:  /dev/sda /de>
янв 18 19:09:22 HomeAssistantServer systemd[1]: Started LSB: disk temperature monitoring daemon.
янв 18 19:09:22 HomeAssistantServer hddtemp[37255]: /dev/sda: WDC WD1600AAJS-22PSA0: 21 C
янв 18 19:09:22 HomeAssistantServer hddtemp[37255]: /dev/sdb: WDC WD5000AZRX-00L4HB0: 15 C


Последнее исправление: alex_2 (всего исправлений: 2)

С пакетом должна идти дока ( /usr/share/doc/hddtemp*/contribs/README )

Там есть подсказки по работе утилиты.

Можно посравнивать вывод нескольких команд в нормальном и сбойном состояниях, наподобие:

$ telnet localhost 7634
or
$ netcat localhost 7634

smartctl -x /dev/sdb | grep "Current Temperature"

hddtemp
NDfan
()
Ответ на: комментарий от mky

вывод dmesg: и вот такой есть циклический вывод ошибки:

**[226883.057518] ata5: softreset failed (device not ready)**

и вырезка:

[226883.057518] ata5: softreset failed (device not ready)
[226883.057526] ata5: applying PMP SRST workaround and retrying
[226883.217532] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[226883.218128] ata5.00: SB600 AHCI: limiting to 255 sectors per cmd
[226883.218779] ata5.00: SB600 AHCI: limiting to 255 sectors per cmd
[226883.218784] ata5.00: configured for UDMA/133
[236479.257521] ata5: softreset failed (device not ready)
[236479.257529] ata5: applying PMP SRST workaround and retrying
[236479.417529] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[236479.418139] ata5.00: SB600 AHCI: limiting to 255 sectors per cmd
[236479.418805] ata5.00: SB600 AHCI: limiting to 255 sectors per cmd
[236479.418810] ata5.00: configured for UDMA/133

«resetting link» нигде не упоминается.

по поводу 15 градусов - в подвале стоит сервер. пока нагрузки мало, только начал нагружать.

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

похоже, теплее.

когда, смотрю в порт - ошибка

|/dev/sda|WDC WD1600AAJS-22PSA0|22|C||/dev/sdb|WDC WD5000AZRX-00L4HB0|ERR|*|Connection closed by foreign host.

сам hddtemp и smartctl данные отдают

/dev/sdb: WDC WD5000AZRX-00L4HB0: 16°C

Current Temperature:                    16 Celsius

Статус дескриптора висит как «битый» сейчас.

Забыл упомянуть. Оба диска работают как raid1.

Буду копать.

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

Оба диска работают как raid1.

В Linux softraid (mdadm)? Если да, то в /proc/mdstat всё хорошо?

По времени (dmesg -T) этот ″softreset failed″ совпадает с ошибкой hddtemp?

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

В Linux softraid (mdadm)? Если да, то в /proc/mdstat всё хорошо?

да, тут все норм.

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdb2[1] sda2[0]
      148303872 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md0 : active raid1 sdb1[1] sda1[0]
      7805952 blocks super 1.2 [2/2] [UU]
alex_2
() автор топика
Ответ на: комментарий от d00fy

в целом принял решение по ошибкам, как буду на месте, заняться кабелем, посмотреть на альтернативный sata разъем (на LOR это уже проскакивало). потом вывести диск (все равно 160+500 для raid1 не совсем удачная пара, а мне тут еще один подогнали wd160, его и поставлю) и потестить его основательно.

пока он в raid, наверное, не стоит это делать. потом на backup локальный его поставлю или резервным в массив, если ок.

но это вопрос ошибок, и это не отвечает на вопрос, почему демон температуру отдает, а порт нет. буду на выходных копаться, как @NDfan рекомендовал, readme вникать.

вырезка общей секции из smartctl:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Green
Device Model:     WDC WD5000AZRX-00L4HB0
Serial Number:    WD-WCC4JCTRYN52
LU WWN Device Id: 5 0014ee 2b58aeba8
Firmware Version: 01.01A01
User Capacity:    500 107 862 016 bytes [500 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sat Jan 21 14:29:58 2023 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Unavailable
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Wt Cache Reorder: Enabled

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

вырезка общего состояния, критичного не вижу.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    0
  3 Spin_Up_Time            POS--K   142   130   021    -    3900
  4 Start_Stop_Count        -O--CK   097   097   000    -    3286
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   200   199   000    -    1
  9 Power_On_Hours          -O--CK   067   067   000    -    24697
 10 Spin_Retry_Count        -O--CK   100   100   000    -    0
 11 Calibration_Retry_Count -O--CK   100   100   000    -    0
 12 Power_Cycle_Count       -O--CK   097   097   000    -    3245
192 Power-Off_Retract_Count -O--CK   200   200   000    -    453
193 Load_Cycle_Count        -O--CK   167   167   000    -    101495
194 Temperature_Celsius     -O---K   127   096   000    -    16
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   200   200   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   090   000    -    7732
200 Multi_Zone_Error_Rate   ---R--   200   200   000    -    0
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

вырезка логов ошибок. остальные ошибки те же, не стал раздувать цитату просто.

SMART Extended Comprehensive Error Log Version: 1 (6 sectors)
Device Error Count: 5127 (device log contains only the most recent 24 errors)
        CR     = Command Register
        FEATR  = Features Register
        COUNT  = Count (was: Sector Count) Register
        LBA_48 = Upper bytes of LBA High/Mid/Low Registers ]  ATA-8
        LH     = LBA High (was: Cylinder High) Register    ]   LBA
        LM     = LBA Mid (was: Cylinder Low) Register      ] Register
        LL     = LBA Low (was: Sector Number) Register     ]
        DV     = Device (was: Device/Head) Register
        DC     = Device Control Register
        ER     = Error register
        ST     = Status register
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 5127 [22] occurred at disk power-on lifetime: 21387 hours (891 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER -- ST COUNT  LBA_48  LH LM LL DV DC
  -- -- -- == -- == == == -- -- -- -- --
  04 -- 61 00 3f 00 00 0f 00 00 00 ef 00

  Commands leading to the command that caused the error were:
  CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
  -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:47.689  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:37.642  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:27.594  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:17.546  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:07.498  INITIALIZE DEVICE PARAMETERS [OBS-6]

Error 5126 [21] occurred at disk power-on lifetime: 21387 hours (891 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER -- ST COUNT  LBA_48  LH LM LL DV DC
  -- -- -- == -- == == == -- -- -- -- --
  04 -- 61 00 3f 00 00 0f 00 00 00 ef 00

  Commands leading to the command that caused the error were:
  CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
  -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:37.642  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:27.594  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:17.546  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:09:07.498  INITIALIZE DEVICE PARAMETERS [OBS-6]
  91 00 00 00 3f 00 00 0f 00 00 00 ef 00     00:08:57.451  INITIALIZE DEVICE PARAMETERS [OBS-6]

вырезка логов по температуре

SCT Temperature History Version:     2
Temperature Sampling Period:         1 minute
Temperature Logging Interval:        1 minute
Min/Max recommended Temperature:      0/60 Celsius
Min/Max Temperature Limit:           -41/85 Celsius
Temperature History Size (Index):    478 (453)

Index    Estimated Time   Temperature Celsius
 454    2023-01-21 06:32    16  -
 ...    ..(198 skipped).    ..  -
 175    2023-01-21 09:51    16  -
 176    2023-01-21 09:52    15  -
 177    2023-01-21 09:53    16  -
 ...    ..(103 skipped).    ..  -
 281    2023-01-21 11:37    16  -
 282    2023-01-21 11:38    15  -
 283    2023-01-21 11:39    16  -
 ...    ..( 17 skipped).    ..  -
 301    2023-01-21 11:57    16  -
 302    2023-01-21 11:58    15  -
 303    2023-01-21 11:59    16  -
 ...    ..( 26 skipped).    ..  -
 330    2023-01-21 12:26    16  -
 331    2023-01-21 12:27    15  -
 332    2023-01-21 12:28    16  -
 ...    ..(  2 skipped).    ..  -
 335    2023-01-21 12:31    16  -
 336    2023-01-21 12:32    15  -
 337    2023-01-21 12:33    16  -
 ...    ..(  5 skipped).    ..  -
 343    2023-01-21 12:39    16  -
 344    2023-01-21 12:40    15  -
 345    2023-01-21 12:41    16  -
 ...    ..(  7 skipped).    ..  -
 353    2023-01-21 12:49    16  -
 354    2023-01-21 12:50    15  -
 355    2023-01-21 12:51    16  -
 ...    ..( 97 skipped).    ..  -
 453    2023-01-21 14:29    16  -
alex_2
() автор топика
Ответ на: комментарий от alex_2

Навскидку: можно ещё присмотреться к разнице исполнения команд в режиме сервиса, и при вызовах с консоли.

Может, сгенерированная строка имеет тенденцию сбоить при совокупности факторов.

Например, второй узел RAID надо пробудить предварительно:

-w, --wake-up Wake-up the drive if needed (ATA drives only).

NDfan
()
Последнее исправление: NDfan (всего исправлений: 1)
18 мая 2023 г.

По всей видимости кейс закрыт. наступило весна и тепло, температура на дисках поднялась на 3…4 градуса и проблема ушла. думаю, что диск работал в погранично низкой температуре, отсюда и были проблемы. думаю, к зиме нужно сервачек поднагрузить, чтобы диски активнее работали и не снижать температуру. проблема была при 13…14 градусах. при 16 логи уже показывают, что отказов нет.

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