GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでディスクがSSDかHDDかを確認する方法

このシナリオを想像してください。あなたはLinuxの経験が限られている初心者です。最近、UbuntuなどのLinuxがプリインストールされた新しいラップトップを購入しました。インストールされているディスクがSSD(ソリッドステートドライブ)なのか、通常のHDD(ハードディスクドライブ)なのかはよくわかりません。問題ない!この簡単なガイドでは、LinuxオペレーティングシステムでディスクがSSDかHDDかを確認する方法を説明します。

LinuxでディスクがSSDかHDDかを確認する

カーネルバージョン2.6.29以降 、LinuxオペレーティングシステムはSSDを自動的に検出できます。ディスクがSSDであるかHDDであるかを確認する方法はいくつかあります。ここでは7つの方法を示しました。

方法1-ディスクが回転しているかどうかを確認します

ご存知かもしれませんが、従来のハードディスクドライブ(HDD) プラッターと呼ばれる円形のディスクにデータを保存します 。ディスクが回転すると、移動する読み取り/書き込みヘッドがデータにアクセスします。ディスクの回転(回転)が速いほど、ハードディスクの動作も速くなります。

一方、ソリッドステートドライブ(SDD) は、最新のストレージテクノロジーであり、すぐにアクセスできるフラッシュメモリチップにデータを保存する高速タイプのディスクドライブです。従来のHDDとは異なり、SSDには可動部品がなく、SSDは回転しません

したがって、インストールされているディスクがSSDであるか通常のHDDであるかを確認するには、次のコマンドを使用してディスクが回転しているかどうかを確認します。

$ cat /sys/block/sda/queue/rotational

出力が1の場合 、ディスクはHDDです。出力が0の場合 (ゼロ)、ディスクはSDDです。 SSDは回転しないからです。したがって、システムにSSDがある場合、出力はゼロになるはずです。

各ドライブには、 / sys / class / block /にディレクトリがあります。 位置。したがって、他のドライブの詳細も確認できます。

$ cat /sys/block/sdb/queue/rotational
$ cat /sys/block/sdc/queue/rotational

注:

KVMゲスト仮想マシンを使用している場合、ドライブ文字は vdaになります。 。結果はバスの種類によって異なります 仮想マシンで選択しました。たとえば、仮想ディスクのバスタイプとしてSATAを選択した場合、次の出力が表示されます。

$ cat /sys/block/vda/queue/rotational 
1

方法2-lsblkコマンドを使用する

lsblk コマンドはsysfsを読み取ります ファイルシステムとudevdb 使用可能なすべてのデバイスまたは指定されたブロックデバイスに関する情報を収集します。 lsblkコマンドはutil-linuxの一部です パッケージであり、ほとんどのLinuxディストリビューションにプリインストールされています。

lsblkコマンドが使用できない場合に備えて、ディストリビューションのパッケージマネージャーを使用してutil-linuxパッケージをインストールしてください。

たとえば、Archベースのシステムでは、次のコマンドを使用してインストールできます。

$ sudo pacman -S util-linux

Debianベースのシステムの場合:

$ sudo apt install util-linux

RPMベースのシステムの場合:

$ sudo yum install util-linux

openSUSEの場合:

$ sudo zypper install util-linux

次に、コマンドを使用して、ディスクがSSDかHDDかを確認します。

$ lsblk -d -o name,rota

出力例:

NAME   ROTA
loop0     1
loop1     1
loop2     1
loop3     1
loop4     1
loop5     1
loop6     1
loop7     1
loop8     1
loop9     1
loop10    1
loop11    1
loop12    1
loop13    1
loop14    1
loop15    1
loop16    1
loop17    1
loop18    1
loop19    1
loop20    1
sda       1
sr0       1

ここで、「回転」とは回転装置を意味します 。上記の出力でrotaの値を1として取得した場合 、ディスクはHDDです。値が0(ゼロ)の場合 、ディスクはSSDです。

方法3-SMART監視ツールの使用

ディスクがSSDであるかHDDであるかを確認する別の方法は、 smartctlを使用することです。 指図。 smartctlは、S.M.A.R.T監視ツールパッケージの一部であり、S.M.A.R.Tを制御および監視するために使用されます。有効なATAおよびSCSIハードドライブ。

Arch LinuxとそのバリアントにSMARTモニタリングツールをインストールするには、以下を実行します:

$ sudo pacman -S install smartmontools

Debian、Ubuntuの場合:

$ sudo apt install smartmontools

RHELでは、CentOS:

$ sudo yum install smartmontools

openSUSEの場合:

$ sudo zypper install smartmontools

smartmontoolsパッケージをインストールした後、次のコマンドを実行して、ディスクがSSDかHDDかを確認します。

$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'

ディスクがSSDの場合、次のような出力が得られます。

Rotation Rate:    Solid State Device

ディスクがHDDの場合、次の出力が得られます:

Rotation Rate: 5400 rpm

方法4-dmesg+Googleを使用する

これは、ディスクタイプを見つけるための直接的なアプローチではありません。この方法では、 dmesgを使用します コマンドを使用してディスクモデルを検索し、詳細をグーグルで検索して、ディスクがSSDかHDDかを確認します。

$ dmesg | grep -i -e scsi -e ata

他のすべての詳細の中でディスクモデル名が表示されます。

[...]
[ 1.845159] scsi 0:0:0:0: Direct-Access ATA ST9500325AS DEM1 PQ: 0 ANSI: 5
[...]

このモデルをグーグルで検索して、ディスクの詳細を見つけてください。

方法5-SCSI詳細+Googleの使用

上記の方法と同じです。 / procからディスクモデルを取得します コマンドを使用したディレクトリ:

$ cat /proc/scsi/scsi

出力例:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST9500325AS      Rev: DEM1
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: PLDS     Model: DVD+-RW DS-8A8SH Rev: KD11
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi6 Channel: 00 Id: 00 Lun: 00
  Vendor: Generic- Model: Multi-Card       Rev: 1.00
  Type:   Direct-Access                    ANSI  SCSI revision: 00

次に、詳細をGoogleで調べて、ディスクがSSDかHDDかを確認します。

方法6-Sg3-utilsを使用する

Sg3-utils SCSIコマンドセットを使用するデバイス用のユーティリティのコレクションです。このパッケージの各ユーティリティは、1つのSCSIコマンドを実装しています。

Sg3-utilsは、DebianとUbuntuのデフォルトのリポジトリで利用できます。システムにインストールするには、次のコマンドを実行します。

$ sudo apt install sg3-utils

次に、次のコマンドを実行して、ブロックデバイスの特性についてVital Product Data(VPD)を確認します。

$ sudo sg_vpd --page=bdc /dev/sda

出力例:

Block device characteristics VPD page (SBC):
Nominal rotation rate: 5400 rpm
Product type: Not specified
WABEREQ=0
WACEREQ=0
Nominal form factor not reported
ZONED=0
BOCS=0
FUAB=0
VBULS=0

出力を確認します。出力にこの行が含まれている場合-「公称回転速度:5400rpm」 、HDDです。 SSDの場合、おそらく次のように表示されます-「非回転媒体」

方法7-ベンチマークディスクアクセスパフォーマンス

次のコマンドを使用してディスクからランダムなブロックを読み取ることにより、ディスクがSSDかHDDかを確認します。

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

このコマンドは、ディスクの最初の16GBから1000個のランダムな4kブロックを読み取ります。

ディスクがSSDの場合、操作は約1秒で完了するはずです。 。ディスクがHDDの場合、完了するまでに数秒かかります。

これは、VPSのディスクをチェックするのに役立ちます。 VPSを使用していて、ホスティングプロバイダーからSSDとHDDのどちらが提供されているかを確認したい場合は、これが1つの方法です。

複数のディスクがある場合はどうなりますか?

2つのディスクがある場合、1つはSSDで、もう1つはHDDです。両方のディスクは同じサイズで、同じメーカーのものです。 Linuxがどのディスクにインストールされているのかわかりません。その場合は、次のコマンドを使用して、ルートファイルシステムがどのディスクにあるかを確認するだけです。

$ df / -h

出力例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       458G  341G   95G  79% /

または、 lshwを使用します ディスクの詳細を検索するコマンド:

$ sudo lshw -short -C disk

出力例:

H/W path                 Device           Class          Description
====================================================================
/0/100/1d/1/1/6/0.0.0    /dev/sdb         disk           Multi-Card
/0/100/1d/1/1/6/0.0.0/0  /dev/sdb         disk           
/0/1/0.0.0               /dev/sda         disk           500GB ST9500325AS
/0/2/0.0.0               /dev/cdrom       disk           DVD+-RW DS-8A8SH

上記の出力でわかるように、私のルートファイルシステムは / dev / sdaにインストールされています 。次に、上記のいずれかの方法に従って、ディスクがHDDかSSDかを確認します。

注:

Lenovo Ideapad s240などの一部の新しいノートパソコン 、たとえば nvme0n1などの別のデバイス名が表示されます 。コマンドを使用して、使用可能なブロックデバイスのリストを表示しましょう:

$ ls /sys/block

出力例:

loop0   loop11  loop14  loop17  loop2   loop3  loop6  loop9
loop1   loop12  loop15  loop18  loop20  loop4  loop7  nvme0n1
loop10  loop13  loop16  loop19  loop21  loop5  loop8

ルートファイルシステムがどのディスクにあるかを調べてみましょう:

$ df / -h

出力例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p6  96G   34G   58G   34%  /

上記の出力に見られるように、 sdaはありません。 またはsdb 。パニックにならない!これは正常です。 / dev / nvme ...デバイス名は新しいNVMeを示します 「ディスク」ディスクが従来のSATAまたはSASポートではなく、NVM Expressポートを介して接続されている場合は、上記の出力に示されているように、異なるデバイス名が表示されます。

ここでは、 / dev / nvme0n1 / dev / sdaと同等です 。したがって、 / dev / nvme0n1p6 / dev / sda6と同等です 。

推奨される読み物:

  • Linuxでハードウェア仕様を見つける方法
  • Linuxシステムが物理マシンか仮想マシンかを確認する方法
  • Linuxシステムが32ビットか64ビットかを確認する方法
  • CPUが仮想化テクノロジー(VT)をサポートしているかどうかを確認する方法

これらは、ディスクがLinuxのSSDまたはHDDであるかどうかを確認するためのいくつかの方法です。お役に立てば幸いです。

PixabayのPagDevによるSSDアイコン画像

ClkerによるHddアイコン画像-Free-Vector-Imagesfrom Pixabay


Linux
  1. Linux の find コマンドを使用してファイルを検索する方法

  2. Linuxのソケットバッファサイズを見つける方法

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

  1. Linuxでディスクをパーティション分割する方法

  2. LinuxでSSD/HDDの状態を確認する方法

  3. Linux でゲートウェイ IP アドレスを見つける方法

  1. LinuxでSSDまたはHDDのディスクを見つける方法は?

  2. Linux ですべてのスパース ファイルを見つける方法

  3. Linux で「find」の結果を mv にパイプする方法