この節では、Solaris 10 3/05 リリースに含まれるファイルシステム機能について、新しい機能だけでなく、Solaris 9 OS が 2002 年 5 月にはじめて配布されたあとに拡張されたものも含めて説明します。
この機能は、Software Express パイロットプログラムで新しく追加されました。Solaris Express 8/04 で、NFS version 4 がデフォルトになりました。この機能は、Solaris 10 3/05 に組み込まれています。
Solaris 10 OS には、NFS version 4 分散ファイルアクセスプロトコルの Sun の実装が組み込まれています。このバージョンでは、進化を続ける NFS が論理的に新しい段階に到達しています。NFS version 4 プロトコルは、RFC 3530 に規定されており、Internet Engineering Task Force (IETF) の元で作成されました。このバージョンは、特定のベンダーとオペレーティングシステムに依存しない設計になっています。
NFS version 4 では、ファイルアクセス、ファイルロック、およびマウントプロトコルが 1 つのプロトコルに統合されるので、ファイアウォールの通過が容易になり、セキュリティーが向上します。Solaris の NFS version 4 実装は、SEAM としても知られている Kerberos V5 と完全に統合されていますので、認証、整合性、およびプライバシの機能を備えています。NFS version 4 を使用して、クライアントとサーバーとの間で使用するセキュリティーの種類の交渉を行うこともできます。NFS version 4 を実装しているサーバーは、さまざまなセキュリティー種類とファイルシステムに対応できます。
Solaris に実装されている NFS version 4 は、委譲に対応しています。この機能を利用して、特定のファイルの管理をサーバーからクライアントに委譲することができます。この機能により、サーバーからの通知なしにファイルが変更されないことがクライアント側で保証されるため、ラウンドトリップ処理の数が減少します。このプロトコルは、処理の複合にも対応しています。この機能を使用して、複数の処理を 1 つの「ネットワークを介した」要求に結合できます。
NFS version 4 の詳細は、『Solaris のシステム管理 (ネットワークサービス)』の第 6 章「ネットワークファイルシステムへのアクセス (リファレンス)」を参照してください。
この機能は、Solaris Express 4/04 と Solaris 9 9/04 で新しく追加されました。
すべての UFS ファイルシステムで、ロギングがデフォルトで有効になります。ただし、次の場合は例外です。
ロギング機能が明示的に無効とされている場合
ロギングを行うために必要なファイルシステムの容量が不足している場合
以前の Solaris リリースでは、UFS ロギングを手動で有効にする必要がありました。
UFS ロギングでは、完全な UFS 操作を構成する複数のメタデータの変更が、1 つのトランザクションにまとめられます。一連のトランザクションは、ディスク上のログに記録されたあとで、実際の UFS ファイルシステムのメタデータに適用されます。
UFS ロギングには 2 つの長所があります。
トランザクションログによりファイルシステムの整合性がすでに保持されていると、システムがクラッシュしたとき、またはクリーンでないシステム停止が発生したときに、fsck コマンドを実行する必要がないことがあります。
Solaris 9 12/02 以降、UFS ロギングのパフォーマンスが向上し、その結果、ロギングが有効なファイルシステムが、ロギングが無効なファイルシステムよりすぐれたパフォーマンスを発揮できるようになりました。ロギングが有効なファイルシステムでは、同じデータに対する複数の更新が 1 回の更新に変換されるため、これがパフォーマンスの向上につながっています。この機能により、必要なオーバーヘッドディスク操作の実行回数が削減されます。
詳細は、「ファイルシステムの新機能」を参照してください。これは『Solaris のシステム管理 (デバイスとファイルシステム)』に含まれています。mount_ufs(1M) のマニュアルページも参照してください。
この機能は、Software Express パイロットプログラムと Solaris 9 12/03 で新しく追加されました。この機能は、Solaris 10 3/05 に組み込まれています。
次の機能拡張により、NFS クライアントのパフォーマンスが向上しています。
ネットワーク転送サイズに関する制限が緩和されました。具体的には、使用する転送プロトコルに基づいて転送サイズが決定されるようになりました。たとえば、UDP 使用時の NFS 転送の上限は、以前と同じく 32K バイトです。これに対し、TCP は UDP のようなデータグラム制限を持たないストリーミングプロトコルであるため、TCP 使用時の最大転送サイズは、1M バイトまで拡張されています。
これまで、書き込み要求はすべて、NFS クライアントと NFS サーバーの両方で直列化されていました。今回の NFS クライアントの変更により、単一ファイルに対する並行書き込み、並行読み取り/書き込みを、アプリケーションから実行できるようになりました。この機能をクライアント上で有効にするには、forcedirectio mount オプションを使用します。このオプションを使用した場合、マウントされたファイルシステム内のすべてのファイルに対して、この機能が有効になります。この機能をクライアントの単一のファイルに対してのみ有効にするには、directio() インタフェースを使用します。なお、この新しい機能を有効にしない限り、ファイルへの書き込みは直列化されることに注意してください。また、並行書き込みや並行読み取り/書き込みが実行されると、そのファイルに関しては、POSIX のセマンティクスはサポートされなくなります。
NFS クライアントで余分な数の UDP ポートが使用されなくなりました。これまで、UDP 経由の NFS 転送では、未処理の要求ごとに別々の UDP ポートが使用されていました。これからはデフォルトで、予約済みの UDP ポートが 1 つだけ使用されるようになりました。ただし、このサポートは設定可能です。複数のポートを同時に使用したほうがスケーラビリティーが高まり、結果的にシステムのパフォーマンスが向上するような場合には、複数のポートを使用するようにシステムを設定できます。なお、この機能は、TCP 経由の NFS に最初から備わっていた同種の設定可能なサポートを UDP に移植したものです。
詳細は、『Solaris のシステム管理 (ネットワークサービス)』を参照してください。
マルチテラバイト UFS ファイルシステムのサポートは、64 ビットのカーネルを実行するシステムでのみ利用できます。この機能は、Software Express パイロットプログラムと Solaris 9 8/03 で新しく追加されました。この機能は、Solaris 10 3/05 に組み込まれています。
Solaris 10 OS では、64 ビット Solaris カーネルを実行するシステム上で、マルチテラバイト UFS ファイルシステムがサポートされます。これまで、UFS ファイルシステムの容量は、64 ビットシステムでも 32 ビットシステムでもおよそ 1 テラバイト (T バイト) に制限されていました。今回、マルチテラバイト UFS ファイルシステムをサポートするため、すべての UFS ファイルシステムコマンドとユーティリティーが更新されました。
最初は、1T バイト未満の UFS ファイルシステムとして作成できます。newfs -T コマンドを使用して、ファイルシステムがいずれ 1T バイトを超えて拡張されるかもしれないことを指定できます。このコマンドにより、マルチテラバイトファイルシステムに適切な i ノードとフラグメントの密度が設定されます。
マルチテラバイト UFS ファイルシステムのサポートは、マルチテラバイト LUN が利用可能であることを前提にしています。これらの LUN は、Solaris ボリュームマネージャーのボリュームとして提供されるか、1T バイトを超える物理ディスクとして提供されます。
次に、マルチテラバイト UFS ファイルシステムの機能の一部を紹介します。
最大 16T バイトの UFS ファイルシステムを作成できます。
最初に 16T バイト未満のファイルシステムを作成し、あとで最大 16T バイトまで拡張できます。
マルチテラバイトファイルシステムは、物理ディスクおよび Solaris ボリュームマネージャーの論理ボリュームに作成できます。
1T バイトを超えるファイルシステムで、UFS ロギングがデフォルトで有効になります。マルチテラバイトのファイルシステムでは、UFS ロギングが有効になっているとパフォーマンスが向上するという利点があります。また、マルチテラバイトのファイルシステムは、ロギングが有効なときは fsck コマンドを実行しなくてもよい場合があるというロギングの利点を利用することもできます。
次に示すのは、マルチテラバイト UFS ファイルシステムのいくつかの制限事項です。
32 ビット Solaris カーネルを実行しているシステム上に、1T バイトを超えるファイルシステムをマウントすることはできません。
64 ビット Solaris カーネルを実行しているシステム上の 1T バイトを超えるファイルシステムからブートすることはできません。つまり、マルチテラバイトファイルシステム上にルート (/) ファイルシステムを配置することはできません。
マルチテラバイト UFS ファイルシステムでは、個々のファイルを 1T バイトよりも大きくすることはできません。
UFS ファイルシステムの 1T バイトあたりの最大ファイル数は 100 万です。100 万に制限されているのは、fsck コマンドでファイルシステムを検査するのに要する時間を減らすためです。
マルチテラバイト UFS ファイルシステムの割り当ては、1024 バイトブロックの最大 2T バイトに制限されています。
現時点では、fssnap コマンドを使ってマルチテラバイトの UFS ファイルシステムのスナップショットを作成することはできません。
詳細は、「ファイルシステムの新機能」を参照してください。これは『Solaris のシステム管理 (デバイスとファイルシステム)』に含まれています。
この機能は、Software Express パイロットプログラムで新しく追加されました。この機能は、Solaris 10 3/05 に組み込まれています。
devfs ファイルシステムによって、Software Express リリースのデバイスが管理されます。ユーザーは、従来と同様に /dev ディレクトリのエントリからすべてのデバイスにアクセスします。これらのエントリは、/devices ディレクトリのエントリへのシンボリックリンクになっています。/devices ディレクトリの内容は、devfs ファイルシステムによって制御されます。/devices ディレクトリ内のエントリは、システム上のアクセス可能なデバイスの現在の状態を動的に表します。これらのエントリを管理する必要はありません。
devfs ファイルシステムの次の機能が拡張されています。
/devices ディレクトリ内で操作すると、デバイスエントリが追加されます。未使用のデバイスエントリは切り離されます。
システムのブートに必要なデバイスエントリだけが追加されるため、システムブートのパフォーマンスが向上します。新しいデバイスにアクセスすると、そのデバイスエントリが追加されます。
詳細は、devfs(7FS) のマニュアルページを参照してください。
このマルチテラバイトディスクのサポートは、64 ビットのカーネルを実行するシステムでのみ利用できます。この機能は、Software Express パイロットプログラムと Solaris 9 4/03 で新しく追加されました。この機能は、Solaris 10 3/05 に組み込まれています。
Solaris 10 OS は、64 ビット Solaris カーネルを実行するシステム上で 1T バイトを超えるディスクをサポートします。
EFI (Extensible Firmware Interface) ラベルは、物理ディスクボリュームと仮想ディスクボリュームをサポートします。UFS ファイルシステムには EFI ディスクラベルとの互換性があり、1T バイトを超えるサイズの UFS ファイルシステムを作成できます。今回のリリースに付属している更新されたディスクユーティリティーでは、1T バイトを超えるディスクも管理できます。
ただし、SCSI ドライバ ssd は、現在、最大 2T バイトのディスクしかサポートしません。2T バイトを超えるディスク容量が必要な場合は、Solaris ボリュームマネージャーなどのディスクおよびストレージ管理製品を使って、よりサイズの大きいデバイスを作成します。
EFI ディスクラベルの使用についての詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』を参照してください。このマニュアルには、重要な情報や制限が記載されています。この情報は、既存のソフトウェア製品と EFI ディスクラベルの併用に関するものです。
今回の Solaris リリースでは、Solaris ボリュームマネージャーソフトウェアでも 1T バイトを超えるディスクの管理が可能です。「Solaris ボリュームマネージャーによるマルチテラバイトボリュームのサポート」を参照してください。
この機能は、Software Express パイロットプログラムで新しく追加されました。この機能は、Solaris 10 3/05 に組み込まれています。
autofs 環境の新しい構成ファイル (/etc/default/autofs) を使用して、autofs コマンドと autofs デーモンを構成できるようになりました。この新しい構成ファイルを使用して、コマンド行を使用した場合と同じ構成を指定できます。ただし、コマンド行とは異なり、オペレーティングシステムのアップグレード中にも、このファイルは指定を保持します。また、重要な起動ファイルを更新する必要もなくなるので、autofs 環境の既存の動作が確実に保持されます。
次のキーワードを使用して、構成を指定できます。
AUTOMOUNTD_ENV。異なる環境に異なる値を割り当てることができます。このキーワードは、automountd の -D 引数と同じ効果を持っています。
AUTOMOUNTD_NOBROWSE。すべての autofs マウントポイントのブラウズを有効または無効にします。このコマンドは、automountd の -n 引数と同じ効果を持っています。
AUTOMOUNTD_TRACE。各遠隔手続き呼び出し (RPC) を拡張し、拡張した RPC を標準出力に表示します。このキーワードは、automountd の -T 引数と同等です。
AUTOMOUNTD_VERBOSE は、状態メッセージのログをコンソールに表示するもので、-automountd デーモンの v 引数と同じ効果を持っています。
AUTOMOUNT_TIMEOUT。ファイルシステムのマウントが解除されるまでのアイドル時間を設定します。このキーワードは、automount コマンドの -t 引数と同じ効果を持っています。
AUTOMOUNT_VERBOSE は、autofs のマウント、マウント解除、およびその他の重要性の低いイベントの通知を行います。このキーワードは、automount の -v 引数と同じ効果を持っています。
詳細は、automount(1M) および automountd(1M) のマニュアルページを参照してください。
詳細は、『Solaris のシステム管理 (ネットワークサービス)』を参照してください。