grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
Для того чтобы HDD своими методами проверил и переназначил в случае надобности битый сектор нужно произвести запись badblock -w не умеет этого делать в фоне, да и диск затирает есть ли утилиты умеющие это делать в фоне(без необходимости отмонтировать диск) и без разрушения информации? |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
https://wiki.archlinux.org/index.php/Identify_damaged_files#Force_the_disk_to_reallocate_bad_block А какие проблемы? |
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
смарт тест не проходит как видно ранее подобное было, но исчезало, только не помню после чего, виктории наверно или mhdd
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
Четыре блока не много. Можно попробовать переписать нулями чтобы заменить сектор, но если ошибетесь или сектор на данных потеряете информацию инструция https://www.alexeykopytko.com/2018/smartctl-dd/ |
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
нулями - это с возможной потерей, не вариант в моём понимании алгоритм софтины должен быть таким: 1. считывает сектор(ы) и запоминает его содержимое 2. пишет в него с последующей проверкой 1010, 0101 и т.п. маски, если ошибка - вывести инфу 3. восстанавливает исходные данные сохранённые в шаге №1 4. следующий сектор(ы) |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
grayichНе слышал про такую , может Vasek что подскажет или еще кто то Вариант забить не подходит? Если на сбойный сектор запись попадет он автоматом переназначится, а если на нем данные то им и так уже ... |
redix |
|
Темы:
34
Сообщения:
3433
Участник с: 11 марта 2013
|
vs220Согласен, году в 2010-м купил винт на 500 гиг, gnome-disk-utility показала 128 перемещенных секторов, винт давно продан, стоит у человека, и все так же показывает 128.
In Tux We Trust
|
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
неужели не существует человеческой утилитки для вычисления файла по его LBA ? бо вручную вычислять например так - не прикольно |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
grayichЭти утилиты вообще не нужны. Современные HDD - это миникомпьютеры и все что нужно они это делают сами. В части bad блоков - при неустойчивом чтении сектора, или же ошибки его чтения, SMART заносит его в список нестабильных и увеличит их счетчик (Current_Pending_Sector). Если при повторном обращении сектор будет прочитан без проблем, он будет выброшен из этого списка. Если же нет, то при представившейся возможности - при отсутствии обращений к диску, диск начнет самостоятельную проверку поверхности, в первую очередь подозрительных секторов. Если сектор будет признан сбойным, то он будет переназначен на сектор из резервной поверхности. Такое фоновое переназначение приводит к тому, что на современных винчестерах сбойные секторы практически никогда не видны при проверке поверхности сервисными программами. HDD имеет два дефект-листа P-list (Primary, заводской) и G-list (Growth, формируется непосредственно во время эксплуатации). И при большом числе переназначений может оказаться так, что в G-list не оказывается места для записи о новом переназначении. Эта ситуация может быть выявлена по высокому показателю переназначенных секторов в SMART. Что от юзера требуется, то это определить какие функции поддерживает его HDD, проверить активирована ли функция SMART, при необходимости настроить автопроверку. Но луше делать это в ручную, минимум 1 раз в полгода/год, в зависимости от состояния HDD и динамического изменения основных параметров. И рекомендую сохранять периодически выводы smartctl -A /dev/sda, чтобы отслеживать динамику. Привожу вывод в части bad блоков своего HDD после 8 лет эксплуатации
В части появления bad блоков в выводе self-test, точнее в столбце LBA_of_first_error - теоретически, этот блок должен быть переназначен, но не всегда все так просто - не буду расписывать, а приведу расширенную выдержку из документации В таких случаях желательно провести дополнительный анализ bad блока для потдвержения ошибки используя hdparm.В принципе в документации описано несколько вариантов решения данной проблемы, но не привожу - есть опасность при неправильном выполнении. UPD - правда можно переназначить bad блок используя fsck - есть такая опция, но никогда не использовал. Но лучше, наверное, сделать запись в этот блок, используя hdparm grayichВ таких случаях надежнее считать ручками, слишком много нужно объяснять утилите - размер сектора HDD, размер сектора/блока файловой структуры (это разные понятия), плюс к этому расположение разделов на диска и др. А цена ошибки здесь слишком большая. Да в принципе это и считается довольно просто, к тому же очень редко требуется. EDIT 1 - а вообще в таких случаях или ждут, пока HHD перестанет упрямится и переназначит данный блок, или делают эту вручную, используя dd или hdparm
Ошибки не исчезают с опытом - они просто умнеют
|
jim945 |
|
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
grayichИ зачем тут утилита? Высчитать один раз и так пойдет. А если не один, то сложно команды в скрипт сложить?
Lupus pilum mutat, non mentem.
|