LINUX.ORG.RU

badblocks


0

1

Есть один LBA, который упорно не хочет быть reallocated

# smartctl -a /dev/sda
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
…
  5 Reallocated_Sector_Ct   0x0033   099   099   036    Pre-fail  Always       -       61
…
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       1
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       1

…

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       20%     22638         1670581106
Каждый extended offline test в журнале SMART имеет ошибку на этом LBA. Количество Reallocated_Sector_Ct меня настораживает, но в интернетах пишут, что сигейтовская утилита считает диск здоровым вплоть до 2К+ таких, так что пока пусть поживёт до замены. Проблема в том, что диск не помечает сектор как битый, и он из теста в тест шлёт мне приветы о том, что он снова pending и offline uncorrectable. Как это починить? Я бы ещё понял, если бы SMART его заметил, пометил и в соответствующих колонках было бы по нулям, тогда бы за лишнюю почту ответственность нёс smartd, а так непонятно, кто виноват и как чинить.

// Пока добавил файлом в список бедблоков через e2fsck.

Deleted

Взять victoria и скан с ремапом.

Сектор должен принудительно отремапится, в смарте опять нули будут

Kuzz ★★★
()

Я бы прогнал erase через mhdd (предварительно сделав резервную копию важных данных), ну а потом через тот же mhdd scan для проверки.

Иногда помогает.

BattleCoder ★★★★★
()

Kuzz
А чего-нибудь понативней нет? У меня не дуалбут, нет флоповода, а у виктории нет загрузочного образа. В досбоксе она естессно не работает.

BattleCoder
Этот загрузочный выводит мне какие-то «primary controller on port 0x…» и «secondary controller on Port 0x…», иещё какую-то «PC-board 3000». ID грит мол device is busy, SMART по всем трём утверждает, что селф-тесты никогда не проводились.

Алсо, пробовал seatools с сайта Seagate – тот вообще после принятия лицензионного соглашения ничего не находит и оставляет возможной только опцию выхода.

Deleted
()

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

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

а у виктории нет загрузочного образа.

Victoria 3.5 Russian. ISO-образ загрузочного CD-ROM (391.76 Kbytes) популярный! 2005-12-17
Настроено для работы с CD, по функциональности аналогично версии для FDD. Создано в Nero 5.

По ссылке, второй снизу пункт.

«Понативней» есть whdd, но ее я не пробовал и советовать не берусь.

Этот загрузочный выводит мне какие-то «primary controller on port 0x…» и «secondary controller on Port 0x…»

MHDD просит выбрать контроллер, через который работать с винтом. И, похоже, не находит ничего, как и SeaTools.

Kuzz ★★★
()
Последнее исправление: Kuzz (всего исправлений: 1)

Если это диск Seagate - снимайте инфу пока есть возможность. Плохие нынче стали сегейты.

SunDoc
()
Ответ на: комментарий от Deleted

В systemrescuecd вроде бы есть образ mhdd. И вообще он grub/isolinux умеют с образов флоппиков грузить.

BattleCoder ★★★★★
()

Gotf

Подтверждение?

Kuzz

По ссылке, второй снизу пункт.

После выбора запуска виктории из светового меню

CONFIG.SYS error in line 19
>>>12345?device=\dos\himem.exe
               ^

«Понативней» есть whdd,

Минусы - работа со smart сводится к отображению параметров в стиле smartctl.
Точнее, к вызову самого smartctl
http://www.stableit.ru/2013/02/whdd.html

SunDoc

нынче

  9 Power_On_Hours          0x0032   075   075   000    Old_age   Always       -       22673

BattleCoder

В systemrescuecd вроде бы есть образ mhdd.

Нативного там не может быть, а образ, пнутый оттуда, как я уже понимаю, всё равно ничего не увидит.

Видимо, остаётся игнорить offline uncorrectable sectors до повышения значения дальше.

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

Подтверждение?

Этот топик. Вернее, топик будет подтверждением, когда ты перезапишешь сектор (man hdparm) и перенос не выполнится. Без перезаписи он так и будет вечно висеть в очереди, независимо от наличия запасных секторов.

А резерв варьируется из-за того, что ремэпы могут делаться ещё на заводе.

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

Нативного там не может быть, а образ, пнутый оттуда, как я уже понимаю, всё равно ничего не увидит.

Неправильно понимаешь. Но в любом случае можно сделать руками, если есть дискетный образ (http://www.syslinux.org/wiki/index.php/MEMDISK).

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

и перенос не выполнится

Ну я уже забивал какой-то сектор на этом диске нулями, правда, с помощью dd. Тогда ещё их столько reallocated не было, если я ничего не путаю. И меня ещё тогда занимал вопрос, когда диск его метит как битый после забивки нулями? При следующем SMART тесте или когда?

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

правда, с помощью dd

Вроде тоже должно сработать.

И меня ещё тогда занимал вопрос, когда диск его метит как битый после забивки нулями?

В выводе smartctl есть поле «UPDATED», и если там «Always», то этот параметр обновляется на месте, а «Offline» вроде означает обновление при тесте.

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

Хмм… Провернул для него обычные операции по затиранию:

┖ .08 at home $ fdisk /dev/sda
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x43976a6a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63       80324       40131   83  Linux
/dev/sda2           80325   104952644    52436160   83  Linux
/dev/sda3       104952645   109161674     2104515   83  Linux
/dev/sda4       109162496  1953525167   922181336   83  Linux

┎ /home/fargred
┖ .08 at home $ echo $((1670581106-109162496))
1561418610
┎ /home/fargred
┖ .07 at home $ tune2fs -l /dev/sda4 | grep Block
Block count:              230545334
Block size:               4096

Ну и пошло-поехало…

┎ /home/fargred
┖ .04 at home $ cat /tmp/bad_lba 
1670581106
┎ /home/fargred
┖ .05 at home $ echo '(1670581106 - 109162496)/8' | bc > /tmp/bb
┎ /home/fargred
┖ .05 at home $ debugfs
debugfs 1.42.7 (21-Jan-2013)
debugfs:  open /dev/sda4
debugfs:  testb 19577326
Block 19577326 marked in use
А вот это занятно. Я же его вчера ещё отправил в бедблоки у самой ФС. Или это тоже считается in use?
debugfs:  quit
┎ /home/fargred
┖ .05 at home $ dumpe2fs -b /dev/sda4
dumpe2fs 1.42.7 (21-Jan-2013)
195177326
Ну да, вот он, родимый.
┎ /home/fargred
┖ .04 at home $ debugfs
debugfs 1.42.7 (21-Jan-2013)
debugfs:  open /dev/sda4
debugfs:  icheck 195177326
Block	Inode number
195177326	<block not found>
P.S.: Так и должно быть?
debugfs:  quit
┎ /home/fargred
┖ .06 at home $ dd if=/dev/zero of=/dev/sda4 bs=4096 count=1 seek=195177326
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 9.3482e-05 s, 43.8 MB/s
А вот здесь я удивился, так как ожидал Input/Output error.
┎ /home/fargred
┖ .06 at home $ sync
┎ /home/fargred
┖ .05 at home $ smartctl -A /dev/sda
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
…
  5 Reallocated_Sector_Ct   0x0033   099   099   036    Pre-fail  Always       -       61
P.S.: Не увеличилось?!
…
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
Ладно, я дурак, не сообразил сразу. Меня смутило, что раньше беды были только pending, а не offline uncorrectable.

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

В выводе smartctl есть поле «UPDATED», и если там «Always», то этот параметр обновляется на месте, а «Offline» вроде означает обновление при тесте.

Во, спасибо, что прояснил. Хотя они оба сбросились, посмотри.

Кстати, если зона доступных для замещения секторов не ограничена конкретным объёмом, как тогда будет работать SMART c параметром THRESHOLD, который пороговое значение? У Realloc_Sectors_Ct он ведь тоже есть. А если SMART будет брехать, то нафига он будет нужен?

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

Хотя они оба сбросились

Если счётчик переполняется, он сбросится. У Hitachi, например, некоторые счётчики двухбайтовые :) Хотя тут могут быть и какие-то другие причины. По сути, внутренняя логика SMART — личное дело каждого производителя, относительно стандартизированы только конечные значения, а не способы их получения.

Кстати, если зона доступных для замещения секторов не ограничена конкретным объёмом, как тогда будет работать SMART c параметром THRESHOLD, который пороговое значение?

Не знаю, но эта зона точно не может быть неограниченной и контроллер знает её размеры. Это обычный участок диска, не входящий доступный объём, то есть примерно как HPA.

А если SMART будет брехать, то нафига он будет нужен?

Он наверняка будет, но это лучше, чем ничего.

Gotf ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.