ファイルシステムの管理と保守:実践でも役立つLPICドリル(3)(1/4 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
実践でも役立つLPICドリル バックナンバー
- 第1回 表示結果から読み解け! ハードウェア構成の調査
- 第2回 RPMによるパッケージ管理を理解する
- 第3回 ファイルシステムの管理と保守
- 第4回 X Window System の仕組みと設定
- 第5回 Linuxカーネルのコンフィグレーション手順
- 第6回 Linuxシステムの起動と停止の手順
- 第7回 Linux印刷システムの仕組みと設定
- 第8回 Linux時刻管理の仕組みと設定
- 第9回 Sambaのユーザー認証とファイルアクセス権の設定
- 第10回 DNSセキュリティの設定
- 第11回 Apache&Squidアクセス制御/ユーザー認証の設定
- 最終回 OpenSSHの認証手順
■今回のディストリビューション: Fedora 8
問題を解く鍵【1】〜【3】
今回のトピックは「ファイルシステムの管理と保守」です。管理と保守の手順や試験問題を解くに当たって理解しておくべきポイントなどを6つご紹介します。
【1】ファイルシステムとはどのようなものか、その概要を把握しておく
ファイルシステムは、ディスクやCD-ROM/DVDなどの記憶装置の中で木構造に格納されるデータと、それを検索して読み書きを行うカーネルモジュールから構成されます。ファイルシステムの木は、1つのディスクパーティションの中に1つだけ作ることができます。扱えるファイルのファイル名、ファイルサイズ、ファイルの個数、ファイルシステムのサイズ、パフォーマンス、セキュリティ機能などが異なった、さまざまファイルシステムがあります。
LinuxではEXT2、EXT3ファイルシステムが標準ですが、サン・マイクロシステムズのSolarisやマイクロソフトのWindowsなど、ほかのOSで標準となっているファイルシステムにアクセスすることもできます。
【2】ファイルシステムが作られるデバイスの種類やデバイス名、ファイルシステムの種類を把握しておく
ファイルシステムは、ハードディスクなどのランダムアクセス可能なデバイス(ブロックデバイス)に作成することができます。ファイルシステムを作成できるデバイスとして次のようなものがあります。
- ATA/IDE ハードディスク(/dev/hda)、
- USB CD-ROM、USB DVD、SCSI CD-ROM、SCSI DVD(/dev/sr0, /dev/scd0)、
- USB ハードディスク、USB メモリ、SATA ハードディスク、SCSI ハードディスク(/dev/sda)、
- フロッピーディスク(/dev/fd0)
Linuxで使用されている主なファイルシステムには次のようなものがあります。
Linuxのファイルシステム | EXT2、EXT3、ReiserFS、JFS、XFS |
---|---|
Solarisのファイルシステム | UFS |
MS Windowsのファイルシステム | NTFS、VFAT、HPFS(OS2) |
CD-ROM/DVDのファイルシステム | ISO9660、Rock Ridge拡張、Joliet拡張、UDF |
疑似ファイルシステム | proc、tmpfs、sysfs、devpts |
分散ファイルシステム | NFS、CIFS、NCPFS |
---|
ほかにもLinuxが利用するファイルシステムはいろいろあります。
【3】ファイルシステムの構造を把握しておく
ファイルシステムは、データ(ファイルの中身)を格納するデータ領域と、データを管理するための管理領域(メタデータ領域)から構成されます。Linuxの標準のファイルシステムであるEXT2/EXT3では、次の要素から構成されます。
(注)EXT3はEXT2にジャーナル機能(メタデータの更新を記録し、その記録を基にメタデータの不整合を修復する機能)を追加したものです。ジャーナル機能はEXT2の予約領域を使用して実装されているので、以下に説明する構成については、EXT2もEXT3も同じです。tune2fsコマンドでジャーナル機能の追加や取り外しができます。
■管理領域
●スーパーブロック
inodeの個数、データブロックのサイズと個数、inodeの使用/未使用を示すビットマップ、データブロックの使用/未使用を示すビットマップなどから構成されます。
●inode
1つのinodeが1つのファイルを管理します。従って、ファイルシステムにはinodeの個数分のファイルを作ることができます。
inodeにはファイルタイプ、パーミッション、リンク数、オーナー/グループ、ファイルサイズ、変更時刻、アクセス時刻、ファイルの中身を格納するデータブロック番号などが格納されます。
ls -lで表示される情報のうち、ファイル名以外の情報はそのファイルを管理するinodeに格納されています。ファイル名はディレクトリファイルに格納されています。
inodeはinodeテーブルの中に、順番に番号付けされて配置されています。
■データ領域
データ領域は、データブロックから構成されます。
●ブロックグループ
ファイルシステムは複数のブロックグループに分割されています。1つのファイルの複数のデータブロックを同じブロックグループ内のデータブロックに割り当てることで、ディスクヘッドのシーク時間を減らして、アクセス速度を向上させることができます。
●ディレクトリファイルとリンク数
ディレクトリファイルには、ファイル名とinodeの対応情報が格納されています。ファイルを管理するinodeがいくつのディレクトリエントリから参照されているかを示す数がリンク数です。
●バッファキャッシュ
ファイルは次のようにしてアクセスされます。
ファイル名の指定 -> ディレクトリエントリ -> inode -> データブロック
ファイルへのアクセスパフォーマンスを向上させるため、ディレクトリとinodeの情報はカーネルが管理するメモリ内にキャッシュされます。このキャッシュの情報は最終的にはディスクに書き込まれます。
この仕組み上、shutdownコマンドなど正しい停止手順を実行せずに電源を切るなどした場合、あるいはディスクの障害でディレクトリエントリやinodeが消失した場合など、ファイル名のない(ディレクトリエントリから参照されない)inodeができてしまいます。また、スーパーブロック内のinodeやブロックのビットマップと、inodeのリンク数やデータブロック番号との情報に不整合が生じます。fsckコマンドは、この不整合性を検査、修復してくれます(後述)。
Copyright © ITmedia, Inc. All Rights Reserved.