ディスクが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ローテーションディスクとして報告できる場合)、これらすべてのメカニズムがあると予想する必要があります。 )。 、実際のハードウェアが何であれ関係なし)

関連情報