Существуют различные типы дисковых накопителей, среди которых наиболее часто используются жесткий диск (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.
[
@manjaro-nout ~]$ sudo smartctl -a /dev/sdb | grep 'Rotation Rate' nehrena
Rotation Rate: Solid State Device
[
@manjaro-nout ~]$nehrena
Как видно из вывода утилита честно сказала что это диск SSD и он не вращается.
Вывод
Вот так на простых примерах в этой статье мы узнали, как проверить, является ли диск SSD или HDD в ОС семейства Linux.
smartctl полезная штука, заодно за состоянием дисков следить можно.