Поиск по сайту:

Как узнать, является ли диск SSD или HDD в Linux

Проверка типа диска — SSD или HDD в Linux

Представьте себе этот сценарий. Вы новичок и имеете ограниченный опыт работы с Linux. Недавно вы купили новый ноутбук с предустановленной ОС Linux, например Ubuntu. Вы не совсем уверены, является ли установленный диск SSD (твердотельный накопитель) или обычным жестким диском (жесткий диск). Без проблем! Это краткое руководство научит вас, как определить, является ли диск SSD или HDD в операционных системах Linux.

Жесткий диск (HDD) против твердотельного накопителя (SSD)

Прежде чем углубляться в эту тему, важно знать разницу между HDD и SSD.

Как вы, возможно, уже знаете, традиционный Жесткий диск (HDD) хранит данные на круглом диске, известном как пластина. Когда диск вращается, движущаяся головка чтения/записи получает доступ к данным. Чем быстрее вращается диск, тем быстрее работает жесткий диск.

С другой стороны, Твердотельный накопитель (SDD) — это современная технология хранения данных и более быстрый тип диска, который хранит данные на микросхемах флэш-памяти с мгновенным доступом. В отличие от традиционных жестких дисков, твердотельные накопители не имеют движущихся частей и твердотельные накопители не вращаются.

Узнайте, является ли диск SSD или HDD в Linux

Начиная с версии ядра 2.6.29, операционные системы Linux могут автоматически обнаруживать SSD. Есть несколько способов узнать, является ли диск SSD или HDD. Здесь мы дали 7 методов.

Способ 1 — проверьте, является ли диск ротационным

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

cat /sys/block/sda/queue/rotational

Если выходной сигнал равен 1, это HDD. Если вывод равен 0 (ноль), это SDD-диск. Потому что SSD не вращаются. Таким образом, результат должен быть нулевым, если в вашей системе есть SSD.

У каждого диска есть каталог в расположении /sys/class/block/. Таким образом, вы также можете проверить информацию о других дисках.

cat /sys/block/sdb/queue/rotational
cat /sys/block/sdc/queue/rotational

Внимание: Если вы используете гостевую виртуальную машину KVM, буква диска будет vda. Результат будет зависеть от типа шины, выбранного вами при работе с виртуальной машиной. Например, если вы выберете SATA в качестве типа шины для виртуального диска, вы увидите следующий вывод:

cat /sys/block/vda/queue/rotational 
1

Способ 2 — использование команды lsblk

Команда lsblk считывает файловую систему sysfs и udev db для сбора информации обо всех доступных или указанных блочных устройствах. Команда lsblk является частью пакета util-linux и предустановлена в большинстве дистрибутивов Linux.

На тот случай, если команда lsblk недоступна, просто установите пакет util-linux с помощью менеджера пакетов вашего дистрибутива.

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

sudo pacman -S util-linux

В системах на базе Debian:

sudo apt install util-linux

В системах на базе RPM:

sudo yum install util-linux

В openSUSE:

sudo zypper install util-linux

Теперь определите, является ли диск SSD или HDD, используя команду:

lsblk -d -o name,rota

Пример вывода:

NAME   ROTA
loop0     1
loop1     1
loop2     1
loop3     1
loop4     1
loop5     1
loop6     1
loop7     1
loop8     1
loop9     1
loop10    1
loop11    1
loop12    1
loop13    1
loop14    1
loop15    1
loop16    1
loop17    1
loop18    1
loop19    1
loop20    1
sda       1
sr0       1

Здесь «рота» означает устройство вращения. Если вы получили значение ротации в приведенном выше выводе как 1, это HDD. Если значение 0 (ноль), то диск SSD.

Способ 3. Использование инструментов мониторинга SMART

Другой способ узнать, является ли диск SSD или HDD, — использовать команду smartctl. Smartctl является частью пакета инструментов мониторинга S.M.A.R.T, который используется для управления и мониторинга S.M.A.R.T. включены жесткие диски ATA и SCSI.

Чтобы установить инструменты мониторинга SMART в Arch Linux и его вариантах, запустите:

sudo pacman -S install smartmontools

В Дебиане, Убунту:

sudo apt install smartmontools

В RHEL, CentOS:

sudo yum install smartmontools

В openSUSE:

sudo zypper install smartmontools

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

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

Если диск SSD, вы получите результат, как показано ниже.

Rotation Rate:    Solid State Device

Если диск HDD, вы получите следующий вывод:

Rotation Rate: 5400 rpm

Способ 4 — использование dmesg и Google

Это не прямой подход к определению типа диска. В этом методе мы используем команду dmesg, чтобы найти модель диска, а затем гуглим подробности, чтобы определить, является ли диск SSD или HDD.

dmesg | grep -i -e scsi -e ata

Среди всей остальной информации вы увидите название модели диска.

[...]
[ 1.845159] scsi 0:0:0:0: Direct-Access ATA ST9500325AS DEM1 PQ: 0 ANSI: 5
[...]

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

Способ 5 — использование данных SCSI и Google

Это то же самое, что и описанный выше метод. Мы извлекаем модель диска из каталога /proc с помощью команды:

cat /proc/scsi/scsi

Пример вывода:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST9500325AS      Rev: DEM1
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: PLDS     Model: DVD+-RW DS-8A8SH Rev: KD11
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi6 Channel: 00 Id: 00 Lun: 00
  Vendor: Generic- Model: Multi-Card       Rev: 1.00
  Type:   Direct-Access                    ANSI  SCSI revision: 00

А затем введите в Google информацию, чтобы узнать, является ли диск SSD или HDD.

Способ 6 — Использование Sg3-utils

Sg3-utils — это набор утилит для устройств, использующих набор команд SCSI. Каждая утилита в этом пакете реализует одну команду SCSI.

Sg3-utils доступен в репозиториях Debian и Ubuntu по умолчанию. Чтобы установить его в свою систему, просто запустите:

sudo apt install sg3-utils

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

sudo sg_vpd --page=bdc /dev/sda

Пример вывода:

Block device characteristics VPD page (SBC):
Nominal rotation rate: 5400 rpm
Product type: Not specified
WABEREQ=0
WACEREQ=0
Nominal form factor not reported
ZONED=0
BOCS=0
FUAB=0
VBULS=0

Пройдите вывод. Если в выводе присутствует строка "Номинальная скорость вращения: 5400 об/мин", то это HDD. Для SSD вы, вероятно, увидите - "Невращающийся носитель".

Метод 7. Оценка производительности доступа к диску

Определите, является ли диск SSD или HDD, прочитав случайные блоки с диска с помощью команды:

time for i in `seq 1 1000`; do
    dd bs=4k if=/dev/sda count=1 skip=$(( $RANDOM * 128 )) >/dev/null 2>&1;
done

Эта команда прочитает 1000 случайных блоков по 4 КБ из первых 16 ГБ диска.

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

Это будет полезно для проверки дисков на вашем VPS. Если вы используете VPS и хотите проверить, предоставил ли вам хостинг-провайдер SSD или HDD, это один из способов узнать это!

Что делать, если дисков несколько?

Что делать, если у меня два диска: один SSD, а другой HDD? Оба диска одинакового размера и от одного производителя. Я не знаю, на каком диске установлен мой Linux. В этом случае просто найдите, на каком диске расположена корневая файловая система, с помощью следующей команды:

df / -h

Пример вывода:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       458G  341G   95G  79% /

Альтернативно используйте команду lshw, чтобы найти более подробную информацию о дисках:

sudo lshw -short -C disk

Пример вывода:

H/W path                 Device           Class          Description
====================================================================
/0/100/1d/1/1/6/0.0.0    /dev/sdb         disk           Multi-Card
/0/100/1d/1/1/6/0.0.0/0  /dev/sdb         disk           
/0/1/0.0.0               /dev/sda         disk           500GB ST9500325AS
/0/2/0.0.0               /dev/cdrom       disk           DVD+-RW DS-8A8SH

Как видно из приведенного выше вывода, моя корневая файловая система установлена в /dev/sda. Теперь следуйте любому из вышеперечисленных методов, чтобы определить, является ли диск жестким или твердотельным.

Примечание:

На некоторых новых настольных компьютерах и ноутбуках, таких как Intel NUC или Lenovo ideapad s240, вы увидите другое имя устройства, например nvme0n1.

Просмотрим список доступных блочных устройств с помощью команды:

ls /sys/block

Пример вывода:

loop0   loop11  loop14  loop17  loop2   loop3  loop6  loop9
loop1   loop12  loop15  loop18  loop20  loop4  loop7  nvme0n1
loop10  loop13  loop16  loop19  loop21  loop5  loop8

Выясним, на каком диске расположена корневая файловая система:

df / -h

Пример вывода:

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  456G  288G  146G  67% /

Просмотр использования дискового пространства системы

Как видно из приведенных выше результатов, sda или sdb не существует. Не паникуйте! Это нормально. Имя устройства /dev/nvme... указывает на более новые «диски» NVMe. Если диск подключен через порт NVM Express вместо традиционного порта SATA или SAS, вы увидите другое имя устройства, как показано в приведенном выше выводе.

Здесь /dev/nvme0n1 эквивалентно /dev/sda. Следовательно, /dev/nvme0n1p2 эквивалентен /dev/sda2.

Заключение

Вот несколько способов определить, является ли диск SSD или HDD в Linux. Это ваша очередь. Какой метод вы используете, чтобы определить, работает ли ваша система Linux на твердотельном или жестком диске? Знаете ли вы какие-либо другие способы проверить, является ли основной диск жестким или твердотельным диском? Пожалуйста, оставьте комментарий.

Рекомендуется прочитать:

  • Как найти характеристики оборудования в Linux
  • Как проверить, является ли система Linux физической или виртуальной машиной
  • Как проверить, является ли система Linux 32-битной или 64-битной
  • Как узнать, поддерживает ли процессор технологию виртуализации (VT)

Значок твердотельного накопителя Изображение PagDev с сайта Pixabay

Значок жесткого диска Изображение от Clker-Free-Vector-Images из Pixabay

Статьи по данной тематике