ディスクがソリッドステートドライブかハードディスクかを知りたい。
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
LinuxはSSDを自動的に検出し、 以降 カーネルバージョン2.6.29の場合、sda
を次のように確認できます。
cat /sys/block/sda/queue/rotational
ハードディスクには1
、SSDには0
を取得する必要があります。
ディスクがハードウェア(RAIDコントローラなど)によってエミュレートされた論理デバイスである場合は、おそらく機能しません。
詳細は this answer を参照してください...
lsblk
(util-linux
パッケージの一部):
lsblk -d -o name、rota
NAME ROTA
sda 0
sdb 0
sdc 1
ここで、ROTA
はrotational device
を意味します(trueの場合は1
、falseの場合は0
)
smartctl
(smartmontools
をインストールしてインストール)を使用してベンダー情報を取得します。
Sudo smartctl -a /dev/sdb
このような線が表示されたら、
Rotation Rate: Solid State Device
それはSSDドライブでしょう。
VPSでこれを行う必要があり、提供されたソリューションはどれも機能しませんでした。
この答えはトリックをしました
つまり、ドライブからランダムなデータを読み取り、時間を評価することです。
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
他の回答は、/proc
など、さまざまな方法でこの情報を取得する方法をすでに示しています。ただし、ハイブリッドSAN複数の層を持つアレイ)などの仮想化が存在する場合、またはLinuxマシンが仮想マシン(Linuxがおそらくハードウェアが実際に何であるかに関係なく、ディスクを基本的なSCSI回転ディスクとして報告する)
小切手 cat /proc/scsi/scsi
。ディスクの正確なモデルが表示されます。次に、モデルをグーグルで検索して、それに関する情報を見つけます。
これは古い投稿ですが、誤って見つけた別の方法を共有したいと思いました。
sg_vpd --page=bdc /dev/sda
このコマンドは、ブロックデバイス特性の重要製品データをフェッチします。回転ヘッドディスクの場合、出力には以下が含まれます。公称回転速度:7200 rpm SSDの場合、以下が含まれます:非回転媒体(例:ソリッドステート)
これを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の場合、ハードドライブのモデルを確認できます。
lsblk -d -o name,rota | awk '{ if ($2 =="1") print $1 "[HDD]"; else if ($2 =="0") print $1 "[SDD]";}'
リストブロックのlsblkコマンドウィッチスタンドには、ディスクタイプを検出する機能があります。SSDまたはクラシックハードドライブとawkコマンドを組み合わせることで、出力をヒューマンで読みやすくし、操作するのではなく、端末で見やすくします。 0および1の値。
find /sys/block/* -maxdepth 1 -exec echo {} \; -exec grep '0' {}/queue/rotational \; | grep -B1 '^0' | grep '^/' | sed 's/^.*\///g'
これにより、すべてのブロックデバイスが検索され、回転式かどうかが確認されます(1)。そうでない場合(0)はssdです。
これは、ssdとしてマークされたディスクのみを表示します。