3. ディスクの構造

Linux では、ハードディスクをパーティションに細分化でき、これらは個別のブロックデバイスとして機能します。/dev/sda1/dev/sda2などの例を思い出せるかもしれません。ここで、/dev/sdaはディスク全体を表し、/dev/sda1はそのディスク上の最初のパーティションです。パーティションはデータを分離するのに非常に役立ちます。ストレージの一部に特定のファイルシステムが必要な場合は、ディスク全体をフォーマットする代わりに、そのために新しいパーティションを作成できます。

パーティションテーブル

では、ディスクのどのコンポーネントが OS にディスクのパーティション分割方法を伝えるのでしょうか?答えはパーティションテーブルです。この重要なコンポーネントには、ハードドライブパーティションがどのように編成されているかの情報が含まれています。パーティションテーブルは、各パーティションがどこで始まりどこで終わるか、どのパーティションが起動可能か、ディスクのどのセクタが各パーティションに割り当てられているかを指定します。主要なパーティションテーブル方式には、マスターブートレコード(MBR)と GUID パーティションテーブル(GPT)の 2 種類があります。

Linux パーティションの理解

ディスクは、データの整理に役立つパーティションで構成されています。1 つのディスク上に複数のパーティションを持つことはできますが、それらが重複することはありません。パーティションに割り当てられていないディスク上の領域は、空き領域として知られています。利用可能な Linux パーティションの種類は、使用するパーティションテーブル方式によって異なります。パーティション内では、ファイルシステムを作成したり、スワップ領域などの他の目的に割り当てたりできます。

MBR パーティション

マスターブートレコード(MBR)は、従来のパーティションテーブル標準です。

  • プライマリ、拡張、および論理パーティションをサポートします。
  • MBR には 4 つのプライマリパーティションの制限があります。
  • より多くのパーティションを作成するには、1 つのプライマリパーティションを拡張パーティションとして指定する必要があります(ディスクごとに 1 つのみ許可されます)。この拡張パーティション内で、他のパーティションと同様に機能する複数の論理パーティションを作成できます。
  • 最大 2 テラバイトのディスクサイズをサポートします。

GPT パーティション

GUID パーティションテーブル(GPT)は、ディスクパーティション設定の最新標準です。

  • パーティションタイプは 1 種類のみで、多数作成できます。
  • 各パーティションにはグローバル一意識別子(GUID)が割り当てられます。
  • GPT は、UEFI ベースのブートシステムで一般的に使用されます。

ファイルシステム構造

以前に学んだように、ファイルシステムはファイルとディレクトリの整理されたコレクションです。その核となるのは、ファイルを管理するためのデータベースとファイル自体で構成されています。その構造をさらに詳しく見てみましょう。

  • ブートブロック: ファイルシステムの最初の数セクタに配置され、ファイルシステム自体では使用されません。代わりに、オペレーティングシステムを起動するために使用される情報が含まれています。OS ごとに 1 つのブートブロックが必要です。他のパーティションにもブートブロックがある場合がありますが、それらは未使用のままになることがよくあります。
  • スーパーブロック: これはブートブロックの直後に続く単一のブロックで、ファイルシステムのサイズ、論理ブロックのサイズ、ファイルシステム全体のサイズなど、ファイルシステムに関するメタデータが含まれています。
  • inode テーブル: これはファイルとディレクトリを管理するデータベースです。各ファイルまたはディレクトリには、それに関するさまざまな属性を格納する inode テーブル内に一意のエントリがあります。inode については、専用のレッスンで説明します。
  • データブロック: ここにファイルやディレクトリの実際のコンテンツが保存されます。

以下は、MBR パーティションテーブル(msdosとしてラベル付け)を使用するディスクの例です。プライマリ、拡張、および論理パーティションを確認できます。

pete@icebox:~$ sudo parted -l
Model: Seagate (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  6860MB  6859MB  primary   ext4            boot
 2      6861MB  21.5GB  14.6GB  extended
 5      6861MB  7380MB  519MB   logical   linux-swap(v1)
 6      7381MB  21.5GB  14.1GB  logical   xfs

この 2 番目の例は、パーティションに一意の ID を使用する GPT パーティションテーブルを示しています。

Model: Thumb Drive (scsi)
Disk /dev/sdb: 4041MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size     File system  Name        Flags
 1      17.4kB  1000MB  1000MB                first
 2      1000MB  4040MB  3040MB                second

ログインして学習進捗を保存

サインイン

演習

ディスクパーティションとファイルシステムへの理解を深めるために、次のハンズオンラボをお勧めします。

  1. Linux パーティションとファイルシステムの管理 - 新しいパーティションの作成、ext4 などのファイルシステムでのフォーマット、マウント、および/etc/fstabでの永続的なマウント設定を練習します。

このラボは、実際のシナリオでディスク管理の概念を適用し、Linux ストレージに対する自信を構築するのに役立ちます。

クイズ

MBR パーティション方式で 4 つ以上のパーティションを作成するために使用されるパーティションタイプは何ですか?(単一の小文字の英単語で回答してください。)