Linux: проверка диска на bad blocks

Автор: | 14/01/2019

Имеется у нас билд-агент для Jenkins, запущен на Ubuntu 16.

Периодически при загрузке машина подвисает сразу после запуска GRUB.

Один из вариантов поиска проблемы – проверить диск на предмет наличия битых секторов.

Для этого можно использовать утилиты badblocks из набора e2fsprogs, и smartctl из набора smartmontools.

Содержание

badblocks

Проверяем диски на этой машине:

[simterm]

root@username-ci:~# fdisk  -l
Disk /dev/sda: 223,6 GiB, 240057409536 bytes, 468862128 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
Disklabel type: gpt
Disk identifier: 861359CC-45AD-437A-B8EC-5EEC601F0884

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624   2050047    999424   488M Linux filesystem
/dev/sda3  2050048 468860927 466810880 222,6G Linux filesystem

[/simterm]

/dev/sda2/boot-раздел, который и надо проверить, а /dev/sda3 – LVM-раздел с root и home.

Запускаем badblocks:

[simterm]

root@username-ci:~# badblocks -v /dev/sda2
Checking blocks 0 to 499711
Checking for bad blocks (read-only test): done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)

[/simterm]

Можно добавить -s, что бы отображать прогресс проверки.

smartctl

Устанавливаем smartmontools:

[simterm]

root@username-ci:~# apt -y install smartmontools

[/simterm]

И проверяем диск, используя -H:

[simterm]

root@username-ci:~# smartctl -H /dev/sda2 
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.15.0-43-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

[/simterm]

Больше примеров по SMART – см. в посте S.M.A.R.T: проверка HDD – описание атрибутов, значение атрибутов, утилиты, параметры (2013 год, правда).