Назад | Перейти на главную страницу

Ошибка ввода / вывода при чтении резервного USB-накопителя в CentOS 6.4

Я внезапно замечаю странное поведение на нашем USB-накопителе, которое не имеет для меня смысла:

(2013-10-21 14:58:23 [root@newdc /]$ cd /mnt/backup/
(2013-10-21 14:59:03 [root@newdc backup]$ ls -la
ls: reading directory .: Input/output error
total 0
(2013-10-21 14:59:05 [root@newdc backup]$ df -h /mnt/backup
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             917G  843G   28G  97% /mnt/backup

Как ОС может узнать, сколько используется, но я не могу ls что-нибудь из этого как root? Или, что более важно, о какой проблеме это говорит?

/var/log/messages сказал это:

Oct 21 14:57:54 g5 kernel: EXT4-fs error (device sda1): ext4_journal_start_sb: Detected aborted journal
Oct 21 14:57:54 g5 kernel: EXT4-fs (sda1): Remounting filesystem read-only

Но ... только чтение - это нечто иное, чем 'выдать ошибку io' ...

После размонтирования, чтобы попробовать на нем fsck, я попросил кого-то на месте посмотреть на него, и диск не раскручивался, и у него был медленно мигающий свет, что, как я полагаю, означает, что он находился в режиме ожидания. Я попросил их отключить и снова подключить USB-кабель, и теперь (перед повторным подключением) он говорит:

fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sda1: clean, 2805106/61046784 files, 181934167/244182016 blocks

Затем я монтирую его и теперь ls работает и df отчеты:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             917G  680G  191G  79% /mnt/backup

Что заставило бы его перейти в такое состояние без запроса? Почему все такое странное поведение, и теперь оно не кажется коррумпированным?

smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-358.11.1.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD10JMVW-11S5XS0
Serial Number:    WD-WX51AC2X2298
LU WWN Device Id: 5 0014ee 6587c0e18
Firmware Version: 01.01A01
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Wed Oct 23 20:08:46 2013 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
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:                (18180) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        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:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 198) minutes.
Conveyance self-test routine
recommended polling time:        (   5) minutes.
SCT capabilities:              (0x70b5) SCT Status 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     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   188   179   021    Pre-fail  Always       -       1600
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       940
  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   098   098   000    Old_age   Always       -       2004
 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   100   100   000    Old_age   Always       -       744
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       12
193 Load_Cycle_Count        0x0032   197   197   000    Old_age   Always       -       9379
194 Temperature_Celsius     0x0022   115   098   000    Old_age   Always       -       32
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  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.

Интересно, что ошибки не регистрируются даже после того, как расширенный тест был прерван самопроизвольно:

$ sudo smartctl -l error /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-358.11.1.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

У меня недавно была эта проблема с USB-накопителем на 8 ТБ. Я подумал, что он, вероятно, был поврежден, так как мой компьютер с Windows тоже не мог его прочитать. (Он был отформатирован как EXT4, но ошибочно идентифицировался как HFS). Пока я пытался это понять, второй только что добавленный диск емкостью 4 ТБ сделал то же самое, хотя на другой машине Linux он был правильно идентифицирован как EXT4. Я не пытался читать его с помощью Windows. Они поднимались, но их нельзя было прочитать. Иногда он также не монтировался в правильном разделе. Я был рад, когда мы обнаружили, что оба диска читаются на другой машине с Linux. Я попытался перемонтировать их снова, и оба были читаемы. Поскольку это произошло с двумя разными дисками, я предполагаю, что это временная проблема с интерфейсом USB на моей машине.

Файловая система повреждена. Он может быть даже очень коррумпированным, поскольку даже fsck работает. Может быть, жесткий диск сломан или что-то в этом роде.

  • Проверьте dmesg чтобы узнать, есть ли у вас что-нибудь еще об этой ошибке FS. Что-то может указывать на сломанный диск?
  • Вы можете проверить, поддерживает ли привод УМНАЯи запустить smartctl (из smartmontools, это в командах CentOS), чтобы убедиться.