디스크가 SSD인지 HDD인지 확인하는 방법

디스크가 SSD인지 HDD인지 확인하는 방법

디스크가 솔리드 스테이트 드라이브인지 하드 드라이브인지 알고 싶습니다.

lshw설치되지 않았습니다. 이렇게 했는데 yum install lshwlshw라는 패키지가 없다고 하더군요. 어떤 버전인지 알 수 없음http://pkgs.repoforge.org/lshw/내 CentOS에서는 잘 작동합니다.

온라인으로 검색했는데 드라이브가 SSD인지 HDD인지 확인하는 방법을 설명하는 내용이 없습니다. 먼저 포맷해야 하나요?

결과 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

답변1

Linux는 SSD를 자동으로 감지하고~부터커널 버전 2.6.29는 다음을 sda통해 확인할 수 있습니다.

cat /sys/block/sda/queue/rotational

1하드 드라이브와 0SSD를 구입해야 합니다 .

디스크가 하드웨어(예: RAID 컨트롤러)에 의해 에뮬레이트된 논리 장치인 경우 작동하지 않을 수 있습니다.

바라보다이 답변SSD 파티션, 파일 시스템에 대한 추가 정보...

답변2

lsblk(패키지의 일부 ) util-linux:

lsblk -d -o 이름,회전
NAME ROTA
sda     0
sdb     0
sdc     1

이는 ( 참이면 거짓이면)을 ROTA의미합니다 .rotational device10

의견에서 언급한 것처럼 일부 USB 컨트롤러는 이 rotational속성을 올바르게 보고하지 않으므로 가능한 해결 방법은 명시적인 UDEV 규칙을 사용하는 것입니다.

또한 업데이트된 버전 lsblk지원 -I,--include-e,--exclude옵션을 통해 장치 필터링이 가능합니다.대표번호 또한 JSON 출력도 지원합니다. 예를 들어 회전하지 않는 장치의 이름과 일련 번호만 표시하려면 다음을 실행할 수 있습니다.

lsblk -e 7 -do name,serial,rota --json | \
jq -r '.blockdevices[] | select(.rota==false) | [.name,.serial] | @tsv'

답변3

smartctl(install by install )을 사용하여 smartmontools공급업체 정보를 검색합니다 .

sudo smartctl -a /dev/sdb

이런 줄이 보이면,

Rotation Rate: Solid State Device

SSD 드라이브가 될 것입니다.

답변4

다른 답변에서는 다음을 포함하여 다양한 방법으로 이 정보를 얻는 방법을 알려 주었습니다 /proc. 그러나 여러 계층이 포함된 하이브리드 SAN 어레이와 같은 가상화가 있거나 Linux 시스템이 가상 시스템인 경우(Linux가 디스크를 기본 SCSI 회전 디스크로 보고할 수 있음) 이러한 모든 메커니즘이 있을 것이라고 예상해야 합니다. ). , 실제 하드웨어가 무엇이든 관계 없음)

관련 정보