2

У меня есть следующее устройство:

Model Family:     Western Digital Caviar Green (AF)
Device Model:     WDC WD15EARS-00MVWB0
Serial Number:    WD-WCAZA3607921
LU WWN Device Id: 5 0014ee 2b01eac3e
Firmware Version: 51.0AB51
User Capacity:    1,500,301,910,016 bytes [1.50 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Thu Nov 21 00:08:20 2013 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

и недавно я получил ошибку при чтении поверхности этого диска. Это ошибка:

Complete error log:
SMART Error Log Version: 1
ATA Error Count: 25 (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 25 occurred at disk power-on lifetime: 18798 hours (783 days + 6 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 08 00 40 37 e6  Error: UNC 8 sectors at LBA = 0x06374000 = 104284160

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 00 40 37 e6 08      08:54:35.771  READ DMA
  ec 00 00 00 00 00 a0 08      08:54:35.763  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08      08:54:35.763  SET FEATURES [Set transfer mode]

Это 25-я ошибка, но предыдущие ошибки точно такие же.

Вот умный отчет:

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     0x002f   200   200   051    Pre-fail  Always       -       1
  3 Spin_Up_Time            0x0027   253   189   021    Pre-fail  Always       -       2066
  4 Start_Stop_Count        0x0032   099   099   000    Old_age   Always       -       1118
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   075   075   000    Old_age   Always       -       18833
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1101
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       277
193 Load_Cycle_Count        0x0032   085   085   000    Old_age   Always       -       346753
194 Temperature_Celsius     0x0022   122   109   000    Old_age   Always       -       28
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       1
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       2
199 UDMA_CRC_Error_Count    0x0032   200   196   000    Old_age   Always       -       11
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       1

Так что это неплохой сектор, но я думаю, что так и будет.

У меня есть 7 разделов на этом диске, и проблема в том, что я не знаю, где находится сектор (ы), какой раздел и / или какие MiB, KiB и т.д., Начиная с начала диска. Есть ли способ выяснить это?

1 ответ1

1

Я нашел, как это сделать. Следующая строка в интеллектуальном отчете определяет LBA:

40 51 08 00 40 37 e6  Error: UNC 8 sectors at LBA = 0x06374000 = 104284160

Итак, это 104284160. Если мы знаем это, мы также знаем, какой раздел задействован:

root:~# fdisk -lu /dev/sda
Device Boot      Start         End      Blocks   Id  System
...
/dev/sda3        99610624  1466798079   683593728   83  Linux

Чтобы определить, где именно на 3-м разделе, что это:

104284160 - 99610624 = 4673536

Мы также должны знать размер блока:

# tune2fs -l /dev/mapper/crypt_data  | grep Block
Block count:              170897920
Block size:               4096
Blocks per group:         32768

И теперь мы можем определить, какой блок файловой системы содержит этот LBA, используя следующую формулу:

   b = (int)((L-S)*512/B)
where:
b = File System block number
B = File system block size in bytes
L = LBA of bad sector
S = Starting sector of partition as shown by fdisk -lu
and (int) denotes the integer part.

В моем случае это будет:

b = (int)((104284160-99610624)*512/4096
b=584192

Теперь мы должны проверить, есть ли там файл:

# debugfs
debugfs 1.42.8 (20-Jun-2013)
debugfs:  open /dev/mapper/crypt_data 
debugfs:  testb 584192
Block 584192 marked in use
debugfs:  icheck 584192
Block   Inode number
584192  37486656
debugfs:  ncheck 37486656
Inode   Pathname
37486656    /some/file

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .