Solaris 9 9/04 リリースでは、デフォルトで UFS が有効になっています。以前の Solaris 9 リリースに含まれていたファイルシステムの機能拡張は、次のとおりです。
この機能は、Solaris 9 9/04 リリースで追加されました。
すべての UFS ファイルシステムで、ロギングがデフォルトで有効になります。ただし、次の場合は例外です。
ロギング機能が明示的に無効とされている場合
ロギングを行うために必要なファイルシステムの容量が不足している場合
Solaris の以前のリリースでは、UFS ロギングを手動で有効にする必要がありました。
UFS ロギングでは、完全な UFS 操作を構成する複数のメタデータの変更が、1 つのトランザクションにまとめられます。一連のトランザクションは、ディスク上のログに記録されたあとで、実際の UFS ファイルシステムのメタデータに適用されます。
UFS ロギングには 2 つの長所があります。
トランザクションログによりファイルシステムの整合性がすでに保持されていると、システムがクラッシュしたとき、またはクリーンでないシステム停止が発生したときに、fsck コマンドを実行する必要がないことがあります。
Solaris 9 12/02 リリース以降、UFS ロギングのパフォーマンスが向上し、その結果、ロギングが有効なファイルシステムが、ロギングが無効なファイルシステムよりすぐれたパフォーマンスを発揮できるようになりました。ロギングが有効なファイルシステムでは、同じデータに対する複数の更新が 1 回の更新に変換されるため、これがパフォーマンスの向上につながっています。この機能により、必要なオーバーヘッドディスク操作の実行回数が削減されます。
詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』の「デフォルトで有効な UFS ロギング」を参照してください。mount_ufs(1M) のマニュアルページも参照してください。
この機能は、Solaris 9 12/03 リリースで追加されました。
次の機能拡張により、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 に移植したものです。
マルチテラバイト UFS ファイルシステムのサポートは、64 ビットのカーネルを実行するシステムでのみ利用できます。この機能は、Solaris 9 8/03 リリースで追加されました。
今回の Solaris リリースでは、64 ビット Solaris カーネルを実行するシステム上で、マルチテラバイト UFS ファイルシステムがサポートされます。これまで、UFS ファイルシステムの容量は、64 ビットシステムでも 32 ビットシステムでもおよそ 1 テラバイト (T バイト) に制限されていました。今回、マルチテラバイト UFS ファイルシステムをサポートするため、すべての UFS ファイルシステムコマンドとユーティリティが更新されました。
newfs -T コマンドを使用していれば、1T バイト未満の UFS ファイルシステムを作成したあとでも、ファイルシステムを 1T バイト以上に拡張できます。このコマンドにより、マルチテラバイトファイルシステムに適切な i ノードとフラグメントの密度が設定されます。
マルチテラバイト UFS ファイルシステムのサポートは、マルチテラバイト LUN が利用可能であることを前提にしています。これらの LUN は、Solaris ボリュームマネージャまたは Veritas VxVM のボリュームとして提供されるか、1T バイトを超える物理ディスクとして提供されます。
以下に、マルチテラバイト UFS ファイルシステムの機能の一部を紹介します。
最大 16T バイトの UFS ファイルシステムを作成できます。
最初に 16T バイト未満のファイルシステムを作成し、あとで最大 16T バイトまで拡張できます。
マルチテラバイトファイルシステムは、物理ディスク、Solaris ボリュームマネージャの論理ボリューム、および Veritas の VxVM 論理ボリュームに作成できます。
1T バイトを超えるファイルシステムで、UFS ロギングがデフォルトで有効になります。マルチテラバイトのファイルシステムでは、UFS ロギングが有効になっているとパフォーマンスが向上するというメリットがあります。また、ロギングが有効なときは fsck コマンドを実行しなくてもよい場合があるというロギングのメリットもあります。
以下は、マルチテラバイト UFS ファイルシステムのいくつかの制限事項です。
32 ビット Solaris カーネルを実行しているシステム上に、1T バイトを超えるファイルシステムをマウントすることはできません。
64 ビット Solaris カーネルを実行しているシステム上の 1T バイトを超えるファイルシステムからブートすることはできません。つまり、マルチテラバイトファイルシステム上にルート (/) ファイルシステムを配置することはできません。
個々のファイルを 1T バイトよりも大きくすることはできません。
UFS ファイルシステムの 1T バイトあたりの最大ファイル数は 100 万です。100 万に制限されているのは、 fsck コマンドでファイルシステムを検査するのに要する時間を減らすためです。
マルチテラバイト UFS ファイルシステムの割り当ては、1024 バイトブロックの最大 2T バイトに制限されています。
現時点では、fssnap コマンドを使ってマルチテラバイトの UFS ファイルシステムのスナップショットを作成することはできません。
詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』の「Solaris 9 Update リリースの新しいファイルシステム機能」を参照してください。
このマルチテラバイトディスクのサポートは、64 ビットのカーネルを実行するシステムでのみ利用できます。この機能は、Solaris 9 4/03 リリースで追加されました。
今回の Solaris リリースでは、64 ビット Solaris カーネルを実行するシステム上で 1T バイト以上の大容量ディスクを使用できます。
EFI (Extensible Firmware Interface) ラベルは、物理ディスクボリュームと仮想ディスクボリュームをサポートします。UFS ファイルシステムには EFI ディスクラベルとの互換性があり、1T バイトを超えるサイズの UFS ファイルシステムを作成できます。今回のリリースに付属している更新されたディスクユーティリティでは、1T バイト以上の大容量ディスクを管理できます。
EFI ディスクラベルには、VTOC ディスクラベルにはない次の特徴があります。
1T バイト以上の大容量ディスクをサポートします。
スライス 0 〜 6 (スライス 2 は従来どおり) を提供します。
パーティション (スライス) を、主ラベルやバックアップラベルまたはその他のパーティションと重複させることはできません。通常、EFI ラベルのサイズは 34 セクターなので、パーティションの開始位置はセクター 34 になります。したがって、開始位置がセクター 0 のパーティションは存在しません。
ラベルには、シリンダ、ヘッド、およびセクターの情報は一切格納されません。サイズはブロック単位で報告されます。
これまで代替シリンダ領域 (ディスクの末尾から 2 シリンダ分) に格納されていた情報は、スライス 8 に格納されます。
EFI ディスクラベルの詳しい使用方法については、『Solaris のシステム管理 (基本編)』を参照してください。このマニュアルには、既存のソフトウェア製品に EFI ディスクラベルを使用する場合の注意事項および制限事項が記載されています。
今回の Solaris リリースでは、Solaris ボリュームマネージャでも 1T バイト以上のディスク管理が可能です。これについては、「Solaris ボリュームマネージャによるマルチテラバイトボリュームのサポート」を参照してください。