ディレクトリが損傷すると、どのような問題が引き起こされるのか?
ボリューム再構築ツール

ボリューム構造

ディレクトリ:
ディレクトリとは一言で言うと「ファイルの名簿」です。ハードディスクやファイルシステムのファイルを整理・管理するための、階層構造を持つグループ名となります。Mac に保存されるファイルは、整理・管理するために階層構造で管理されており、これを「ディレクトリ・ツリー」と呼びます。このディレクトリ・ツリーはおおもとの根 (root)から始まって、枝分かれして管理されています。データにアクセスする際は、ディレクトリ情報を元にファイルやフォルダにアクセスします。

カタログファイル:
ディレクトリ情報を管理する、Mac のボリューム構造で最も重要なファイルは「カタログファイル」です。カタログファイルにはファイルの名称・保存場所・容量など、ファイルに関する全ての情報が含まれています。カタログファイルのファイルとフォルダは、それぞれ「カタログノード ID」という固有の見出しを割り当てられます。ファイルでは「ファイル ID」、フォルダでは「フォルダ ID」となります。各ファイルおよびフォルダの「ペアレント(親) ID」は、それらが入っているフォルダのカタログノード ID です。

エクステントファイル(エクステントオーバーフローファイル):
ファイルが保存されると、ファイルシステムはそのファイルを保持するためのスペースをボリューム上に割り当てます。このスペースは 1 つ以上のアロケーションブロックからなっています。隣り合ったアロケーションブロックの集まりはそれぞれ「エクステント」と呼ばれます。カタログファイルにある各ファイルのファイルレコードは、ファイルの各フォークの最初の 8 エクステントの場所を保持しています。ファイルのフォークを構成する追加、または余りのエクステントの場所は、エクステントファイル(エクステントオーバーフローファイル)によって管理されます。

B ツリー:
カタログファイル・エクステントファイルはすべての情報の保存に「B ツリー(B木)」と呼ばれるデータ構造を使用しています。この B ツリーは情報を素早く取り出せるよう設計されており、ボリューム上に存在する無数のファイルへのアクセスを手助けをします。B ツリーファイルはいくつもの「ノード」を持ち、それぞれのノードは「レコード」を保持しています。レコードには、そのレコードやその他のデータを認識するのに使われる「キー」があります。キーには、固有の順序が割り当てられ、各 レコードのキーで検索できる仕組みになっています。データには、そのキーに関連した他のノードやデータへの「ポインタ(リンク)」が含まれます。

ディレクトリ損傷が起きる原因は何か?

Mac を使用しているとデータの読み書きが頻繁に生じます。この際、Mac はアクセスを高速化するために、一時的にメモリ内にディレクトリ情報をキャッシュしています。

カーネルパニックやクラッシュ、アプリケーションバグ、Mac の強制終了など、この様なケースが生じるとメモリにあった情報は完全に消失し、ディレクトリ情報が更新されなかったり、一部情報が正常に保存されなかったりしてきます。これが引き金となり、ディレクトリ損傷に繋がります。

ディレクトリ損傷が起きるとどうなるか?

ディレクトリが損傷していると、当然ながらファイルの参照=アクセスができなくなります。また、ファイルが開かない、ボリュームがマウントしなくなるというケースも考えられます。一番深刻なのは、システムは全てのリクエスト処理を失敗し、Mac 自体の起動ができなくなってしまうという事態が起こります。

一般的には、ボリューム構造の問題は時間がたつほど深刻になっていきます。やはり、復旧や修復の可能性が最も高い早期に問題を発見するのが一番望ましいといえるでしょう。

「ボリューム構造テスト」と「ボリューム再構築ツール」

TechTool Pro 9 では、ディレクトリ情報をチェックできる「ボリューム構造」テストが行える機能があります。このテストでは、ボリュームが適切に機能するために必要なさまざまな構造を検査します。ボリューム構造テストでは「カタログファイル」「エクステントオーバーフローファイル」などをチェックしていきますが、問題がない項目は「緑色のランプ」が、問題がある項目は「赤色のランプが点灯」するので、すぐに問題箇所がひと目で分かるようになっています。また、テスト中発見された問題は「レポート」に保存されます。

このボリューム構造テストで問題がレポートされた場合には、ボリューム構造の損傷、即ち、ディレクトリ損傷が起こっている可能性が高いです。問題が発見された場合には、ボリューム内の大切なデータのバックアップを取ってください。その後、「ボリューム再構築」ツールを使用し、ボリュームの修復を必ず実行ください。ボリューム再構築は、完全に最適化されたディレクトリデータ構造を持つ、新しいボリューム構造をゼロから構築します。

ボリューム構造

ディレクトリ:
ディレクトリとは一言で言うと「ファイルの名簿」です。ハードディスクやファイルシステムのファイルを整理・管理するための、階層構造を持つグループ名となります。Mac に保存されるファイルは、整理・管理するために階層構造で管理されており、これを「ディレクトリ・ツリー」と呼びます。このディレクトリ・ツリーはおおもとの根 (root)から始まって、枝分かれして管理されています。データにアクセスする際は、ディレクトリ情報を元にファイルやフォルダにアクセスします。

カタログファイル:
ディレクトリ情報を管理する、Mac のボリューム構造で最も重要なファイルは「カタログファイル」です。カタログファイルにはファイルの名称・保存場所・容量など、ファイルに関する全ての情報が含まれています。カタログファイルのファイルとフォルダは、それぞれ「カタログノード ID」という固有の見出しを割り当てられます。ファイルでは「ファイル ID」、フォルダでは「フォルダ ID」となります。各ファイルおよびフォルダの「ペアレント(親) ID」は、それらが入っているフォルダのカタログノード ID です。

エクステントファイル(エクステントオーバーフローファイル):
ファイルが保存されると、ファイルシステムはそのファイルを保持するためのスペースをボリューム上に割り当てます。このスペースは 1 つ以上のアロケーションブロックからなっています。隣り合ったアロケーションブロックの集まりはそれぞれ「エクステント」と呼ばれます。カタログファイルにある各ファイルのファイルレコードは、ファイルの各フォークの最初の 8 エクステントの場所を保持しています。ファイルのフォークを構成する追加、または余りのエクステントの場所は、エクステントファイル(エクステントオーバーフローファイル)によって管理されます。

B ツリー:
カタログファイル・エクステントファイルはすべての情報の保存に「B ツリー(B木)」と呼ばれるデータ構造を使用しています。この B ツリーは情報を素早く取り出せるよう設計されており、ボリューム上に存在する無数のファイルへのアクセスを手助けをします。B ツリーファイルはいくつもの「ノード」を持ち、それぞれのノードは「レコード」を保持しています。レコードには、そのレコードやその他のデータを認識するのに使われる「キー」があります。キーには、固有の順序が割り当てられ、各 レコードのキーで検索できる仕組みになっています。データには、そのキーに関連した他のノードやデータへの「ポインタ(リンク)」が含まれます。

ディレクトリ損傷が起きる原因は何か?

Mac を使用しているとデータの読み書きが頻繁に生じます。この際、Mac はアクセスを高速化するために、一時的にメモリ内にディレクトリ情報をキャッシュしています。

カーネルパニックやクラッシュ、アプリケーションバグ、Mac の強制終了など、この様なケースが生じるとメモリにあった情報は完全に消失し、ディレクトリ情報が更新されなかったり、一部情報が正常に保存されなかったりしてきます。これが引き金となり、ディレクトリ損傷に繋がります。

ディレクトリ損傷が起きるとどうなるか?

ディレクトリが損傷していると、当然ながらファイルの参照=アクセスができなくなります。また、ファイルが開かない、ボリュームがマウントしなくなるというケースも考えられます。一番深刻なのは、システムは全てのリクエスト処理を失敗し、Mac 自体の起動ができなくなってしまうという事態が起こります。

一般的には、ボリューム構造の問題は時間がたつほど深刻になっていきます。やはり、復旧や修復の可能性が最も高い早期に問題を発見するのが一番望ましいといえるでしょう。

「ボリューム構造テスト」と「ボリューム再構築ツール」

TechTool Pro 9 では、ディレクトリ情報をチェックできる「ボリューム構造」テストが行える機能があります。このテストでは、ボリュームが適切に機能するために必要なさまざまな構造を検査します。ボリューム構造テストでは「カタログファイル」「エクステントオーバーフローファイル」などをチェックしていきますが、問題がない項目は「緑色のランプ」が、問題がある項目は「赤色のランプが点灯」するので、すぐに問題箇所がひと目で分かるようになっています。また、テスト中発見された問題は「レポート」に保存されます。

このボリューム構造テストで問題がレポートされた場合には、ボリューム構造の損傷、即ち、ディレクトリ損傷が起こっている可能性が高いです。問題が発見された場合には、ボリューム内の大切なデータのバックアップを取ってください。その後、「ボリューム再構築」ツールを使用し、ボリュームの修復を必ず実行ください。ボリューム再構築は、完全に最適化されたディレクトリデータ構造を持つ、新しいボリューム構造をゼロから構築します。

その他のテックレビューを見る
TechTool Pro 9 の詳細ページへ