web-dev-qa-db-ja.com

ディスクがSSDかHDDかを知る方法

ディスクがソリッドステートドライブかハードディスクかを知りたい。

lshwがインストールされていません。私がやります yum install lshwそして、それはlshwという名前のパッケージがないと言います。 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
221
user4951

LinuxはSSDを自動的に検出し、 以降 カーネルバージョン2.6.29の場合、sdaを次のように確認できます。

cat /sys/block/sda/queue/rotational

ハードディスクには1、SSDには0を取得する必要があります。

ディスクがハードウェア(RAIDコントローラなど)によってエミュレートされた論理デバイスである場合は、おそらく機能しません。

詳細は this answer を参照してください...

347
Totor

lsblkutil-linuxパッケージの一部):

lsblk -d -o name、rota
NAME ROTA
sda     0
sdb     0
sdc     1

ここで、ROTArotational deviceを意味します(trueの場合は1、falseの場合は0

111
don_crissti

smartctlsmartmontoolsをインストールしてインストール)を使用してベンダー情報を取得します。

Sudo smartctl -a /dev/sdb

このような線が表示されたら、

Rotation Rate: Solid State Device

それはSSDドライブでしょう。

54
daisy

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
31
dav

他の回答は、/procなど、さまざまな方法でこの情報を取得する方法をすでに示しています。ただし、ハイブリッドSAN複数の層を持つアレイ)などの仮想化が存在する場合、またはLinuxマシンが仮想マシン(Linuxがおそらくハードウェアが実際に何であるかに関係なく、ディスクを基本的なSCSI回転ディスクとして報告する)

14
Tim Cutts

小切手 cat /proc/scsi/scsi。ディスクの正確なモデルが表示されます。次に、モデルをグーグルで検索して、それに関する情報を見つけます。

11
replay

これは古い投稿ですが、誤って見つけた別の方法を共有したいと思いました。

sg_vpd --page=bdc /dev/sda

このコマンドは、ブロックデバイス特性の重要製品データをフェッチします。回転ヘッドディスクの場合、出力には以下が含まれます。公称回転速度:7200 rpm SSDの場合、以下が含まれます:非回転媒体(例:ソリッドステート)

4
user177312

これをLinux端末に入力します。

cat /proc/scsi/scsi

私のもののように:

$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST1000LM024 HN-M Rev: 0004
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: SAMSUNG SSD PM83 Rev: 3D1Q
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: HL-DT-ST Model: DVD+-RW GT80N    Rev: A103
  Type:   CD-ROM                           ANSI  SCSI revision: 05

SSDまたはHHDの場合、ハードドライブのモデルを確認できます。

1
user386433
lsblk -d -o name,rota | awk '{ if ($2 =="1") print $1 "[HDD]"; else if ($2 =="0") print $1 "[SDD]";}'

リストブロックのlsblkコマンドウィッチスタンドには、ディスクタイプを検出する機能があります。SSDまたはクラシックハードドライブとawkコマンドを組み合わせることで、出力をヒューマンで読みやすくし、操作するのではなく、端末で見やすくします。 0および1の値。

1
A.HEDDAR
find /sys/block/* -maxdepth 1 -exec echo {} \; -exec grep '0' {}/queue/rotational \; | grep -B1 '^0' | grep '^/' | sed 's/^.*\///g'

これにより、すべてのブロックデバイスが検索され、回転式かどうかが確認されます(1)。そうでない場合(0)はssdです。

これは、ssdとしてマークされたディスクのみを表示します。

1
user515185