The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как избавиться от нечитаемых сектор..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как избавиться от нечитаемых сектор..."  
Сообщение от auto_tips (ok) on 22-Июл-08, 15:11 
В логе smartd появились подобные свидетельства наличия нечитаемых секторов на диске:

   smartd[798]: Device: /dev/ad5, 15 Currently unreadable (pending) sectors
   smartd[798]: Device: /dev/ad5, 15 Offline uncorrectable sectors

SMART тестирование подтвердило подозрения:

   Запускаем фоновый тест диска, не мешающий основной работе:
      smartctl -t long /dev/ad5
   Ждем завершения периодически просматривая статус:
      smartctl -l selftest /dev/ad5
   В итоге смотрим содержимое лога, в самом конце вывода:
      smartctl -a /dev/ad5
   Имеем:
   # 1  Extended offline  Completed: read failure  90% 2916 10373954

Выявляем полный список сбойных секторов, путем чтения всех данных с диска:

   dd if=/dev/ad5 of=/dev/null bs=512 conv=noerror,sync

В один прекрасный момент появятся надписи вида:

   dd: /dev/ad5: Input/output error
   10373954+0 records in
   10373954+0 records out
   5311464448 bytes transferred in 2427.397393 secs (2188131 bytes/sec)

В системном логе увидим:

   kernel: ad5: TIMEOUT - READ_DMA retrying (1 retry left)  LBA=10373954
   kernel: ad5: TIMEOUT - READ_DMA retrying (0 retries left) LBA=10373954
   ....
   kernel: ad5: FAILURE - READ_DMA timed out LBA=10374109
   kernel: ad5: TIMEOUT - READ_DMA retrying (1 retry left) LBA=10374113

Проверяем, каждый участок еще раз:

   dd if=/dev/ad5 of=/dev/null bs=512 count=1 skip=10373954 conv=noerror,sync

Смотрим какой файл в ФС подпадает под этот блок.

Смотрим и примерно вычисляем номер раздела на который приходится сбойный сектор (LBA 10373954):

   fdisk -s /dev/ad5

   /dev/ad5: 775221 cyl 16 hd 63 sec
   Part        Start        Size Type Flags
   1:          63   398444067 0xa5 0x80
   2:   398444130   382973535 0xa5 0x80

10373954 - 63 = 10373891

   disklabel /dev/ad5s1

   # /dev/ad5s1:
   8 partitions:
   #        size   offset    fstype   [fsize bsize bps/cpg]
     a:  2097152        0    4.2BSD     2048 16384 28552
     b:  4194304  2097152      swap                    
     c: 398444067        0    unused    0  0 # "raw" part
     d:  2097152  6291456    4.2BSD     2048 16384 28552
     e: 10485760  8388608    4.2BSD     2048 16384 28552
     f: 104857600 18874368    4.2BSD     2048 16384 28552
     g: 104857600 123731968    4.2BSD     2048 16384 28552
     h: 162127234 228589568    4.2BSD     2048 16384 28552

Видим, что 10373891 приходится на раздел /dev/ad5s1e
Расчитываем смещение относительно начала раздела:
10373891 - 8388608 = 1985283

Находим иноду, которой принадлежит заданный блок:
   fsdb -r /dev/ad5s1e
   findblk 1985283

повторяем для каждого сбойного сектора
(для Linux нужно использовать debugfs - http://smartmontools.sourceforge.net/BadBlockHowTo.txt)

Пытаемся записать данные в сбойный сектор, чтобы инициировать процесс
ремапинга на диске.

    sysctl kern.geom.debugflags=16 # иначе будет dd: /dev/ad5: Operation not permitted)
    dd if=/dev/zero of=/dev/ad5 bs=512 count=1 skip=10373954 conv=noerror,sync
    sysctl kern.geom.debugflags=0

Если после записи сектор начал читаться - все ok,

если нет - резервная область на диске уже заполнена, пробуем запретить обращещние окружающих секторов в ФС:

   man badsect

  /dev/ad5s1e примонтирован как /usr, создаем директорию /usr/BAD и выполняем
  badsect /usr/BAD 1985283
  fsck -y /dev/ad5s1e

Полезные порты:
   /usr/ports/sysutils/recoverdm
   /usr/ports/sysutils/diskcheckd


URL:
Обсуждается: http://www.opennet.dev/tips/info/1720.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от squirL (ok) on 22-Июл-08, 15:11 
угу... а нормальные люди - меняют диск. ибо если на диске появились сбойные сектора и дисковому ПО уже не хватает резервных секторов их заменять - диск годится только на подставки для кофе.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Имя on 22-Июл-08, 15:33 
Нормальные люди для таких целей используют MHDD и реально (через EraseDelays, хотя не все, конечно) восстанавливают плохие сектора
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Аноним (??) on 22-Июл-08, 22:49 
В любом случае, нормальные люди пользуются или хардварной заменой или mhdd-восстановлением, но никак не псевдоакадемическими извратами адептов культа ктулху :D
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Аноним (??) on 22-Июл-08, 23:18 
>В любом случае, нормальные люди пользуются или хардварной заменой или mhdd-восстановлением, но
>никак не псевдоакадемическими извратами адептов культа ктулху :D

БСДшники походу - нормальный ремонт дисков не осилили зато хитрожопо вывернулись на 2 страницы упражнений с стремным результатом.То есть скан диска - нормально а вот метод починки ... убиться можно.Время специалиста убитое на такой ремапинг по сельски будет стоить дороже чем отремапленый таким макаром хард который начинает проситься на пенсию, в утиль.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от GhostMaster on 22-Июл-08, 23:27 
>>В любом случае, нормальные люди пользуются или хардварной заменой или mhdd-восстановлением, но
>>никак не псевдоакадемическими извратами адептов культа ктулху :D
>
>БСДшники походу - нормальный ремонт дисков не осилили зато хитрожопо вывернулись на
>2 страницы упражнений с стремным результатом.То есть скан диска - нормально
>а вот метод починки ... убиться можно.Время специалиста убитое на такой
>ремапинг по сельски будет стоить дороже чем отремапленый таким макаром хард
>который начинает проситься на пенсию, в утиль.

Дебилы... сидити в своих виндах, у вас мозгов на большее нету.
Этот метод позволяет починить диск при РАБОЧЕМ сервере, на лету. Хотя сомневаюсь что вам знакомо значение слова "сервер".

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от аноним on 23-Июл-08, 04:25 
> Этот метод позволяет починить диск при РАБОЧЕМ сервере, на лету. Хотя сомневаюсь что вам знакомо значение слова "сервер

Это бред. Во-первых, сервер тоже можно выключить и заменить диск - объявить, что 15 минут не будет что-то работать, либо прозрачно перевести все на резервный, если изначально делалось прямыми руками. Во-вторных, на РАБОЧЕМ сервере починить ничего не выйдет по-любому; ведь приложения, работающие с диском, будут нехило "залипать" во время работы с дефектными серверами, но даже если это не критично, описанная операция требует размонтирования раздела, а это означает гашение всех прог, работающих с разделом - что скорее всего примерно эквивалентно перезагрузке.

Ну и в-третьих, если сервер важный, выключение недопустимо, но по каким-то причинам он не зарезервирован - то почему там не используется рейд?? С текущими ценами на ЖД не может быть никакого оправдания сколько-либо критичному серверу без рйда. Если же было решено, что рейд не нужен, то и 24/7 работа сервера не требовалась.


А вообще статья интересная, но странная. Практического смысла в ней мало; во-первых далеко не любой современный диск получится починить таким образом, многим при попытке сделать ремап или просто прочитать битый сектор становится _очень_ плохо, во-вторых ЛЮБОЙ современный винчестер при появлении хоть одного битого сектора нужно немедленно менять. Так они внутри устроены, что битости редко бывают одиночными и затрагивают группу секторов, идущих рядом или на соседних дорожках, плюс наличие физического дефекта поверхности обычно приводит к появлению множественных дефектов вокруг (головка задевает поверхность диска и повреждается, либо микрочастицы магнитного слоя, отлетевшего с поверхности "рассыпаются" по остальным частям диска, либо залетевшая пыль оседает на диск и т.д.).

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Serg11 (??) on 23-Июл-08, 09:39 
>> Этот метод позволяет починить диск при РАБОЧЕМ сервере, на лету. Хотя сомневаюсь что вам знакомо значение слова "сервер
>
>Ну и в-третьих, если сервер важный, выключение недопустимо, но по каким-то причинам
>он не зарезервирован - то почему там не используется рейд??

Не удержался, чтобы не поддакнуть. Ну хотя бы самый простой рейд - зеркало без горячей замены должно быть. Иначе сервер (если его можно сервером назвать) спокойно можно выключить да поменять диски, а не фигней заниматься. Тем более, что день-другой протянет винт до покупки нового, раз в рабочем состоянии. Статью считаю очень интересной в познавательном смысле.
а GhostMaster сразу ругаться, дебилы видите-ли...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Гость on 23-Июл-08, 11:14 
Спасибо, отличная статья! мне очень пригодилась
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Хорошо бы это автоматизировать"  
Сообщение от Дмитрий Ю. Карпов on 23-Июл-08, 11:28 
Хотелось бы видеть скрипт, который всё это делает сам.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от User294 (ok) on 23-Июл-08, 11:32 
>Дебилы... сидити в своих виндах, у вас мозгов на большее нету.
>Этот метод позволяет починить диск при РАБОЧЕМ сервере, на лету. Хотя сомневаюсь
>что вам знакомо значение слова "сервер".

Дебил - это тот кто такой хард на сервере оставит, IMHO.Если у харда высрались бэды которые он сам отремапить не осилил - ему только на сервере и место, ага.И еще дебил - тот у кого конфигурация сервера не позволяет это заменить на лету на исправный хард.А так вас не смущает что I\O error означает что данные из сектора не прочлись?Ах ну да, бравых перцев разрушение файлов на сервере нисколько не пугает.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от User294 (ok) on 23-Июл-08, 11:37 
>Не удержался, чтобы не поддакнуть. Ну хотя бы самый простой рейд -
>зеркало без горячей замены должно быть.

Более того, нормальный райд контроллер просто вырубит такой диск к едреной фене выдав соответствующий статус.

>Тем более, что день-другой протянет винт до покупки нового

Ну да, вопрос в том насколько там активно бэды вылезают и что останется от файловой системы и сколько файлов будет с недостоверными и\или нечитаемыми данными потом.Приколитесь - десяток бэдов в середине многогиговой БД?Так сразу даже и не заметите западла, а когда заметите - у вас может и бэкапов этой базы даже не останется уже.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Аноним (??) on 23-Июл-08, 18:25 
>[оверквотинг удален]
>>Этот метод позволяет починить диск при РАБОЧЕМ сервере, на лету. Хотя сомневаюсь
>>что вам знакомо значение слова "сервер".
>
>Дебил - это тот кто такой хард на сервере оставит, IMHO.Если у
>харда высрались бэды которые он сам отремапить не осилил - ему
>только на сервере и место, ага.И еще дебил - тот у
>кого конфигурация сервера не позволяет это заменить на лету на исправный
>хард.А так вас не смущает что I\O error означает что данные
>из сектора не прочлись?Ах ну да, бравых перцев разрушение файлов на
>сервере нисколько не пугает.

Да что Вы паритесь, в случае автора оригинального поста (GhostMaster) - там сочетание грамотность+стиль/пальцы указывают на готовый клинический диагноз.
А так Вы всё верно написали, User294 :D

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от squirL (ok) on 23-Июл-08, 18:26 
ждем появления очередного резюме на job.ru
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Хорошо бы это автоматизировать"  
Сообщение от Dyr (??) on 23-Июл-08, 20:56 
И даже менял бы диски, да... =)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Раздел полезных советов: Как избавиться от нечитаемых сектор..."  
Сообщение от Аноним (??) on 24-Июл-08, 03:28 
1. Неплохо.
2. слово сервер надо было убрать из статьи, тогда все ок.
3. Здесь более менее все собрано по работе с диском.
4. Мой вывод: мне пригодится.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Раздел полезных советов: Как избавиться от нечитаемых сектор..."  
Сообщение от thealexis email on 24-Июл-08, 11:07 
Согласен!
Применительно к десктопу на котором НЕТ важной информации - пойдет!
Также может быть полезно для оживления отработавших свое в серверах HDD (их реально жалко выбрасывать, под хранение  фильмотеки ИТ отдела они еще могут поработать....)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Раздел полезных советов: Как избавиться от нечитаемых сектор..."  
Сообщение от squirL (ok) on 24-Июл-08, 16:27 
ну так о чем и речь :) ну для дома - так и быть, порево хранить - покатит... ;)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от spamtrap (ok) on 24-Июл-08, 17:40 
на планете три нормальных человека?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Хорошо бы это автоматизировать"  
Сообщение от User294 (ok) on 25-Июл-08, 12:28 
>И даже менял бы диски, да... =)

Угу, а еще чтобы мозг админа собой заменял ;)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от ip email(??) on 25-Июл-08, 13:30 
Спасибо автору.
Про sysctl kern.geom.debugflags=16 не знал, как раз представился случай испробовать, появился диск с бэдами.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от Andrew Kolchoogin on 30-Июл-08, 12:40 
> Про sysctl kern.geom.debugflags=16 не знал,

    sysinstall в 7.0 уже про него сам пишет. Как только пытаешься создать раздел на диске, с которого загрузился, sysinstall честно орет, что "Operation not permitted -- try set kern.geom.debugflags=16" :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от zerot email(??) on 07-Авг-08, 10:45 
скорее для многосот - гиговой
ну дак ведь бэкап правильными средствами проверяет блоки на читаемость (RMAN),
есть и dbv для проверки файлов БД ...
конечно, если это Oracle
хотя конечно - никто не застрахован, ибо работодатель жаждет видеть одмина загруженным по самые гланды
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Раздел полезных советов: Как избавиться от нечитаемых сектор..."  
Сообщение от z.alex on 02-Ноя-08, 00:24 
1. Полезно, оч. интересно, но исключельно для домашнего использования. Т.е. "ОЧЕНЬ непрофессиольно".
ИМХО в начале таких статей нужно крупными буквами оговариваться "не для работы/для экпирементов/на свой страх и риск", чего не было сделано, что и возмутило многих читавших.
2. Бывают случаи, когда в результате временного перегрева или др. полетело несколько секторов, но потом поменяли кулер или др,да и диск не из дешёвой серии, и "теоретически/в_принципе" можно воспользоваться этим полезным(?) советом. См п.1
3. "О чём бы не шла речь -- в конечном счёте речь идёт ол деньгах"
Все эти манипуляции/мастурбации с одним могут занять десятки часов. Совет применим к случаям, когда человекочас стоит не более чем 3..5 долл. Можно пересчитать точнее исходя из текущей стоимости Гига и стоимости Гига на убитом винте, затрат времени на тестирование Гиго/Теров, вывести формулу, и тд....
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Как избавиться от нечитаемых секторов на диске"  
Сообщение от XAnder (ok) on 15-Янв-09, 10:03 
> dd if=/dev/zero of=/dev/ad5 bs=512 count=1 skip=10373954 conv=noerror,sync

Ой-ой-ой!!! Эта команда сначала будет долго-долго тормозить, а потом затрёт нулевой сектор на ad5!

Нужно заменить skip на seek

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру