ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Sun QFS File System 5.3 構成および管理ガイド Sun QFS and Sun Storage Archive Manager 5.3 Information Library (日本語) |
Sun QFS ファイルシステムは、マルチスレッドの高度なストレージ管理システムです。このソフトウェアの機能を最大限に活用するには、可能な場合は常に、複数のファイルシステムを作成してください。
Sun QFS ファイルシステムは、ディレクトリ参照のためのリニアな検索方法を使用して、ディレクトリの最初から最後まで検索します。ディレクトリ内のファイル数が増加するにつれ、ディレクトリ全体の検索時間も長くなります。ディレクトリに数千個のファイルがあると、検索時間が極度に長くなることがあります。検索時間は、ファイルシステムを復元する場合にも長くなります。パフォーマンスを向上させ、ファイルシステムのダンプや復元の時間を短縮するには、1 つのディレクトリ内のファイル数を 10,000 個未満にしてください。
ディレクトリ名参照キャッシュ (DNLC) 機能は、ファイルシステムのパフォーマンスを向上させます。このキャッシュには、パスが短い (30 文字以下) ファイルのディレクトリ参照情報が格納されるため、ディレクトリ参照を急いで行う必要がなくなります。
ファイルシステム内に格納されるファイルのタイプは、そのファイルシステムの設計に影響を与えます。i ノードとは、ファイルまたはディレクトリの特徴を示す情報の 512 バイトのブロックです。この情報は、ファイルシステム内で動的に割り当てられます。
i ノードは、ファイルシステムのマウントポイントの下にある .inodes ファイルに格納されます。標準の Oracle Solaris OS の i ノードと同様に、Sun QFS ファイルシステムの i ノードには、ファイルの POSIX 標準の i ノード時間 (ファイルアクセス時間、ファイル変更時間、および i ノードが変更された時間) が含まれています。次の表に示すように、Sun QFS ファイルシステムの i ノードには、その他の時間も含まれています。
表 1-1 .inode ファイルの内容
|
注 - WORM-FS (Write-Once Read-Many) パッケージがインストールされている場合、i ノードには retention-end 日付も含まれています。詳細は、第 9 章WORM-FS ファイルシステムの構成を参照してください。
。
ディスク領域は、ディスク割り当て単位 (DAU) と呼ばれるオンラインディスク記憶領域の基本単位で割り当てられます。セクター、トラック、シリンダが物理ディスクジオメトリを表すのに対し、DAU はファイルシステムジオメトリを表します。適切な DAU サイズとストライプサイズを選択すると、パフォーマンスが向上し、磁気ディスクの使用率が最適化されます。DAU 設定は、ファイルが割り当てられるときに使用される連続領域の最小容量になります。
Sun QFS ファイルシステムは、調整可能な DAU を使用します。DAU を構成することにより、物理ディスクストレージデバイスに合わせてファイルシステムを調整できます。この機能によって、読み取り/変更/書き込みの操作で発生するシステムオーバーヘッドが最小限になるので、非常に大きなファイルを操作するアプリケーションには特に有効です。読み取り/変更/書き込み操作を制御する方法については、「大容量ファイル転送パフォーマンスの向上」を参照してください。
各ファイルシステムには、それがサーバー上でアクティブになっているマウントされたいくつかのファイルシステムの 1 つである場合でも、独自の固有の DAU 設定を割り当てることができます。使用可能な DAU 設定は、使用しているファイルシステムのタイプによって異なります。DAU 設定は、ファイルシステムが作成されたときに、『Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual』の「sammkfs(1M)」 によって決定されます。動的に変更することはできません。
DAU 設定は、マスター構成 (mcf) ファイルで指定されたデバイスおよびファイルシステム定義と連動して機能します。mcf ファイルの詳細は、第 2 章マスター構成ファイルについて and 『Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual』の「mcf(4)」を参照してください。
使用できるファイル割り当て方式として、
ms ファイルシステムタイプ – ファイルシステムデータとファイルシステムのメタデータが同じデバイス上に存在します
ma ファイルシステムタイプ – ファイルシステムデータとファイルシステムのメタデータが異なるデバイス上に存在します
単純な Sun QFS ファイルシステムの場合 (1 つのパーティション上にある場合など)、ファイルシステムは、mcf ファイル内で ms の「Equipment Type」値で定義されます。ms ファイルシステムでは、許容される装置タイプはタイプ md のみであり、メタデータとファイルデータはどちらも md 装置に書き込まれます。デフォルトでは、md 装置の DAU は 64K バイトです。
複数のパーティション上にインストールされたより複雑な Sun QFS ファイルシステムは、mcf ファイル内で ma の「Equipment Type」として定義されます。ma ファイルシステムでは、メタデータは mm デバイスに書き込まれ、データは md、mr、または g XXX デバイスに書き込むことができます。
ma ファイルシステムでは、次の装置を混在させることができます。
mm 装置と mr 装置
mm および g XXX デバイス
mm、mr、および g XXX デバイス
mm 装置と md 装置
これらのデバイスタイプの詳細は、第 2 章マスター構成ファイルについてを参照してください。
md および mm デバイスは、次のようにデュアル割り当てスキームを使用します:
md データ装置では、小さな割り当ては 4K バイト、大きな割り当ては DAU になります。DAU のデフォルトは 64K バイトです。このデフォルト値は、ファイルシステムが sammkfs コマンドの -aallocation-unit オプションを使用して初期化されるときにオーバーライドできます。DAU サイズには、16K、32K、または 64K バイトを指定できます。
md 装置にファイルが作成されると、システムはファイルの最初の 8 つのアドレスを小さな割り当ての中に割り当てます。さらに領域が必要な場合、ファイルシステムは 1 つまたは複数の大きな割り当て (DAU) を使用してファイルを拡張します。その結果、大容量ファイルの入出力のパフォーマンスが向上する一方で、小さいファイルが多数できることから生じるディスクの断片化が最小限に抑えられます。
注 - ms ファイルシステムを使用するときは、ストライプの幅をゼロより大きく設定し、メタデータ情報がディスクをまたがってストライプ化されるようにしてください。ただし、ストライプ幅や DAU サイズを設定する前に、「データディスクでのストライプ幅」を読んで理解しておくようにしてください。
mm メタデータデバイスでは、小さな割り当ては 4K バイトであり、大きな割り当ては 16K バイトです。デュアル割り当て方式は、ファイルシステムがメタデータをディスクに書き込むときの効率が上がり、ディスク断片化を最小限に抑えるのに有効です。
ファイルシステムに格納されるファイルデータの種類によっては、DAU サイズを大きくすることで、ファイルシステムのパフォーマンスが大幅に向上する場合があります。ファイルシステムのパフォーマンスの調整については、第 7 章高度なファイルシステム機能を参照してください。
シングル割り当てスキームを使用するデバイスは、ma Sun QFS ファイルシステムにのみ含めることができます。これらのファイルシステムは、次のように個別のメタデータ装置とデータデバイスで構成されます。
メタデータ装置は、装置タイプ mm としてのみ定義可能です。
データデバイスは、md、mr、または g XXX の「Equipment Type」として定義できます。md 装置では、DAU のサイズが 16K バイト、32K バイト、または 64K バイトに制限されます。
mr および g XXX デバイスは、シングル割り当てスキームに従います。mr および g XXX デバイスはファイルシステム内で混在させることができますが、md デバイスをファイルシステム内で mr または g XXX デバイスと混在させることはできません。ma ファイルシステムでは、mr および gXXX デバイスをデバイスに対する 8K バイトの最小の DAU 割り当てに設定できます。この設定は、ほとんどのファイルサイズが 8K バイト以下のワークロードに最適です。
mr および g XXX データデバイスを使用するファイルシステムの DAU サイズは構成可能です。データデバイスに対して使用できる DAU サイズは、mcf ファイルで各データデバイスに割り当てられた「Equipment Type」値によって異なります。次の表は、これらの DAU サイズを示しています。
表 1-2 装置タイプの値および DAU のサイズ
|
注 - バージョン 3.5 のソフトウェアを使用してファイルシステムを作成したか、またはバージョン 4 のソフトウェアの sammkfs 互換モードフラグを使用してファイルシステムを構築した場合は、バージョン 1 のスーパーブロックを使用している可能性があります。バージョン 1 のスーパーブロックでは、mm デバイスはデュアル割り当てスキームを使用せず、mm デバイスへの割り当ては 16K バイトです。Sun QFS ファイルシステムで md デバイスを定義できるのは、バージョン 2 のスーパーブロックだけです。バージョン 1 のスーパーブロックを使用しているかどうかを調べるには、samfsinfo コマンドを使用します。
データ整合とは、RAID コントローラの割り当て単位とファイルシステムの割り当て単位を一致させることです。ファイルシステムの最適な整合式は次のとおりです:
割り当て単位 = RAID ストライプ幅 × データディスクの数
たとえば、RAID-5 ユニットに合計 9 個のディスクがあり、そのうち 1 つはパリティーディスクで、データディスクの数は 8 個であるとします。RAID のストライプ幅が 64K バイトの場合、最適な割り当て単位は 64 × 8 で 512K バイトです。
データファイルは、同じファイルシステム内の各ストライプ化グループ (gXXX) またはデータディスク (mr または md) を通して、ストライプ化またはラウンドロビンとして割り当てられます。
整合が取れていないと、読み取り/変更/書き込み操作が発生するためにパフォーマンスが損なわれます。
ストライプ幅のデフォルト値は、ms ファイルシステムと ma ファイルシステムの間で異なります。ストライプ幅は、mount コマンドの -o stripe= n オプションで指定されます。ストライプ幅を 0 に設定すると、ラウンドロビン式割り当てが使用されます。
ms ファイルシステムでは、ストライプ幅はマウント時に設定されます。次の表は、デフォルトのストライプ幅を示しています。
表 1-3 ms ファイルシステムのデフォルトのストライプ幅
|
たとえば、sammkfs コマンドをデフォルト設定で実行した場合、デフォルトの大きな DAU は 64K バイトになります。mount コマンドが発行されるときにストライプ幅が指定されない場合は、デフォルトが使用され、マウント時に設定されるストライプ幅は 2 になります。
注 -
ms ファイルシステム内のディスク全体にわたってメタデータ情報をストライプ化するには、ストライプ幅を 0 より大きい値に設定します。
表 1-3 の 1 列目の数値に 2 列目の数値を掛けると、128K バイトという数値が得られます。Sun QFS ファイルシステムは、ディスクに書き込まれるデータの量が少なくとも 128K バイトである場合にもっとも効率的に動作します。
ma ファイルシステムでは、マウント時に設定されるストライプ幅は、ストライプ化グループが構成されているかどうかによって異なります。ストライプ化グループとは、ストライプ化された装置のグループとしての集まりです。ストライプ化グループの詳細は、「ファイル割り当て方式」を参照してください。このセクションでは、ストライプ化グループなしで構成された Sun QFS ファイルシステムのストライプ幅について説明します。
ストライプ化グループが構成されていない場合、ma ファイルシステムでの DAU とストライプ幅の関係は、ms ファイルシステムの場合の関係と類似したものになります。違っている点は、64K バイトを超える DAU が可能なことと、DAU を 8K バイトのブロック単位で構成できることです。DAU の最大サイズは 65,528K バイトです。
デフォルトでは、ストライプ幅が指定されていない場合、ディスクに書き込まれるデータの量はほぼ 128K バイトになります。Sun QFS ファイルシステムは、書き込み操作によって、1 つの入出力リクエストあたり少なくとも 1 つのストライプ全体が書き込まれる場合にもっとも効率的です。次の表は、デフォルトのストライプ幅を示しています。
表 1-4 ストライプ化グループを使用していない ma ファイルシステムのデフォルトのストライプ幅
|
ストライプ化グループがファイルシステムに構成されている場合、割り当てられる領域の最小容量は、DAU のサイズにストライプ化グループ内のデバイス数を乗じたものになります。ストライプ化グループを使用すると、割り当ての容量は非常に大きくなる可能性があります。
ストライプ化グループを使用すると、データは複数のディスク装置に一度に書き込まれ、それらのディスク装置は 1 台の装置のように作動します。ストライプ化グループでの割り当ては、DAU のサイズにストライプ化グループ内の要素数を乗じたものになります。
-o stripe= n マウントオプションによって、割り当てが別のストライプ化グループに移る前に各ストライプ化グループで発生する割り当ての数が決定されます。ファイルシステムが -o stripe=0 でマウントされている場合、割り当ては常に 1 つのストライプ化グループに対して行われます。
デフォルトの設定は、ラウンドロビン式割り当て方式を指定する -o stripe=0 です。最小の設定は -o stripe=0 (ストライプ化を無効にします) であり、最大の設定は -o stripe=255 です。不一致のストライプ化グループが存在する場合、システムは -o stripe=0 を設定します。このとき、ファイルは 1 つのストライプ化グループにのみ存在できます。
詳細は、「ファイル割り当て方式」を参照してください。
mount_samfs コマンドの -o mm_stripe= n オプションを使用して、メタデータディスク上のメタデータ情報をストライプ化できます。デフォルトのストライプ幅は -o mm_stripe=1 です。これは、次のメタデータディスクに切り替える前に、ファイルシステムがメタデータディスクに 16K バイト DAU を 1 つ書き込むことを指定します。メタデータディスクでは、小さな 4K バイトの DAU が使用されます。
デフォルトでは、複数のメタデータデバイスが存在する場合、メタデータは mount コマンドの - o mm_stripe= n オプションで指定されたとおりに割り当てられます。最小の設定は -o mm_stripe=0 (ストライプ化を無効にします) であり、最大の設定は -o mm_stripe=255 です。