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


193

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

lshw설치되지 않았습니다. 나는 yum install lshwlshw라는 패키지가 없다고 말합니다. CentOS에 적합한 http://pkgs.repoforge.org/lshw/의 버전을 모르겠습니다 .

나는 그물을 검색하고 드라이브가 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
이것이 SSD 인 경우 지우기 블록을 파티션에 맞추기 위해 SSD를 다시 포맷 할 수 있습니다.
symcbean 2013

SATA (Serial ATA)는 드라이브의 연결 유형을 나타내며 하드 디스크 드라이브 (HDD)임을 의미하지 않습니다. SSD는 동시에 SATA 일 수 있으므로 제목을 편집 할 것을 제안합니다.
SpellingD

답변:


310

리눅스는 자동으로 SSD를 감지하고 있기 때문에 커널 버전 2.6.29, 당신은 확인할 수 sda로 :

cat /sys/block/sda/queue/rotational

당신은 가야 1하드 디스크과 0SSD를 위해.

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

자세한 내용은 이 답변 을 참조하십시오 ...


2
Stackoverflow에서 누군가이 sys-info가 작동하지 않는다는 것을 알았습니다.
PythoNic

@Totor 디스크가 두 개 있는데 어떤 디스크가 ssd인지 어떻게 알 수 있습니까?
user11498

2
@ user11498 교체 sda하고 sdb어느 것이 SSD인지 확인하십시오 ...
Totor

3
@Totor "하이브리드"드라이브가 정확합니다. 그러나 이중 드라이브 하이브리드는 두 개의 개별 드라이브로 표시되며 SSHD (Solid-State Hybrid Drive)는 단일 드라이브로 표시됩니다. 따라서 SSHD는 1의 회전을 표시합니다.
Terrance

6
가상 서버에서 가져와야 할 수도 있습니다/sys/block/vda/queue/rotational
MonoThreaded

90

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

lsblk -d -o 이름, 로타
NAME ROTA
sda     0
sdb     0
sdc     1

where ROTA의미 rotational device( 10이면 거짓)


1
이 유틸리티는에서와 동일한 정보를보고하는 것 같습니다 /sys/block/.../rotational.
dma_k

@dma_k 저것을 사용하는 것을 고려하면 조금 궁금하다. 직접 시도해보십시오 :strace lsblk -d -o name,rota /dev/sda 2>&1 | grep --context=3 --color rotational
CVn

5
실제로 일부 USB 컨트롤러는 드라이브가 실제로 회전하지 않는다고 말하지 않고 (예 : USB 플래시) Linux에서 진실을 말할 수있는 방법이 없기 때문에 다양한 방법을 찾고있었습니다. 하루가 끝날 무렵 나는 다음과 같이 명시적인 규칙을 만들어이를 수정했습니다 /etc/udev/rules.d/90-non-rotational.rules.ACTION=="add|change", SUBSYSTEMS=="usb", ENV{ID_SERIAL}=="SanDisk_Ultra_Fit_*-0:0", ATTR{queue/rotational}="0", ATTR{queue/scheduler}="deadline"
dma_k

lsblk모든 오래된 SATA 회전 HDD (ASROCK mobo)에 대해 "0"을보고합니다. « 일부 USB 컨트롤러는 드라이브가 실제로 회전하지 않는다고 말하지 않습니다 (예 : USB 플래시). @dma_k 이것은 사실입니다. USB 유선 외부 회전 HDD IMHA의 다른 방법보다이 방법이 더 좋습니다 .
tuk0z

50

공급 업체 정보를 검색 하려면 smartctl(설치하여 설치 smartmontools)를 사용 하십시오.

sudo smartctl -a /dev/sdb

이런 줄이 보이면

Rotation Rate: Solid State Device

그것은 SSD 드라이브 일 것입니다.


5
smartctl 명령을 찾을 수 없습니다
IgorGanapolsky

7
smartctl는 패키지 smartmontools가의 일부입니다
TRR

27

VPS에서이 작업을 수행해야했지만 제공된 솔루션 중 어느 것도 효과가 없었습니다.

이 답변은 트릭을했다

https://serverfault.com/questions/551453/how-do-i-verify-that-my-hosting-provider-gave-me-ssds/551495#551495

드라이브에서 랜덤 데이터를 읽고 시간을 평가하는 것입니다.

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

다음은 SSD에 대한 내 결과입니다

real    0m1.375s
user    0m0.285s
sys     0m0.944s

HDD

real    0m14.249s
user    0m0.752s
sys     0m6.284s

SSD가 아닌 RAID10이 있으며 결과는 다음과 같습니다. 실제 0m1.351s-사용자 : 0m0.307s-sys : 0m0.560s
the_nuts

1
이것은 좋은 대답이며 전반적으로 작동합니다. 문제는 일부 HDD가 매우 빠르기 때문에 결과는 SSD의 결과와 비슷할 수 있다는 것입니다. 그럼에도 불구 하고이 답변은 좋은 지표를 제공합니다.
itoctopus 2016 년

1
SSD가없는 VPS에서는 SSD 예제와 같은 결과를 제공합니다. 이것이 "하이브리드"(SSD 캐시 HDD) 설정에 의해 잘못된 것일 수 있다고 생각합니다.
trr

나를 위해 작동하지 않습니다. SSD와 HDD가 비슷한 결과를 얻습니다.
qqibrow

VPS 하드웨어에서 가상화됩니다. 실제로 파일이 HDD에 저장되어 있는지, 캐시되어 있는지 또는 SSD에 저장되어 있는지 알 수 없습니다.
vidarlo

12

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


이것은 더 중요한 응답 중 하나 일 수 있습니다 ... 또한 BIOS 내에서 또는 EFI / UEFI에서는 SATA 컨트롤러 모드를 AHCI로 설정 한 다음 각 디스크를 BIOS 내에서 SSD로 표시해야합니다. 가정용 PC의 내 Asrock 보드는 이와 같습니다. 서버 보드 (supermicro)에 비슷한 것이 있었는지 기억이 나지 않지만 직장에서 SSD를 사용하지 않습니다.
ron

@ron-SATA 컨트롤러 모드를 AHCI로 설정한다는 것은 무슨 뜻입니까? 장치가 SSD인지 여부를 정확하게보고하는 기능에 어떤 영향을 미칩니 까?
동기 부여

첫 번째 웹 검색의 말로 AHCI와 IDE 비교 : IDE는 일반 컴퓨터 사용자에게 적합한 것으로 간주되며 다른 기술, 특히 구형 장치와 가장 호환됩니다. 그러나 새로운 기술에 대한 지원이 부족합니다 ... AHCI는 설계자와 개발자가 SATA / AHCI 어댑터를 구성, 감지 또는 프로그래밍하는 데 사용할 수있는 표준 시스템을 제공합니다. *
ron

이는 BIOS의 기본 설정이며 Storage 아래 어딘가에서 IDE, AHCI를 선택할 수 있으며 make / model / year의 마더 보드 수에 따라 RAID를 제공 할 수도 있습니다. IDE가 기본적으로 쓸모없고 표준이 AHCI가 된 후 SSD가 오래 나왔다. 예를 들어 오늘날 컴퓨터에 Windows95를 설치하는 것은 하드웨어를 인식하지 못할 것입니다. AHCI 프로토콜을 기반으로하는 SATA 컨트롤러와 통신 할 수 있습니다.
ron

9

확인하십시오 cat /proc/scsi/scsi. 거기에서 정확한 디스크 모델을 볼 수 있습니다. 그런 다음 모델을 Google에 연결하여 정보를 찾을 수 있습니다.


1
dmesg같은 정보를 포함합니다. dmesg | grep -i -e scsi -e ata
Matt

3

이것은 오래된 게시물이지만 우연히 발견 한 다른 방법을 공유하고 싶었습니다.

sg_vpd --page=bdc /dev/sda

이 명령은 블록 장치 특성에 대한 주요 제품 데이터를 가져옵니다. 회전식 헤드 디스크의 경우 출력에 다음이 포함됩니다. 공칭 회전 속도 : 7200 rpm SSD의 경우 다음이 포함됩니다. 비 회전 매체 (예 : 솔리드 스테이트)


+1. 좋았지 만 내 노화 (그리고 곧 교체 될 예정)에서 실행하면 WD Greens는 말합니다 Medium rotation rate is not reported. hdparmsmartmonctl같은 말. 나는 WD가 말하고 싶지 않다고 생각한다.
cas

sg_vpd -i가 더 유용 할 수 있습니다. 최소한 드라이브에서 공급 업체 정보를 제공합니다. 습격에는 효과가 없습니다.
데일
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.