HDD. Linux. Проверка HDD на бэдблоки (badblocks checking): различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Категория:HDD __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__»)
 
м (Cless переименовал страницу HDD. Linux. Проверка HDD на бэдблоки в HDD. Linux. Проверка HDD на бэдблоки (badblocks checking) без оставления перенаправления)
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
[[Категория:HDD]]
[[Категория:HDD]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
== Вариант 1 ==
Установка smartctl
<code>yum install smartmontools</code>
Посмотреть данные SMART
smartctl -iHA
Прогнать самотестирование (результаты смотреть через ндцать часов smartctl -a)
<code>smartctl -t long</code>
Проверить/исправить/очистить диск в режиме READ-ONLY
<code>badblocks -svb4096 /dev/sdb</code>
'''!!! READ-WRITE РЕЖИМ - ГАРАНТИРОВАННАЯ ПОТЕРЯ ДАННЫХ !!!'''
<code>'''badblocks -w -svb4096 /dev/sdb'''</code>
   badblocks [параметры] устройство
         устройство        - имя устройства для проверки
         параметры         - необязательные параметры проверки, например
         -b   установка размера блока в байтах
                 Этот параметр желательно определять всегда. Размер используемого блока зависит от типа создаваемой файловой системы и её размера.
         -о   определение имени файла, куда программа размещает номера сбойных блоков.
                 Затем этот файл может быть передан программе, проверяющей/создающей файловую систему, для исключения отмеченных блоков.
         -i   установка имени файла, в котором находятся номера сбойных блоков
                 Использование параметра позволяет исключить повторное обращение к этим блокам при сканировании.
         -p   установка количества проходов проверки
         -n   установка для проверки режима "только для чтения", параметр по умолчанию
         -s   отображение номеров проверяемых блоков        -v   отображение подробной информации во время работы программы
         -w   установка использования при проверке режима записи - Гарантированная потеря данных!
А если бэды уже есть - то нужен GNU ddrescue (не путать с dd_rescue) и второй диск.
== Вариант 2 ==
Поблочное чтение диска, ничего плохого не случится
<code>dd if=/dev/ada0 of=/dev/null bs=512 status=progress</code>
При встрече первого бэд блока программа завершится с ошибкой:
dd: /dev/ada0: Input/output error MiB) transferred 395.000s, 8111 kB/s
  6266577+0 records in
  6266577+0 records out
  3208487424 bytes transferred in 404.157958 secs (7938697 bytes/sec)
Чтобы продолжать сканирование при встрече бэдблока (таким образом выясним сколько всего бэдблоков на диске):
Вывод ошибок в терминал
<code>dd if=/dev/ada0 of=/dev/null bs=8M status=progress '''conv=noerror'''</code>
Вывести ошибки в терминал и записать вывод с ошибками в файл
<code>dd if=/dev/ada0 of=/dev/null bs=8M conv=noerror | & tee /tmp/log.txt</code>
[[Категория:Linux]]
[[Категория:Dd]]

Текущая версия на 12:26, 8 ноября 2023


Вариант 1

Установка smartctl

yum install smartmontools

Посмотреть данные SMART

smartctl -iHA

Прогнать самотестирование (результаты смотреть через ндцать часов smartctl -a)

smartctl -t long

Проверить/исправить/очистить диск в режиме READ-ONLY

badblocks -svb4096 /dev/sdb

!!! READ-WRITE РЕЖИМ - ГАРАНТИРОВАННАЯ ПОТЕРЯ ДАННЫХ !!!

badblocks -w -svb4096 /dev/sdb

   badblocks [параметры] устройство
         устройство        - имя устройства для проверки
         параметры         - необязательные параметры проверки, например
         -b   установка размера блока в байтах
                 Этот параметр желательно определять всегда. Размер используемого блока зависит от типа создаваемой файловой системы и её размера.
         -о   определение имени файла, куда программа размещает номера сбойных блоков.
                 Затем этот файл может быть передан программе, проверяющей/создающей файловую систему, для исключения отмеченных блоков.
         -i   установка имени файла, в котором находятся номера сбойных блоков
                 Использование параметра позволяет исключить повторное обращение к этим блокам при сканировании.
         -p   установка количества проходов проверки
         -n   установка для проверки режима "только для чтения", параметр по умолчанию
         -s   отображение номеров проверяемых блоков        -v   отображение подробной информации во время работы программы
         -w   установка использования при проверке режима записи - Гарантированная потеря данных!

А если бэды уже есть - то нужен GNU ddrescue (не путать с dd_rescue) и второй диск.

Вариант 2

Поблочное чтение диска, ничего плохого не случится

dd if=/dev/ada0 of=/dev/null bs=512 status=progress

При встрече первого бэд блока программа завершится с ошибкой:

dd: /dev/ada0: Input/output error MiB) transferred 395.000s, 8111 kB/s
 6266577+0 records in
 6266577+0 records out
 3208487424 bytes transferred in 404.157958 secs (7938697 bytes/sec)

Чтобы продолжать сканирование при встрече бэдблока (таким образом выясним сколько всего бэдблоков на диске):

Вывод ошибок в терминал

dd if=/dev/ada0 of=/dev/null bs=8M status=progress conv=noerror

Вывести ошибки в терминал и записать вывод с ошибками в файл

dd if=/dev/ada0 of=/dev/null bs=8M conv=noerror | & tee /tmp/log.txt