- 🐧 Как сканировать / обнаруживать новые LUN и SCSI-диски на Linux
- Метод 1: Как найти новые LUN и SCSI-диски в Linux с помощью файла класса «/ sys»
- Метод 2: Как просканировать новые LUN и SCSI-диски в Linux с помощью скрипта
- 3 Useful GUI and Terminal Based Linux Disk Scanning Tools
- 1. fsck – Filesystem Consistency Check
- 2. badblock
- 3. S.M.A.R.T System Utilities
- i. Smartctl
- ii. Gnome Disk Utility( or Disks)
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- How to Scan/Detect New LUNs on Linux
- Check the number of attached disks
- 1) Using /sys class file
- Method to find Channel Routes
- Another Method
- 2) Scan lun with multipath/powermt
- 3) Using Script
- Conclusion
- Проверка жесткого диска в Linux
- Установка Smartmontools
- Проверка жесткого диска в smartctl
- Автоматическая диагностика в smartd
- Проверка диска на ошибки в GUI
- Выводы
- Оцените статью:
- Об авторе
- 9 комментариев
🐧 Как сканировать / обнаруживать новые LUN и SCSI-диски на Linux
Когда система Linux подключена к SAN (Storage Area Network), вам необходимо повторно просканировать службу iSCSI, чтобы обнаружить новые LUN.
Для этого вы должны предоставить группе хранения данных номер WWN хоста Linux и требуемый размер LUN.
После того, как группа хранения сопоставит LUN с заданным хостом Linux, они предоставят вам новые сведения о LUN.
LUN в терминах хранения называется последовательным шестнадцатеричным номером LUN.
Вам необходимо просканировать хост SCSI, чтобы найти новые LUN, назначенные группой хранения.
Это можно сделать двумя способами: сканировать каждое хост-устройство scsi или запустить скрипт rescan-scsi-bus.sh для обнаружения новых дисков.
После сканирования их можно будет найти в каталоге «/dev/disk/by-id».
Кроме того, вы можете найти их с помощью команды Multipath, если они уже настроены с Multipath.
Multipath в основном настраивается на сервере базы данных Oracle для повышения производительности.
Метод 1: Как найти новые LUN и SCSI-диски в Linux с помощью файла класса «/ sys»
Файловая система sysfs – это псевдофайловая система, которая предоставляет интерфейс для структур данных ядра.
Файлы в sysfs предоставляют информацию об устройствах, модулях ядра, файловых системах и других компонентах ядра.
Файловая система sysfs обычно монтируется в «/sys».
Обычно она устанавливается системой автоматически.
Вы можете использовать команду echo для сканирования каждого хост-устройства scsi, как показано ниже.
- c – Канал на HBA
- t – целевой идентификатор SCSI
- l – LUN ID
- n – номер HBA
Выполните приведенную ниже команду, чтобы найти все номера хост-шины в вашей системе.
Как только вы получите номер хост-шины, выполните следующую команду, чтобы обнаружить новые диски.
Кроме того, их можно просканировать с помощью «цикла for» с помощью одной команды.
Вы можете проверить их с помощью команды ls, как упоминалось в начале статьи.
Метод 2: Как просканировать новые LUN и SCSI-диски в Linux с помощью скрипта
Убедитесь, что вы уже установили пакет «sg3_utils», чтобы использовать этот сценарий. В противном случае выполните следующую команду, чтобы установить его.
Для систем RHEL/CentOS 6/7 используйте команду yum для установки sg3_utils.
Для систем RHEL / CentOS 8 и Fedora используйте команду dnf для установки sg3_utils.
Источник
3 Useful GUI and Terminal Based Linux Disk Scanning Tools
There mainly two reasons for scanning a computer hard disk: one is to examine it for filesystem inconsistencies or errors that can result from persistent system crashes, improper closure of critical system software and more significantly by destructive programs (such as malware, viruses etc).
And another is to analyze its physical condition, where we can check a hard disk for bad sectors resulting from physical damage on the disk surface or failed memory transistor.
In this article, we will review a mix of GUI and terminal based disk scanning utilities for Linux.
In case you notice any unusual behavior from a computer hard disk or a particular partition, one of the first things you can always investigate is filesystem inconsistency or errors and there is no other better utility for performing this other than fsck.
1. fsck – Filesystem Consistency Check
fsck is a system utility used to check and optionally repair a Linux filesystem. It is a front-end for several filesystem checkers.
Warning: Try out fsck commands on test Linux servers only, unless you know what you’re doing..
Always unmount a partition first before you can run fsck on it.
In the command below, the switch:
- -t – specifies the filesystem type.
- -V – enables verbose mode.
You can find detailed usage instructions in the fsck man page:
Once you have performed filesystem inconsistency tests, you proceed to carry out physical condition assessments.
2. badblock
badblocks is a utility for scanning bad blocks or bad sectors in hard disks. Assuming you detect any bad blocks on your hard disk, you can use it together with fsck or e2fsck to instruct the kernel not to use the bad blocks.
For more information on how to check bad blocks using badblock utility, read: How to Check Bad Sectors or Bad Blocks on Hard Disk in Linux.
3. S.M.A.R.T System Utilities
S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) is a system built into nearly all modern ATA/SATA and SCSI/SAS hard disks as well as solid-state disks.
It collects in-depth information about a supported hard disk and you can get that data using the utilities below.
i. Smartctl
smartctl is one of the two utilities under the smartmontools package. It is a command line utility which controls and monitors the S.M.A.R.T system.
To install smartmontools package, run the applicable command below for your distro:
The following is an example of a smartctl command for reporting hard disk partition health where the option -H helps to show the general partition health condition after a self-test:
Look through the smartctl man page for more usage guidelines:
There is a GUI front-end for smartctl called gsmartcontrol which can be installed as follows:
GSmart Control – Linux Disk Scanning Tool
ii. Gnome Disk Utility( or Disks)
Gnome disk utility offers a GUI for doing all the partition management related tasks such as creating, deleting, mounting partitions and beyond. It comes pre-installed in majority of mainstream Linux systems such as Ubuntu, Fedora, Linux Mint and others.
To use it on Ubuntu, open the Dash and search for Disks, on Linux Mint, open Menu and search for Disks and on Fedora, click on Activities type Disks.
Gnome Disk Utility for Linux Disk Scanning
More importantly, it can as well provide S.M.A.R.T data and effect self-tests as in the following interface.
Gnome Disk Utility for Linux Disk Scanning
That’s it! In this article, we reviewed hard disk scanning utilities for Linux operating system. You can share with us any utilities/tools for the same purpose, that are not mentioned in the list above or ask any related questions all in the comments.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
How to Scan/Detect New LUNs on Linux
When you are running RedHat Enterprise Linux 5, 6, and 7 series system with DM-Multipath and the software iSCSI initiator, you can discover new LUNs by rescanning the iSCSI service on the host.
Rescanning the service will display all the newly created LUNs that have been mapped to the host. In this tutorial I will show commands to scan and detect (outputs to check) new luns attached to the Centos/RHEL server.
To scan new FC LUNS and SCSI disks in Linux, you can use the echo script command for a manual scan that doesn’t require a system reboot. But, from Redhat Linux 5.4 onwards, Redhat introduced /usr/bin/rescan-scsi-bus.sh script to scan all the LUNs and update the SCSI layer to reflect new devices.
Check the number of attached disks
You use the below commands to identify existing LUNs and how to add newly mapped LUNs to Linux.
You can use the following command to have better output of all the disks
1) Using /sys class file
You can use the echo command to scan each scsi host device as below. Now to rescan the bus, use the following command
The three dash («- — -«) of the command act as wildcards meaning rescan everything. Remember that the three values normally stand for channel, SCSI target ID, and LUN.
- h is the HBA number
- c is the channel on the HBA
- t is the SCSI target ID
- l is the LUN.
If you don’t have the host bus number, you must list all the existing host bus number on your system with the command
Then you will scan every iscsi disk found and scan after every scanning if the new disk was detected. It means
It may look like very simple as we perform this operation but the system has much work to do in the background when you execute storage scanning commands.
Method to find Channel Routes
If we know the channel, target ID and LUN address, we can scan using that. Here, we have 4 HBA emulex cards 0, 1, 2 and 3.
Through card 0 and 2,
It has the same WWNN (World Wide Node Name) for all the 4 WWPN (World Wide Port Name).
We can do a depth research by filtering the WWPN (World Wide Port Name) to have more information
This indicates there are four Fibre Channel routes to this target.
So now, you can scan for LUNs as follows and addresss «8» is given by storage team.
The output of SCSI file is illustrated for your reference:
Another Method
If you don’t have the host bus number, you must list all the existing host bus number on your system with the command
On the output, host0 is the relevant field. As we have said earlier, we need to have the host bus number to determine what to scan
Then you will scan every iscsi disk found and scan after every scanning if the new disk was detected. It means
If you have too many hosts (from host0 to host20 for example), you can use the command below
or you can try (this one for Fibre Channel)
# for host in `ls /sys/class/fc_host/`; do
echo «1» >/sys/class/fc_host/$
done
Can devices be rescanned in Linux OS without reloading the Linux driver?
There is a procedure which forces the driver to rescan the targets and to allow a new device which is to be added. This triggers the driver to initiate a LUN discovery process.
To force a rescan from the command line, type the following command:
# echo «scsi-qlascan» > /proc/scsi//
— = qla2100, qla2200, qla2300 (2.4 kernel drivers) or qla2xxx (2.6 kernel drivers)
— = the instance number of the HBA
After executing this command, force the SCSI mid layer to do its own scan and build the device table entry for the new device by typing the following command:
# echo «scsi add-single-device 0 1 2 3» >/proc/scsi/scsi
— «0 1 2 3» = your «Host Channel ID LUN»
The scanning must be done in the above-mentioned order; first the driver (qla2300/qla2200 driver, etc.) and then the Linux SCSI mid-layer (i.e. OS scan).
2) Scan lun with multipath/powermt
You can check current multipath setup using multipath or powermt command.
If EMC powerpath is installed, check the disk/multipath status as below:
Multipath daemon will automatically add attached devices if it’s configured properly. For powermt, we need to run below command manually.
3) Using Script
You can rescan using the SCSI rescan script which will detect new luns and add it to your server automatically. You can find this script in sg3_utils package.
Conclusion
For storage (Netapp,equallogic) that use iscsi target, command iscsiadm -m session —rescan could be used to rescan when new lun added to the target. I would recommend always to use vendor-specific script or tools to scan Luns.
I hope you have enjoyed reading and let us know if you found any other method to scan storage disk devices.
Источник
Проверка жесткого диска в Linux
Если и есть то, с чем вы очень не хотите столкнуться в вашей операционной системе, то это неожиданный выход из строя жестких дисков. С помощью резервного копирования и технологии хранения RAID вы можете очень быстро вернуть все данные на место, но потеря аппаратного устройства может очень сильно сказаться на бюджете, особенно если вы такого не планировали.
Чтобы избежать таких проблем можно использовать пакет smartmontools. Это программный пакет для управления и мониторинга устройств хранения данных с помощью технологии Self-Monitoring Analysis and Reporting Technology или просто SMART.
Большинство современных ATA/SATA/SCSI/SAS накопителей информации предоставляют интерфейс SMART. Цель SMART — мониторинг надежности жесткого диска, для выявления различных ошибок и своевременного реагирования на их появление. Пакет smartmontools состоит из двух утилит — smartctl и smartd. Вместе они представляют мощную систему мониторинга и предупреждения о возможных поломках HDD в Linux. Дальше будет подробно рассмотрена проверка жесткого диска linux.
Установка Smartmontools
Пакет smartmontools есть в официальных репозиториях большинства дистрибутивов Linux, поэтому установка сводится к выполнению одной команды. В Debian и основанных на нем системах выполните:
sudo apt install smartmontools
sudo yum install smartmontools
Во время установки надо выбрать способ настройки почтового сервера. Можно его вовсе не настраивать, если вы не собираетесь отправлять уведомления о проблемах с диском на почту.
Отправлять почту получится только на веб-сервере, к которому привязан домен, на локальной машине можно выбрать пункт только для локального использования и тогда почта будет складываться в локальную папку и её можно будет посмотреть утилитой mail. Теперь можно переходить к диагностике жесткого диска Linux.
Проверка жесткого диска в smartctl
Сначала узнайте какие жесткие диски подключены к вашей системе:
ls -l /dev | grep -E ‘sd|hd’
В выводе будет что-то подобное:
Здесь sdX это имя устройства HDD подключенного к компьютеру.
Для отображения информации о конкретном жестком диске (модель устройства, S/N, версия прошивки, версия ATA, доступность интерфейса SMART) Запустите smartctl с опцией info и именем жесткого диска. Например, для /dev/sda:
smartctl —info /dev/sda
Хотя вы можете и не обратить внимания на версию SATA или ATA, это один из самых важных факторов при поиске замены устройству. Каждая новая версия ATA совместима с предыдущими. Например, старые устройства ATA-1 и ATA-2 прекрасно будут работать на ATA-6 и ATA-7 интерфейсах, но не наоборот. Когда версии ATA устройства и интерфейса не совпадают, возможности оборудования не будут полностью раскрыты. В данном случае для замены лучше всего выбрать жесткий диск SATA 3.2.
Запустить проверку жесткого диска ubuntu можно командой:
smartctl -s on -a /dev/sda
Здесь опция -s включает флаг SMART на указном устройстве. Вы можете его убрать если поддержка SMART уже включена. Информация о диске разделена на несколько разделов, В разделе READ SMART DATA находится общая информация о здоровье жесткого диска.
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment rest result: PASSED
Этот тест может быть пройден (PASSED) или нет (FAILED). В последнем случае сбой неизбежен, начинайте резервное копирование данных с этого диска.
Следующая вещь которую можно посмотреть, когда выполняется диагностика HDD в linux, это таблица SMART атрибутов.
В SMART таблице записаны параметры, определенные для конкретного диска разработчиком, а также порог отказа для этих параметров. Таблица заполняется автоматически и обновляется на основе прошивки диска.
- ID # — идентификатор атрибута, как правило, десятичное число между 1 и 255;
- ATTRIBUTE_NAME — название атрибута;
- FLAG — флаг обработки атрибута;
- VALUE — это поле представляет нормальное значение для состояния данного атрибута в диапазоне от 1 до 253, 253 — лучшее состояние, 1 — худшее. В зависимости от свойств, начальное значение может быть от 100 до 200;
- WORST — худшее значение value за все время;
- THRESH — самое низкое значение value, после перехода за которое нужно сообщить что диск непригоден для эксплуатации;
- TYPE — тип атрибута, может быть Pre-fail или Old_age. Все атрибуты по умолчанию считаются критическими, то-есть если диск не прошел проверку по одному из атрибутов, то он уже считается не пригодным (FAILED) но атрибуты old_age не критичны;
- UPDATED — показывает частоту обновления атрибута;
- WHEN_FAILED — будет установлено в FAILING_NOW если значение атрибута меньше или равно THRESH, или в «—» если выше. В случае FAILING_NOW, лучше как можно скорее выполнить резервное копирование, особенно если тип атрибута pre-fail.
- RAW_VALUE — значение, определенное производителем.
Сейчас вы думаете, да smartctl хороший инструмент, но у меня нет возможности запускать его каждый раз вручную, было бы неплохо автоматизировать все это дело чтобы программа запускалась периодически и сообщала мне о результатах проверки. И это возможно, с помощью smartd.
Автоматическая диагностика в smartd
Автоматическая диагностика HDD в Linux настраивается очень просто. Сначала отредактируйте файл конфигурации smartd — /etc/smartd.conf. Добавьте следующую строку:
/dev/sda -m myemail@mydomain.com -M test
- -m — адрес электронной почты для отправки результатов проверки. Это может быть адрес локального пользователя, суперпользователя или внешний адрес, если настроен сервер для отправки электронной почты;
- -M — частота отправки писем. once — отправлять только одно сообщение о проблемах с диском. daily — отправлять сообщения каждый день если была обнаружена проблема. diminishing — отправлять сообщения через день если была обнаружена проблема. test — отправлять тестовое сообщение при запуске smartd. exec — выполняет указанную программу в место отправки почты.
Сохраните изменения и перезапустите smartd:
sudo systemctl restart smartd
Вы должны получить на электронную почту письмо о том, что программа была запущена успешно. Это будет работать только если на компьютере настроен почтовый сервер.
Также можно запланировать тесты по своему графику, для этого используйте опцию -s и регулярное выражение типа T/MM/ДД/ДН/ЧЧ, где:
Здесь T — тип теста:
- L — длинный тест;
- S — короткий тест;
- C — тест перемещения (ATA);
- O — оффлайн тест.
Остальные символы определяют дату и время теста:
- ММ — месяц в году;
- ДД — день месяца;
- ЧЧ — час дня;
- ДН — день недели (от 1 — понедельник 7 — воскресенье;
- MM, ДД и ЧЧ — указываются с двух десятичных цифр.
Точка означает все возможные значения, выражение в скобках (A|B|C) — означает один из трех вариантов, выражение в квадратных скобках 1 означает диапазон (от 1 до 5).
Например, чтобы выполнять полную проверку жесткого диска linux каждый рабочий день в час дня добавьте опцию -s в строчку конфигурации вашего устройства:
/dev/sda -m myemail@mydomain.com -M once -s (L /../../1/13)
Если вы хотите чтобы утилита сканировала и проверяла все устройства, которые есть в системе используйте вместо имени устройства директиву DEVICESCAN:
DEVICESCAN -m myemail@mydomain.com -M once -s (L /../../2/13)
Проверка диска на ошибки в GUI
В графическом интерфейсе тоже можно посмотреть информацию из SMART. Для этого можно воспользоваться приложением Gnome Диски, откройте его из главного меню, выберите нужный диск, а затем кликните по пункту Данные самодиагностики и SMART в контекстном меню:
В открывшемся окне вы увидите те же данные диагностики SMART, а также все атрибуты SMART и их состояние:
Выводы
Если вы хотите быстро проверить механическую работу жесткого диска, посмотреть его физическое состояние или выполнить более-менее полное сканирование поверхности диска используйте smartmontools. Не забывайте выполнять регулярное сканирование, потом будете себя благодарить. Вы уже делали это раньше? Будете делать? Или используете другие методы? Напишите в комментариях!
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
9 комментариев
Вы слишком замудрили в данной статье. Легче написать smartctl —scan и всё сразу видно.
И ещё у меня такую ошибку выдало Error 4324 occurred at disk power-on lifetime: 15035 hours (626 days + 11 hours)
А куда обращатся непонятно.
Подскажите пожалуйста, можно ли получить карту диска, наподобие таковой в виктории, программой под линукс?
Не знаю такой, как вариант после проверки диска командой:
ddrescue -n -f /dev/sdX /dev/null file.log
или после клонирования на другое устройство можно посмотреть графическую карту с помощью:
ddrescueview file.log
Консольный вариант: ddrescuelog -t file.log
whdd наверное хорошо, только deb пакетов нет, а из исходников не собирается.
hard disk sentinel через ./ запустил и окей
Здравствуйте!
У меня получается непонятка.
По smart характеристикам диск хороший,
но после запуска самотестирования выдает ошибки чтения в одних и тех же секторах
Что это значит?
счас приведу выхлоп
sudo smartctl —all /dev/sda
.
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always — 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline — 0
3 Spin_Up_Time 0x0027 100 100 001 Pre-fail Always — 1795
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always — 3920
5 Reallocated_Sector_Ct 0x0033 100 100 050 Pre-fail Always — 0
7 Seek_Error_Rate 0x000b 100 100 050 Pre-fail Always — 0
8 Seek_Time_Performance 0x0005 100 100 050 Pre-fail Offline — 0
9 Power_On_Hours 0x0032 074 074 000 Old_age Always — 10664
10 Spin_Retry_Count 0x0033 178 100 030 Pre-fail Always — 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always — 3627
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always — 372
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always — 67
193 Load_Cycle_Count 0x0032 096 096 000 Old_age Always — 49523
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always — 36 (Min/Max 7/47)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always — 0
197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always — 272
198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline — 7
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always — 0
220 Disk_Shift 0x0002 100 100 000 Old_age Always — 0
222 Loaded_Hours 0x0032 076 076 000 Old_age Always — 9681
223 Load_Retry_Count 0x0032 100 100 000 Old_age Always — 0
224 Load_Friction 0x0022 100 100 000 Old_age Always — 0
226 Load-in_Time 0x0026 100 100 000 Old_age Always — 266
240 Head_Flying_Hours 0x0001 100 100 001 Pre-fail Offline — 0
в то же время внутренний лог говорит о фиксации 79 ошибок:
SMART Error Log Version: 1
ATA Error Count: 79 (device log contains only the most recent five errors)
а вот результаты самотестирования, которые я запускал:
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Selective offline Completed: read failure 00% 10662 516606384
# 2 Selective offline Completed: read failure 00% 10662 516606376
# 3 Selective offline Completed: read failure 00% 10662 516606376
# 4 Selective offline Completed: read failure 00% 10662 516606368
# 5 Selective offline Completed: read failure 00% 10662 516606368
# 6 Selective offline Completed: read failure 00% 10661 164354232
# 7 Selective offline Completed without error 00% 10661 —
# 8 Selective offline Completed: read failure 00% 10661 102832
# 9 Selective offline Completed: read failure 00% 10660 100296
#10 Short offline Completed: read failure 00% 10660 100296
#11 Selective offline Completed without error 00% 10660 —
#12 Short offline Completed: read failure 00% 10659 100296
#13 Extended offline Completed: read failure 00% 10371 100296
#14 Extended offline Aborted by host 90% 10367 —
#15 Short offline Completed: read failure 00% 10367 100296
#16 Short offline Completed: read failure 00% 10367 100296
#17 Short offline Completed: read failure 00% 10363 100296
#18 Short offline Completed: read failure 00% 10363 100296
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 516606384 1953525160 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
из них видно куча bad секторов, а смарт атрибуты(выше) говорят что все ок.
Что это означает, не подскажете?
Источник