Архив метки: HDD/SSD

Установка KDiskMark на Linux

В этой статье поговорим о утилите, аналоги CrystalDiskMark, для тестирования производительности дисков в операционных системах Linux.






KDiskMark – это инструмент для тестирования жестких дисков и SSD с очень удобным графическим интерфейсом. Приложение написано на C ++ с Qt и не имеет никаких зависимостей от KDE.




Установка KDiskMark




Установка из Snap Store




sudo snap install kdiskmark
sudo snap connect kdiskmark:removable-media # внешние хранилища




Дистрибутивы на базе Ubuntu




sudo add-apt-repository ppa:jonmagon/kdiskmark
sudo apt update
sudo apt install kdiskmark




Дистрибутивы на основе Arch




KDiskMark включен в официальный репозиторий сообщества. Вы можете установить его как любой другой пакет:




sudo pacman -Syu kdiskmark




Дистрибутив Fedora




KDiskMark включен в официальный репозиторий Fedora. Вы можете установить его как любой другой пакет:




sudo dnf install kdiskmark




Дистрибутив openSUSE Tumbleweed




sudo zypper install kdiskmark




Сборка пакета для вашего дистрибутива




Создание пакета с использованием CPack




Вы можете создать KDiskMark с помощью следующих команд:




mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
cpack -G DEB # Or RPM, ZIP etc.




Локализация 




Доступные в настоящее время языки:







То, что надо, если ищете аналог известной утилиты CrystalDiskMark.





Страница проекта: github.com/…ark



[endtxt]




. . . .




2022-09-22T22:21:38
HDD/SSD

Проверка SMART информации HDD/SSD на Linux

Сегодня поговорим о том, как можно проверить SMART информацию HDD/SSD дисков на Linux системах. Проверять будем утилитой smartmontools.






Проверка HDD/SSD дисков




sudo smartctl -d ata -H /dev/sda




  • d – Указывает тип устройства.
  • ata – тип устройства ATA, используйте scsi для типа устройства SCSI.
  • H – Проверяет устройство, чтобы сообщить о его состоянии и работоспособности.




У меня вывод был следующий:




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




По данному выводу можно сказать, что диск в порядке.




Тестирование HDD/SSD дисков




Теперь давайте протестируем диск. Чтобы инициировать короткий тест (short), выполните следующую команду::




sudo smartctl -t short /dev/sda




Получим вывод о том, что тест будет продолжаться 2 минуты.




=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Sun Jan  9 12:15:34 2022 +04
Use smartctl -X to abort test.




Запустим selftest команду, отчет о проверки диска, с отсрочкой на две минуты:




sudo sh -c 'sleep 120 && smartctl -l selftest /dev/sda'




Мой вывод был следующий




=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     11815




Прогоним тесты ещё раз. В конце получаю вот такой результат:




=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     11815         -
# 2  Short offline       Completed without error       00%     11815




Тесты совпадают, значит с диском все в порядке. Если у вас будут разные результаты, то советую такой диск поменять.




Чтобы инициировать расширенный тест (long), выполните следующую команду:




sudo smartctl -t long /dev/sda




Получим вывод о том, что тест будет продолжаться 30 минут.




Запустим selftest команду, отчет о проверки диска, с отсрочкой на 30 минут:




sudo sh -c 'sleep 1800 && smartctl -l selftest /dev/sda'




Получим следующий вывод:




=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     11816         -
# 2  Short offline       Completed without error       00%     11815         -
# 3  Short offline       Completed without error       00%     11815         -




Тесты совпадают, значит с диском все в порядке.




Журналы ошибок диска




Вы можете распечатать журналы ошибок диска с помощью команды:




sudo smartctl -l error /dev/sda




=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logge




На диске /dev/sda ошибок нет.




Приведу пример с диска с ошибками:




=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 41 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 41 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 40 30 c5 33 e4  Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 40 30 c5 33 e4 08      00:40:53.424  READ DMA
  ef 10 02 00 00 00 a0 08      00:40:53.423  SET FEATURES [Enable SATA feature]
  ec 00 00 00 00 00 a0 08      00:40:53.422  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08      00:40:53.422  SET FEATURES [Set transfer mode]

Error 40 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 40 30 c5 33 e4  Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 40 30 c5 33 e4 08      00:40:51.701  READ DMA
  ef 10 02 00 00 00 a0 08      00:40:51.701  SET FEATURES [Enable SATA feature]
  ec 00 00 00 00 00 a0 08      00:40:51.699  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08      00:40:51.699  SET FEATURES [Set transfer mode]

Error 39 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 40 30 c5 33 e4  Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 40 30 c5 33 e4 08      00:40:49.977  READ DMA
  ef 10 02 00 00 00 a0 08      00:40:49.977  SET FEATURES [Enable SATA feature]
  ec 00 00 00 00 00 a0 08      00:40:49.976  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08      00:40:49.976  SET FEATURES [Set transfer mode]

Error 38 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 40 30 c5 33 e4  Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 40 30 c5 33 e4 08      00:40:48.254  READ DMA
  ef 10 02 00 00 00 a0 08      00:40:48.254  SET FEATURES [Enable SATA feature]
  ec 00 00 00 00 00 a0 08      00:40:48.253  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08      00:40:48.253  SET FEATURES [Set transfer mode]

Error 37 occurred at disk power-on lifetime: 5420 hours (225 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 40 30 c5 33 e4  Error: UNC 64 sectors at LBA = 0x0433c530 = 70501680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 40 30 c5 33 e4 08      00:40:46.531  READ DMA
  ef 10 02 00 00 00 a0 08      00:40:46.530  SET FEATURES [Enable SATA feature]
  ec 00 00 00 00 00 a0 08      00:40:46.529  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08      00:40:46.529  SET FEATURES [Set transfer mode]




Примеры SMART информации




Выведем полный список SMART информации нашего HDD/SSD. В данном случае тестирую SSD.




sudo smartctl -a /dev/sda




ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   100   100   000    Old_age   Always       -       405
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       11816
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       107
148 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
149 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
167 Write_Protect_Mode      0x0000   100   100   000    Old_age   Offline      -       0
168 SATA_Phy_Error_Count    0x0012   100   100   000    Old_age   Always       -       0
169 Bad_Block_Rate          0x0000   100   100   000    Old_age   Offline      -       35
170 Bad_Blk_Ct_Erl/Lat      0x0000   100   100   010    Old_age   Offline      -       0/24
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
173 MaxAvgErase_Ct          0x0000   100   100   000    Old_age   Offline      -       180 (Average 160)
181 Program_Fail_Count      0x0032   100   100   000    Old_age   Always       -       0
182 Erase_Fail_Count        0x0000   100   100   000    Old_age   Offline      -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
192 Unsafe_Shutdown_Count   0x0012   100   100   000    Old_age   Always       -       102
194 Temperature_Celsius     0x0022   026   038   000    Old_age   Always       -       26 (Min/Max 11/38)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
199 SATA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
218 CRC_Error_Count         0x0032   100   100   000    Old_age   Always       -       0
231 SSD_Life_Left           0x0000   084   084   000    Old_age   Offline      -       84
233 Flash_Writes_GiB        0x0032   100   100   000    Old_age   Always       -       11909
241 Lifetime_Writes_GiB     0x0032   100   100   000    Old_age   Always       -       4604
242 Lifetime_Reads_GiB      0x0032   100   100   000    Old_age   Always       -       3754
244 Average_Erase_Count     0x0000   100   100   000    Old_age   Offline      -       160
245 Max_Erase_Count         0x0000   100   100   000    Old_age   Offline      -       180
246 Total_Erase_Count       0x0000   100   100   000    Old_age   Offline      -       598192




  • Reallocated Sectors Count – Количество секторов, перераспределенных из-за ошибок чтения.
  • Power_On_Hours – Фактически отработанное время в часах.
  • Power_Cycle_Count – Цикл включения.выключения
  • Reported Uncorrect – Количество неисправимых ошибок при доступе к сектору чтения/записи.
  • Reallocated_Error_Count – Текущее состояние перемещения поврежденных секторов в специальную рабочую область.




Проверка работоспособности SSD/HDD дисков с помощью Gnome Disks




С помощью утилиты GNOME disks можно получить информацию о дисках, отформатировать диски, создать образ диска, выполнить стандартные тесты HDD/SSD-дисков и восстановить их образ. Все это производим с GUI – интерфейсом, а не через терминал.




В Ubuntu 20.04 GNOME disks идет в стандартной установке. Если вы не можете найти инструмент, то для установки используем команду:




sudo apt-get install gnome-disk-utility




Для запуска утилиты в терминале можно набрать команду:




sudo gnome-disks




gnome-disk




Для проверки SMART информации выберите устройство и в правом верхнем углу нажимаем на три точки/три тире и выбираем Данные самодиагностики и SMART информации




gnome-disk-smart



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2022-01-09T12:51:45
HDD/SSD

Как узнать температуру HDD в Ubuntu Server

Сегодн в статье научимся узнавать температуру жестких дисков (HDD) в Ubuntu Server, данная инструкция будет актуальна и для других дистрибутивов Linux.






В этой заметке установим hddtemp и узнаем, как с помощью неё можно посмотреть температуру жесткого(их) диска(ов). Так же рассмотрим возможность добавления в базу hddtemp SSD диска которого нет в его базе.




Установка hddtemp




Прежде всего установим саму утилиту. Открываем терминал и набираем следующее:




sudo apt install hddtemp




Попробуем запустить:




sudo hddtemp /dev/sda




/dev/sdd: WDC WD2000FYYZ-01UL1B2: 35°C




В результате мы получили достаточно длинную строку с описанием и значением. В то время как для например скриптов нам нужно голое значение.




Проще всего его можно получить запустив hddtemp с ключом -n.
Что избавит нас от awk, sed и т.п.




sudo hddtemp -n /dev/sda




Данными примерами мы посмотрели температуру жесткого диска HDD, а если посмотреть на SSD. Давайте посмотрим его температуру:




sudo hddtemp  /dev/sdb




/dev/sda: XrayDisk 120GB: 41°C




Как видим SSD тоже прекрасно определился программой и выдал нам температуру. Но что делать, если вывод будет следующим:




WARNING: Drive /dev/sda doesn't seem to have a temperature sensor.
WARNING: This doesn't mean it hasn't got one.
WARNING: If you are sure it has one, please contact me (hddtemp@guzu.net).
WARNING: See --help, --debug and --drivebase options.
/dev/sda: Samsung SSD 860 EVO 500G B ▒@: no sensor




Похоже на то, что данных о SSD диске нет в базе.
При запуске с ключом --debug выведет поля SMART.
Температура HDD выводится в поле со значением 194, а как же обстоят дела у SSD диска:




sudo hddtemp --debug /dev/sda




================= hddtemp 0.3-beta15 ==================
Model: Samsung SSD 860 EVO 500G B              ▒@

field(5)         = 0
field(9)         = 76
field(12)        = 6
field(177)       = 0
field(179)       = 0
field(181)       = 0
field(182)       = 0
field(183)       = 0
field(187)       = 0
field(190)       = 30
field(195)       = 0
field(199)       = 0
field(235)       = 2
field(241)       = 45

If one of the field value seems to match the temperature, be sure to read
the hddtemp man page before sending a report (section REPORT). Thanks.




В поле 190 стоит цифра 30, что похоже на температуру нашего диска.




Добавим наш SSD диск в базу командой из под root:




sudo su




echo '"Samsung SSD 860 EVO 500G" 190 C "Samsung SSD 860 EVO 500G"' >> /etc/hddtemp.db




Проверим:




sudo hddtemp -n /dev/sda




Из указанных примеров видно, что для доступа к жестким дискам нужен рутовый аккаунт.
По причине этого мы имеем ограничение по использованию. Например с Zabbix.
Но hddtemp может работать как демон с доступом по TCP для любого пользователя.
Для запуска демона прежде всего нужно определится какие именно диски он будет опрашивать.
По умолчанию опрос делается первого диска sda, но мы можем это изменить, меняем конфигурацию:




sudo systemctl edit hddtemp.service




[Service]
ExecStart=
ExecStart=/usr/sbin/hddtemp -d /dev/sdc -l 127.0.0.1 -p 7634




Перезапустим:




sudo systemctl restart hddtemp.service




Проверим:




telnet localhost 7634




Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
|/dev/sda|WDC WD2000FYYZ-01UL1B2|33|C|Connection closed by foreign host.




Выводит, но пользоваться этим неудобно, поэтому создадим простой скрипт:




nano my_hddtemp.sh




#!/bin/sh
myDisk=`echo "" | netcat -n 127.0.0.1 7634 |sed 's/|//m' | sed 's/||/ n/g' | awk -F'|' '{print $3}'`
echo $myDisk




Делаем его исполняемым:




sudo chmod +x my_hddtemp.sh




Запускаем:




./my_hddtemp.sh




На этом все.




P.S. Еще одна полезная команда посмотреть smart информацию




smartctl -a /dev/sda -d sat+cciss,Х



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2021-07-02T17:07:46
HDD/SSD

Работа с HDD через терминал на Ubuntu/Debian

Сегодня рассмотрим ряд команд для работы с HDD через терминал на Ubuntu/Debian и других Linux системах.




Прочитав несколько статей я конечно нашел нужную информацию о том как работать с HDD через терминал, но она была раскидана по просторам интернета и если вам дорого ваше время, то вы пришли по адресу. В данной статье я решил объединить команды и написать удобную шпаргалку для администрирования Ubuntu/Debian систем.




Как посмотреть UUID для HDD через терминал на Ubuntu/Debian




Посмотреть uuid диска для разделов можно с помощью команды:




sudo blkid




Вывод должен быть приблизительно такой:




/dev/sda5: UUID="461a03a9-a5f1-449a-8775-43afa0f455b6" TYPE="ext4" PARTUUID="62f972de-05"
/dev/sda6: UUID="572889de-8528-4e42-8a9d-1066e121b8de" TYPE="ext4" PARTUUID="62f972de-06"
/dev/sdb2: UUID="42fdec1c-3e51-11e9-b09f-1078d27639b3" TYPE="ext4" PARTUUID="32432dfd-0a2a-4c71-bf6c-2d207ae9b6b2"
/dev/sdb1: PARTUUID="a6d316f4-7282-4420-9cf5-56cb14878f22"




Как посмотреть список дисков через терминал на Ubuntu/Debian




Самый простой способ увидеть все подключённые диски – это посмотреть содержимое каталога /dev/ и отфильтровать устройства по начальному названию sd или vd. Ну это уже зависит от того, какой диск и на какой системе выищите.




sudo ls -l /dev | grep sd




brw-rw---- 1 root disk      8,   0 сен 17 08:41 sda
brw-rw---- 1 root disk      8,   2 сен 17 08:41 sda2
brw-rw---- 1 root disk      8,   5 сен 17 08:41 sda5
brw-rw---- 1 root disk      8,   6 сен 17 08:41 sda6
brw-rw---- 1 root disk      8,  16 сен 17 08:41 sdb
brw-rw---- 1 root disk      8,  17 сен 17 08:41 sdb1
brw-rw---- 1 root disk      8,  18 сен 17 08:41 sdb2




Смотрим подключенные HDD с выводом информации о размере через терминал




Посмотреть подключённые диски с выводом информации о размере, точке монтирования и свободном пространстве на Ubuntu/Debian, можно с помощью утилиты df:




sudo df -h




udev            898M     0  898M   0% /dev
/dev/sdb2       110G   11G   93G  11% /
tmpfs           187M     0  187M   0% /run/user/1000
/dev/sda6       184G   60M  174G   1% /home/Music
/dev/sda5       719G  357G  326G  53% /home/Fims




Или так:




lsblk




NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931,5G  0 disk 
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0 730,2G  0 part /home/Fims
└─sda6   8:6    0 186,3G  0 part /home/Music
sdb      8:16   0 111,8G  0 disk 
├─sdb1   8:17   0     1M  0 part 
└─sdb2   8:18   0 111,8G  0 part /




Вот вам еще одна команда, которой можно посмотреть подробный вывод о размерах подключенных дисков:




sudo fdisk -l




....
Device     Boot     Start        End    Sectors   Size Id Type
 /dev/sda2        19535870 1951168511 1931632642 921,1G  5 Extended
 /dev/sda5       419919872 1951168511 1531248640 730,2G 83 Linux
 /dev/sda6        29296640  419907583  390610944 186,3G 83 Linux
....
Device     Start       End   Sectors   Size Type
 /dev/sdb1   2048      4095      2048     1M BIOS boot
 /dev/sdb2   4096 234438655 234434560 111,8G Linux filesystem




Форматирование HDD через терминал на Ubuntu/Debian




Для форматирования разделов дисков в системе используем команду parted.




Будьте внимательны с данной командой, т.к. она может затереть весь ваш диск.




Для начала определяем с каким диском мы будем работать. Для этого набираем все ту же нами знакомую команду lsblk




После вывода информации определяем наш диск и набираем:




sudo parted /dev/sdb




  • sdb – это наш диск




Далее создаем новую таблицу разделов:




(parted) mklabel msdos




После можно создавать разделы. Если вам нужно создать один большой раздел, который будет занимать весь объем диска, то команда будет такой:




(parted) mkpart primary ext4 1MiB 100%




Если же вы хотите создать несколько разделов на диске, то последовательность команд будет следующей:




(parted) mkpart primary ext4 1MibGB 5GB
(parted) mkpart primary ext4 5GB 20GB
(parted) mkpart primary ext4 20GB 100%




После данной команды у вас будут три раздела с соответствующими размерами в 5 Гб, 15 Гб, а третий займет все оставшееся пространство на данном диске.




Для вывода информации набираем:




(parted) print




Если вас все устраивает, то выходим из программы форматирования:




(parted) quit




Давайте теперь отформатируем получившиеся разделы в файловую систему ext4:




sudo mkfs.ext4 /dev/sdb1




или в случае с несколькими разделами диска:




sudo mkfs.ext4 /dev/sdb1
sudo mkfs.ext4 /dev/sdb2
sudo mkfs.ext4 /dev/sdb3




После данной процедуры разделы готовы к использованию. Только не забудьте предварительно примонтировать их к системе.




Монтирование HDD через терминал на Ubuntu/Debian




Ручное монтирование дисков через терминал




Для монтирования дисков через терминал набираем следующую команду:




sudo mount /dev/sdb1 /home/Music




Директория /home/Music должна существовать.




Монтирование директорий




Если при монтировании директорий терминал выдает следующее




mount: /home/Music: /home/old/Music is not a block device.




Значит Вы пытаетесь примонтировать одну директорию в другую. Для исправления данной ошибки наберите следующую команду используя опцию – -bind:




sudo mount --bind /home/old/Music /home/Music




Монтирование файлов




Возможно, не только монтирование разделов linux, но и монтирование
файлов, если они содержат файловую систему, например, образов дисков.
Монтирование образа диска linux работает точно так же:




sudo mount ~/file.iso /home/user/iso




Автоматическое монтирование диска при загрузке системы




Для автоматического монтирования разделов диска воспользуемся файлом fstab. Также вам необходимо знать UUID вашего диска.




sudo nano /etc/fstab




и редактируем в соответствии с моим листингом:




....
UUID=Ваш_UUID_диска /home/Music ext4 defaults 0 0




  • Ваш_UUID_диска – смотрим командой в начале статьи




Чтобы неперезагружать систему набираем команду:




sudo mount -a




Теперь после перезагрузки системы раздел диска автоматически будет примонтирован в директорию /home/Music.




Восстановление дисков через терминал




Восстановление файловой системы




Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:




sudo fsck -y /dev/sda1




Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.




Восстановление поврежденного суперблока




Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок – это начало файловой системы. Без него ничего работать не будет.




Но не спешите прощаться с вашими данными, все еще можно восстановить.
С помощью такой команды смотрим куда были записаны резервные
суперблоки:




sudo mkfs -t ext4 -n /dev/sda1




На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.




Теперь у нас есть резервные адреса суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:




sudo fsck -b 98304 /dev/sda




Данные команды сработают только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.




Битые сектора




Или еще мы можем найти битые сектора и больше в них ничего не писать:




sudo fsck -c /dev/sda1




Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.




Вывод




И так, сегодня мы научились работать с HDD через терминал на Ubuntu/Debian подобных системах.



[endtxt]




RSS




2019-09-17T15:10:32
HDD/SSD

Проверка HDD/SSD/USB flash на бэд-блоки на Linux.

Сегодня в статье рассмотрим, как в Linux проверить ваш HDD,SSD или USB флешку на битые сектора – Бэд-блоки.




Бэд-блок (англ. bad block) — испорченный кластер (единица хранения данных) дискового носителя информации, куда нельзя записать информацию.




Проверка HDD на бэд-блоки программой badblocks.




Badblocks — стандартная утилита Linux для проверки на битые секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как жесткий диск, так и внешний накопитель.




Но для начала воспользуемся ещё одной стандартной утилитой для просмотра подключенных накопители к нашей системе — fdisk.




sudo fdisk -l




  • -l – показать список разделов и выйти.




badblocks




Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы программой badblocks:




sudo badblocks -sv /dev/sda1 > ~/badblocks.txt




  • -v — вывод подробной информации о результатах проверки.
  • -s — отображать в правильном порядке ход проверки блоков.
  • /dev/sda1 — раздел, который мы хотим проверить на битые секторы.
  • > ~/badblocks.txt — выводим результат выполнения команды в файл badblocks.txt расположенный в корневом каталоги пользователя.




badblocks




Если же в результате были найдены битые секторы, то нам надо дать
указание операционной системе не записывать в них информацию в будущем.
Для этого нам понадобятся утилиты Linux для работы с файловыми
системами:




  • e2fsck. Если мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
  • fsck. Если мы будем исправлять файловую систему, отличную от ext.




Вводим следующие команды:




 sudo e2fsck -l ~/badblocks.txt /dev/sda1




Или, если у нас файловая система не ext:




 sudo fsck -l ~/badblocks.txt /dev/sda1




Если после ввода данных команд вы получаете что-то вроде этого:




e2fsck




Значит данные операции надо выполнить в командной строке до загрузки операционной системы. Для этого выполним следующее:




sudo nano /etc/network/interfaces




В конце файла дописываем следующие строки:




pre-up e2fsck -l ~/badblocks.txt /dev/sda1




Теперь перезагружаем ПК:




sudo reboot




Проверка HDD на бэд-блоки на Linux с помощью smartmontools




Теперь давайте рассмотрим более современный и надежный способ
проверить диск на битые секторы linux. Современные накопители ATA/SATA
,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology,
Технология самоконтроля, анализа и отчетности), которая производит
мониторинг параметров накопителя и поможет определить ухудшение
параметров работы накопителя на ранних стадиях. Для работы со S.M.A.R.T в
Linux есть утилита smartmontools.




Давайте сначала ее установим. Если ваш дистрибутив основан на DebianUbuntu, то вводите:




sudo apt install smartmontools




Если же у Вас дистрибутив на основе RHELCentOS, то вводите:




sudo yum install smartmontools




Теперь, когда мы установили smartmontools мы можем посмотреть страницу помощи, с помощью команды:




man smartctl




или




smartctl -h




Давайте перейдем к работе с утилитой. Вводим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:




sudo smartctl -H /dev/sda1




smartmontools




Как видим, проверка диска на битые секторы linux завершена и утилита говорит нам, что с накопителем все в порядке!




Ещё одна команда, если SMART поддерживается, то добавляем -s. Если он не поддерживается или уже включён, то этот аргумент можно убрать.




sudo smartctl -s on -a /dev/sda




Дополнительно, можно указать следующие параметры -a или –all, чтобы получить еще больше информации о накопителе, или -x и –xall, чтобы просмотреть информацию в том числе и об остальных параметрах накопителя.




Проверка HDD на бэд-блоки на Linux с помощью GParted




GParted как раз для тех, кому текстовый интерфейс не по душе. Утилита выполняет большое количество задач, связанных с работой HDD на Ubuntu и всех Debian-подобных системах. В их число входит и проверка диска на ошибки.




gparted




Для
начала нам нужно скачать и установить GParted. Вводим следующую
команду, чтобы выполнить загрузку из официальных репозиториев:




sudo apt install gparted




  1. Открываем
    приложение. На главном экране сразу же выводятся все носители. Если
    какой-то из них помечен восклицательным знаком, значит, с ним уже что-то
    не так.
  2. Щёлкаем по тому диску, который хотим проверить.
  3. Жмём на кнопку «Разделы», расположенную сверху.
  4. Выбираем «Проверка на ошибки».




Программа отсканирует диск. В зависимости от его объёма процесс может занять продолжительное время. После сканирования Вы будете оповещены о его результатах.




Safecopy




Это уже та программа,
которую впору использовать на тонущем судне. Если мы осведомлены, что с
нашим диском что-то не так, и нацелены спасти как можно больше выживших
файлов, то Safecopy придёт на помощь. Её задача как раз заключается в
копировании данных с повреждённых носителей. Причём она извлекает файлы
даже из битых блоков.




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




sudo apt install safecopy




Переносим
файлы из одной директории в другую. Выбрать можно любую другую. В
данном случае мы переносим данные с диска sda в папку home.




sudo safecopy /dev/sda /home/



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2019-08-12T07:52:30
HDD/SSD