- How to know if a disk is an SSD or an HDD
- 🐧 Как определить, является ли диск SSD или HDD на Linux
- Определяем типа диска, HDD или SSD
- Метод 1 – Проверьте, вращается ли диск
- Способ 2 – Использование команды lsblk
- Метод 3 – Использование инструментов мониторинга SMART
- Способ 4 – Использование dmesg + Google
- Способ 5 – Использование деталей SCSI + Google
- Метод 6 – Использование Sg3-utils
- Метод 7 – Тест производительности доступа к диску
- Что делать, если есть несколько дисков?
- Ways to Check SSD or HDD in Linux OS
- Checking with the use of lsblk command
- Checking if the disk is rotational
- Checking with the use of monitoring tool- smartctl
- Conclusion
How to know if a disk is an SSD or an HDD
I want to know whether a disk is a solid-state drive or hard disk. lshw is not installed. I do yum install lshw and it says there is no package named lshw. I do not know which version of http://pkgs.repoforge.org/lshw/ is suitable for my CentOS. I search the net and there is nothing that explain how to know whether a drive is SSD or HDD. Should I just format them first? Result of fdisk -l :
Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00074f7d Device Boot Start End Blocks Id System /dev/sda1 * 1 14 103424 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 14 536 4194304 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 536 14594 112921600 83 Linux Disk /dev/sdc: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdb: 128.0 GB, 128035676160 bytes 255 heads, 63 sectors/track, 15566 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdd: 480.1 GB, 480103981056 bytes 255 heads, 63 sectors/track, 58369 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
🐧 Как определить, является ли диск SSD или HDD на Linux
А вы уверены, что установленный диск является SSD (твердотельный накопитель) или обычным HDD (жесткий диск).
Это краткое руководство научит вас, как определить, является ли диск SSD или HDD в операционных системах Linux.
Определяем типа диска, HDD или SSD
Метод 1 – Проверьте, вращается ли диск
Как вы, возможно, уже знаете, традиционный жесткий диск (HDD) хранит данные на круговом диске, известном как диск. Когда диск вращается, движущаяся головка чтения / записи получит доступ к данным.
Чем быстрее диск вращается (вращается), тем быстрее работает жесткий диск.
С другой стороны, твердотельный накопитель (SDD) – это современная технология хранения данных и более быстрый тип накопителя, который хранит данные на мгновенно доступных микросхемах флэш-памяти.
В отличие от традиционных жестких дисков, твердотельные накопители не имеют движущихся частей, а твердотельные накопители не вращаются.
Поэтому, если вы хотите узнать, является ли установленный диск твердотельным или обычным жестким диском, просто проверьте, вращается ли диск, с помощью следующей команды:
$ cat /sys/block/sda/queue/rotational
Таким образом, выходной сигнал должен быть нулевым, если в вашей системе есть SSD.
Каждый диск имеет каталог в /sys/class/block/location. Таким образом, вы можете проверить и другие данные дисков.
$ cat /sys/block/sdb/queue/rotational
$ cat /sys/block/sdc/queue/rotational
Способ 2 – Использование команды lsblk
Команда lsblk читает файловую систему sysfs и базу данных udev для сбора информации обо всех доступных или указанных блочных устройствах.
Команда lsblk является частью пакета util-linux и поставляется с предустановленным большинством дистрибутивов Linux.
На случай, если команда lsblk недоступна, просто установите пакет util-linux с помощью диспетчера пакетов вашего дистрибутива.
Например, в системах на основе Arch вы можете установить его с помощью команды:
$ sudo apt install util-linux
$ sudo yum install util-linux
$ sudo zypper install util-linux
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
Здесь «rota» означает устройство вращения.
Если вы получите значение вращения в приведенном выше выводе как 1, диск является жестким диском.
Если значение равно 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
$ sudo yum install smartmontools
$ sudo zypper install smartmontools
После установки пакета smartmontools выполните следующую команду, чтобы определить, является ли диск SSD или HDD:
$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'
Если диск SSD, вы получите вывод, как показано ниже.
Rotation Rate: Solid State Device
Если диск HDD, вы получите такой вывод:
Способ 4 – Использование dmesg + Google
Это не прямой подход к поиску типа диска.
В этом методе мы используем команду dmesg, чтобы найти модель диска, а затем Google детализирует эту информацию, чтобы определить, является ли диск 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 с помощью команды:
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
Просто прогуглите эту модель, чтобы найти детали диска.
Метод 6 – Использование Sg3-utils
Sg3-utils – это набор утилит для устройств, использующих набор команд SCSI.
Каждая утилита в этом пакете реализует одну команду SCSI.
Sg3-utils доступен в репозиториях по умолчанию Debian и Ubuntu.
Чтобы установить его в своей системе, просто запустите:
$ sudo apt install sg3-utils
Теперь проверьте Vital Product Data (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
Метод 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 случайных блоков 4k из первых 16 ГБ диска.
Если ваш диск SSD, операция должна завершиться примерно через секунду.
Если диск является жестким диском, то для его завершения потребуется несколько секунд.
Это будет полезно для проверки дисков в вашем VPS.
Что делать, если есть несколько дисков?
Что если у меня два диска, один из которых SSD, а другой HDD?
Оба диска одинакового размера и от одного производителя.
Я не знаю, на каком диске установлен мой Linux.
В этом случае просто найдите, на каком диске находится корневая файловая система, с помощью следующей команды:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 458G 341G 95G 79% /
Или используйте команду lshw, чтобы узнать больше о дисках:
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
Теперь выполните любой из указанных выше способов, чтобы определить, является ли диск жестким или твердотельным.
Ways to Check SSD or HDD in Linux OS
At some moment, you must have been curious to know if you are using Solid State Drive (SSD) or Hard Disk Drive (HDD) on your Laptop/pC. If so, checking the type of disk drive is quite easy on Linux. There are different methods to verify and check if you are using an SSD or HDD. The Linux operating system can automatically detect SSD since the kernel 2.6.29 was introduced.
In this article, we are going to discuss the ways to check if it is an SSD or HDD on Ubuntu 20.04 LTS server.
Checking with the use of lsblk command
To check the disk type if it is SSD or HDD in Linux, we can use lsblk command. It is due to the rotational feature of the disk. If the lsblk command is not found on your Linux distribution like Ubuntu 20.04 then you can install it with the command below.
$ sudo apt install util-linux
Then to check the disk types, run the following command by using lsblk as shown below.
To be clear, if the ROTA value is 1, then your disk type is HDD and if the ROTA value is 0 then it is SSD. Here, you can see 1 on the above screenshot for the ROTA value of sda, vda which means it is HDD.
Checking if the disk is rotational
Hard disk drive (HDD) works with the rotation of the disk while SSD does not have such rotational disk. To verify if you are using an SSD or HDD, you have to check if it is rotational or not. If it is rotational then the value must be 1, if not then it is 0.
To check that value, you have to print the value of /sys/block/sdX/queue/rotational. For further details, run the command as shown below.
$ cat /sys/block/sda/queue/rotational
Here, the value is 1 which means the disk type is Hard disk drive(HDD). If the value is 0 then it is an SSD.
Another example of checking if the disk is rotational, run the command as shown below.
$ cat /sys/block/vda/queue/rotational
Here, the value is also 1 which means the disk type is Hard disk drive(HDD). If the value is 0 then it is an SSD.
Checking with the use of monitoring tool- smartctl
This is the smart way to check the disk type if it is SSD or HDD. As the smart monitoring tool is such a package which consists of the unique command line tool called smartctl. So to install such a tool on ubuntu 20.04 LTS server, you can run the command as shown below.
$ sudo apt install smartmontools -y
Now check if the smartd service is running or not with the following command.
$ sudo systemctl status smartd
If it is not active by default, you can start it with the command as shown below.
$ sudo systemctl start smartd
As the smartd service is running, run the command as shown below to check if you are using HDD or SSD.
$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'
Here, we are checking for drive sda.
With the above command, if the drive is SSD then the output will be as shown below.
Rotation Rate: Solid State Device
And, if the drive is HDD then the output will be as shown below.
Rotation Rate: 5400 rpm
Conclusion
In this article, we have discussed the ways to check if the disk is HDD or SSD in a Linux operating system like Ubuntu 20.04 LTS server. If you have been curious about it, try any of the above ways to find it. Thank you!
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications including CCNA RS, SCP, and ACE. As an IT engineer and technical author, he writes for various websites.