Как определить HDD или SSD диск в Linux?

Существуют различные типы дисковых накопителей, среди которых наиболее часто используются жесткий диск (HDD) и твердотельный накопитель (SSD). Начиная с версии ядра 2.6.29, SSD автоматически обнаруживается системами Linux и отлично там работают.

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

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

Метод 1: Использование команды lsblk

Как мы уже знаем SSD диски не имеют двигающихся элементов. Соответственно идентификация типа диска может быть выполнена с помощью параметра » вращения» у команды lsblk. Эта команда может использоваться для перечисления всех подключенных дисков и их соответствующих значений вращения этих дисков:

[nehrena@manjaro-nout ~]$ lsblk -d -o name,rota
NAME ROTA
sda     1
sdb     0

Из вывода этой комманды видно что первый диск sda у нас вращается, а второй нет. Таким образом можно определить что диск sda это обычный HDD, а второй диск это SSD.

Без дополнительных параметров эта команда просто выдаст нам список всех дисков и их разделов:

[nehrena@manjaro-nout ~]$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 698,6G  0 disk  
├─sda1   8:1    0   650G  0 part /home
└─sda2   8:2    0  48,6G  0 part  
sdb      8:16   0 119,2G  0 disk  
└─sdb2   8:18   0 119,2G  0 part /

Дополнительный параметр ROTA в приведенной выше команде равеный » 1 » показывает, что диск является жестким диском. В случае SSD значение ROTA будет равно «0«.

Способ 2: Проверяем вращение диска

Ещё один похожий способ тоже основывается на вращении диска. Глядя на значение /sys/block/sdX/queue/rotation, можно определить тип диска, где sdX — это имя диска. Если значение равно 1, то вы используете жесткий диск, а значение 0 указывает на тип диска как SSD. Выполните следующую команду, чтобы получить значение вращения диска. В этом примере sda и sdb используется для определения типа диска, вы можете использовать имя любого диска, доступного в вашей системе.

[nehrena@manjaro-nout ~]$ cat /sys/block/sda/queue/rotational  
1
[nehrena@manjaro-nout ~]$ cat /sys/block/sdb/queue/rotational   
0
[nehrena@manjaro-nout ~]$

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

Вывод «1» указывает на тип диска HDD, для SSD значение будет равно «0».

Метод 3: Использование smartctl

Тип диска, используемый в системе Linux, также можно определить с помощью утилиты командной строки smartctl. Smartctl является частью пакета smartmontools. Smartmontools доступен во всех дистрибутивах Linux, включая Ubuntu, Fedora, Centos и RHEL.

Если этой утилиты у вас не установлено используйте следующую команду для установки smartmontools в Linux:

Ubuntu

$ sudo apt install smartmontools

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

$ sudo /etc/init.d/smartmontools start

CentOS and RHEL

$ sudo yum install smartmontools 

Fedora

$ sudo dnf install smartmontools

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

$ sudo systemctl start smartd

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

$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'

Где /dev/sda — это имя диска.

[nehrena@manjaro-nout ~]$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'
[sudo] пароль для nehrena:  
Rotation Rate:    5400 rpm
[nehrena@manjaro-nout ~]$

Эта утилита покажет конкретную скорость с которой вращается диск. Для дисков SSD соответственно скорость будет 0.

[nehrena@manjaro-nout ~]$ sudo smartctl -a /dev/sdb | grep 'Rotation Rate'  
Rotation Rate:    Solid State Device
[nehrena@manjaro-nout ~]$

Как видно из вывода утилита честно сказала что это диск SSD и он не вращается.

Вывод

Вот так на простых примерах в этой статье мы узнали, как проверить, является ли диск SSD или HDD в ОС семейства Linux.

Как определить HDD или SSD диск в Linux?: 1 комментарий

  • 25.05.2021 в 19:24
    Permalink

    smartctl полезная штука, заодно за состоянием дисков следить можно.

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *