Диагностика жесткого диска Linux
Проверяем, сколько места занимает папка в Linux
du --max-depth=1 -h
Монтирование ось в chroot
ls /dev/sd*
Если необходимо найти накопители
lsblk -d -o name,rota
Для начала используем команду:
lsblk --raw -o name,type,serial
Результат:
nvme0n1 disk B3534060BJSDKHGX
Чтобы получить список подключенных HDD в систему, выполнить:
fdisk -l
Для того, чтобы посмотреть какие устройства и куда смонтированы, выполнить:
mount
Узнать сколько на каждом из смонтированном носителе занято пространства, выполнить:
df -h
Если мы используем софтовый RAID, его состояние мы можем проверить следующей командой:
cat /proc/mdstat Если всё в порядке, то мы увидим что-то подобное:
Personalities : [raid1]
md1 : active raid1 sdb1[0] sdc1[1]
488383352 blocks super 1.2 [2/2] [UU]
Из вывода видно состояние raid (active), название устройства raid (md1) и какие устройства в него включены (sdb1[0] sdc1[1]), какой именно raid собран (raid1), в нём два диска и они оба работают в raid ([2/2] [UU])
Смотрим скорость чтения с накопителя
hdparm
hdparm -t /dev/sdX Где /dev/sdX - имя устройства которое необходимо проверить.
Полезной программой для анализа нагрузки на диски является iostat, входящей в пакет sysstat
iostat -x С интервалом 10 секунд:
iostat -x 10 Или по определённому накопителю:
iostat -x /dev/sdX Полученные данные покажут нам нагрузку на устройства хранения, статистику по вводу/выводу, процент утилизации накопителя.
Проверка на наличие сбойных блоков:
badblocks -v /dev/sdX Где /dev/sdX - имя устройства которое необходимо проверить.Выполнение данной операции может занять продолжительное время (до нескольких часов) и желательно её выполнение на размонтированной файловой системе, либо в режиме read-only.
Для того, чтобы записать сбойные блоки, выполняем:
badblocks /dev/sdX > /tmp/badblock Где /tmp/badblock - файл куда программа запишет номера сбойных блоков.
Теперь при помощи программы e2fsck мы можем пометить сбойные блоки и они будут в дальнейшем игнорироваться системой. ВНИМАНИЕ! Данная операция должна проводиться на размонтированной файловой системе, либо в режиме read-only! Проверенное устройство и устройство на накотором будут помечаться сбойные блоки должно быть одно и тоже!
e2fsck -l /tmp/badblock /dev/sdX Если были обнаружены сбойные блоки на диске, есть тенденция появления новых бэдблоков, необходимо задуматься о скорейшем копировании данных и замене данного носителя. Приведённые выше команды помогут выявить сбойные блоки и пометить их как таковые, но не спасут «сыпящийся» диск.
Также в своём инструментарии полезно использовать данные полученные из S.M.A.R.T. дисков.
Ставим пакет smartmontools
apt-get install smartmontools Получаем данные S.M.A.R.T. жесткого диска:
smartctl -a /dev/sdX Где /dev/sdX - имя устройства которое необходимо проверить.
Вы получите вывод атрибутов S.M.A.R.T., значение каждого из которых хорошо описаны в Википедии
И ещё:
cat /sys/block/nvme0n1/device/serial