Linuxのハードディスクとは?HDDなどストレージ装置の仕組みと確認方法を初心者向けに解説
生徒
「Linuxでいうハードディスクって、ファイルを保存している場所のことですか?」
先生
「はい。ハードディスクは、Linuxのファイルやアプリケーション、設定情報などを長期間保存するために使われるストレージ装置の一つです。」
生徒
「SSDとは何が違うんですか?Linuxではどうやって確認するんでしょうか?」
先生
「ハードディスクは内部の円盤を回転させてデータを読み書きする点が大きな特徴です。Linuxでのデバイス名や確認コマンドも含めて順番に見ていきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. Linuxのハードディスクとは?
Linuxの読み方はLinux(リナックス)です。ハードディスクは英語でhard disk(ハードディスク)といい、一般にはHDDという名前でも呼ばれます。HDDの読み方はHDD(エイチディーディー)で、Hard Disk Drive(ハードディスクドライブ)の略です。ハードディスクは、文書、画像、動画、プログラム、設定ファイルなどのデータを長期間保存するためのストレージ装置です。
ストレージの読み方はstorage(ストレージ)です。ストレージとは、電源を切ってもデータを保持できる保存装置を表す言葉で、HDDだけでなくSSDなども含まれます。そのため、ハードディスクとストレージは完全に同じ意味ではありません。ハードディスクはストレージの一種類だと理解すると整理しやすくなります。
パソコン初心者の方は、ハードディスクを大きな書庫のように考えるとわかりやすいでしょう。Linuxで作成したファイルやインストールしたソフトウェアは、その書庫の中へ保存されます。パソコンを再起動してもファイルが残っているのは、メモリではなくストレージへ保存されているからです。
LinuxではHDDを単なる保存箱として使うだけでなく、デバイス、パーティション、ファイルシステム、マウントといった仕組みを通して管理します。これらの基本用語を一緒に覚えると、Linuxのファイルシステムとストレージ管理が理解しやすくなります。
2. ハードディスクの内部では円盤にデータを記録する
ハードディスクの大きな特徴は、内部に磁気を利用する円盤があり、その円盤を回転させながらデータを読み書きすることです。この円盤はプラッタと呼ばれます。プラッタの読み方はplatter(プラッタ)です。円盤の近くには読み書きを行うためのヘッドがあり、必要な位置へ移動してデータへアクセスします。
このようにHDDには機械的に動く部分があります。そのため、SSDと比べると読み書きに時間がかかりやすく、衝撃や振動の影響を受けやすいという特徴があります。一方で、大容量のストレージを比較的低い価格で用意しやすいため、バックアップ、写真、動画、ログなど大量のデータを保存する用途で使われています。
ハードディスクでは、円盤上のデータ位置を管理する考え方としてセクタという用語も登場します。セクタの読み方はsector(セクタ)です。昔からストレージを一定の単位に区切って扱う考え方があり、Linuxでディスクやパーティションを調べると開始位置やセクタサイズを見ることがあります。
昔のパソコンではHDDが主なストレージとして広く使われてきましたが、現在ではOSやアプリケーションを高速に起動したい用途ではSSDも多く利用されています。それでも大容量保存やバックアップではHDDが使われる場面があり、Linuxサーバーや家庭用の保存装置でも重要なストレージの一つです。
3. HDDとSSDの違いを初心者向けに整理する
SSDの読み方はSSD(エスエスディー)で、Solid State Drive(ソリッドステートドライブ)の略です。SSDもHDDと同じくデータを長期間保存するストレージですが、内部の仕組みが異なります。HDDが回転する円盤を使うのに対して、SSDは主に半導体メモリへデータを保存します。
半導体の読み方は半導体(ハンドウタイ)です。SSDにはHDDのような回転する円盤や移動するヘッドがないため、一般に読み書きが高速で、動作音も小さく、衝撃にも比較的強いという特徴があります。そのためLinuxを起動するシステムディスクとしてSSDが利用されることも増えています。
一方、HDDは大容量を比較的安価に用意しやすいことが利点です。たとえば大量のバックアップファイル、動画、長期間保存するデータなどでは、容量を重視してHDDを利用する構成があります。Linuxサーバーでも、速度が重要な領域にはSSDを使い、大容量保存にはHDDを使うなど、目的に合わせて使い分けることがあります。
つまり、HDDとSSDはどちらもストレージですが、仕組み、速度、価格、容量、耐衝撃性などに違いがあります。Linuxのコマンドから見た場合は、どちらもブロックデバイスとして扱われるため、共通する確認方法も多くあります。
4. Linuxではハードディスクをブロックデバイスとして扱う
LinuxではHDDやSSDなどのストレージをブロックデバイスとして扱います。ブロックデバイスの読み方はblock device(ブロックデバイス)です。一定の大きさのデータ単位を使って読み書きする装置を扱うための仕組みで、HDDやSSD、仮想ディスクなどが代表例です。
Linuxではデバイスを表す特別なファイルが/devディレクトリに用意されます。たとえば環境によっては、最初のストレージが/dev/sda、次のストレージが/dev/sdbのように見えることがあります。ただし、現在のLinuxでは接続方式や環境によって別の名前になることもあります。
現在認識されているブロックデバイスはlsblkコマンドで確認できます。lsblkの読み方はlsblk(エルエスブロック)です。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 500G 0 disk
sda1 8:1 0 1G 0 part /boot
sda2 8:2 0 499G 0 part /
この例ではsdaがストレージ本体で、TYPEの欄にdiskと表示されています。その下にあるsda1とsda2はパーティションです。パーティションの読み方はpartition(パーティション)で、一台のストレージを複数の領域へ分割して利用する仕組みです。
5. Linuxでハードディスクの型番や容量を確認する方法
Linuxでストレージの容量や製品情報を確認したい場合もlsblkを利用できます。表示する項目を指定すると、デバイス名、容量、種類、モデル名などを一緒に確認できます。
lsblk -o NAME,SIZE,TYPE,MODEL
NAME SIZE TYPE MODEL
sda 500G disk ST500DM002
sda1 1G part
sda2 499G part
MODELの欄には、ストレージがLinuxへ提供しているモデル名が表示されます。実際の表示内容はHDDの製品、接続方法、仮想マシン、Linuxディストリビューションなどによって異なります。仮想環境では物理的なHDDの製品名ではなく、仮想ディスクを表す名前が表示されることもあります。
容量を見るときは、ストレージ本体とパーティションを区別することが重要です。たとえばsdaが五百ギガバイトでも、その中に複数のパーティションが作成されていれば、それぞれのパーティションは異なる容量を持ちます。
Linuxでストレージを調査するときは、最初にlsblkで全体構成を確認し、どれがディスク本体で、どれがパーティションなのかを確認する習慣を付けると安全です。
6. rotationalの値で回転式ストレージか確認する
Linuxではsysfsという仕組みから、ブロックデバイスの情報を確認できます。sysfsの読み方はsysfs(シスエフエス)です。Linuxカーネルが管理しているデバイスなどの情報を、ファイルのような形で確認できる仕組みです。
たとえばsdaというデバイスが回転式ストレージとして認識されているかは、次のように確認できます。
cat /sys/block/sda/queue/rotational
1
一般に値が1なら回転する媒体を持つストレージとして認識され、0なら非回転式として認識されています。そのためHDDでは一になることが多く、SSDではゼロになることが多いです。
ただし、この値だけで実際の物理装置を完全に判定できるとは限りません。仮想マシンや特殊なストレージ構成では、ホスト側の情報がそのまま見えない場合があります。そのため、モデル名やシステム構成なども合わせて確認するとよいでしょう。
Linux初心者は、このコマンドを通してHDDとSSDがOSからどのように見えているかを確認すると、ストレージ装置とLinuxカーネルの関係を理解しやすくなります。
7. ハードディスクとパーティションやファイルシステムの関係
LinuxでHDDを利用するときは、ハードディスク本体だけを理解するのではなく、パーティションとファイルシステムの関係も知っておくことが大切です。一般的には、ストレージ上へパーティションを用意し、その領域へファイルシステムを作成して利用します。
ファイルシステムの読み方はfile system(ファイルシステム)です。ストレージの中でファイル名、ディレクトリ、データ、空き領域などを管理する仕組みです。Linuxではext4やXFSなどのファイルシステムが利用されます。
さらに、そのファイルシステムをLinuxのディレクトリへ接続する仕組みがマウントです。マウントの読み方はmount(マウント)です。たとえばストレージ上のファイルシステムを/dataへマウントすると、利用者は/dataの中へファイルを保存することで、そのストレージを利用できます。
初心者の方は、HDDが土地、パーティションが土地を分けた区画、ファイルシステムが区画の中を整理するルール、マウントがLinuxのディレクトリからその区画へ入るための入口だと考えると理解しやすいでしょう。
8. dfコマンドでハードディスク上の空き容量を確認する
Linuxを利用していると、ストレージの空き容量を確認したい場面があります。そのときによく使われるのがdfコマンドです。dfの読み方はdf(ディーエフ)です。マウントされているファイルシステムについて、全体容量、使用量、空き容量などを確認できます。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 499G 120G 379G 25% /
/dev/sda1 1022M 210M 812M 21% /boot
-hを付けると、人が読みやすい容量単位で表示されます。Sizeは全体容量、Usedは使用済み容量、Availは利用可能な容量、Useは使用率、Mounted onはマウント先です。
lsblkがストレージやパーティションの構成を調べるコマンドなのに対し、df -hは現在利用中のファイルシステムの容量を調べるときに便利です。Linuxのディスク容量を確認するときは、この二つを使い分けると状況を把握しやすくなります。
ハードディスクの空き容量が不足すると、新しいファイルを保存できないだけでなく、ログを書き込めない、アプリケーションが正常に動作しないなどの問題につながる場合があります。そのためLinuxサーバーでは定期的な容量確認が重要です。
9. HDDの故障とバックアップの重要性
HDDは長期間データを保存できる装置ですが、永久に故障しないわけではありません。内部には回転する円盤や動く部品があるため、長期間の使用、衝撃、熱などによって故障する可能性があります。突然読み書きできなくなる場合もあるため、大切なデータを一台のHDDだけへ保存するのは安全とはいえません。
そこで重要になるのがバックアップです。バックアップの読み方はbackup(バックアップ)です。元のデータが失われた場合に備えて、別のストレージや別のサーバーなどへデータを複製して保管することを意味します。
たとえばLinuxサーバーのデータを別のHDDへコピーしていても、その二台が同じ機械の中にあり、機械全体が故障した場合には両方を失う可能性があります。そのため重要なデータでは、別の機器や離れた保存先も利用してバックアップすることがあります。
また、RAIDという仕組みを使って複数のディスクを組み合わせる構成もあります。RAIDの読み方はRAID(レイド)です。ただしRAIDはディスク障害への備えとして役立つことがありますが、誤って削除したファイルを戻すためのバックアップと同じものではありません。RAIDを利用していても、重要なデータのバックアップは別に考える必要があります。
10. Linux初心者がハードディスクで覚えておきたいポイント
Linuxのハードディスクを学ぶときは、HDDはストレージ装置の一種類であることを最初に覚えておきましょう。ストレージという大きな分類の中にHDDやSSDなどがあり、HDDは回転する磁気ディスクへデータを記録する方式です。
LinuxではHDDやSSDをブロックデバイスとして認識し、/dev以下のデバイスファイルを通して扱います。lsblkを使えばストレージ本体とパーティションを確認でき、lsblk -o NAME,SIZE,TYPE,MODELを使えば容量やモデル情報も確認できます。またdf -hでは、現在マウントされているファイルシステムの使用量や空き容量を確認できます。
ハードディスクを実際に利用するまでには、ストレージ、パーティション、ファイルシステム、マウントという複数の仕組みが関係します。この流れを理解しておくと、Linuxで新しいディスクを追加するときや、容量不足の原因を調べるときにも役立ちます。
さらに、HDDには故障の可能性があるため、保存できていることと安全に保管できていることは同じではありません。大切なファイル、データベース、設定ファイルなどはバックアップを用意し、障害が発生しても復元できるようにすることが重要です。
Linuxのハードディスクは、ファイルやアプリケーションなどを長期間保存するためのHDDというストレージ装置です。HDDとSSDの違い、ブロックデバイス、パーティション、ファイルシステム、マウント、lsblk、df、バックアップなどを一緒に学ぶと、Linuxのストレージ管理を理解しやすくなります。