ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Sun Storage Archive Manager 5.3 構成および管理ガイド Sun QFS and Sun Storage Archive Manager 5.3 Information Library (日本語) |
ファイルのアーカイブには、オペレータの操作は不要です。アーカイバが、アーカイブメディア上のボリュームにファイルを書き込みます。アーカイブメディアには、1 つまたは複数のボリュームが含まれます。各ボリュームは、ボリュームシリアル名 (VSN) と呼ばれる一意の識別子によって識別されます。
デフォルトでは、アーカイバは各アーカイブセットのコピーを 1 つ作成しますが、最大 4 つのコピーをリクエストできます。アーカイブセットとコピー番号は、ボリュームコレクションの同義語となります。アーカイブセットのコピーにより、別個のボリューム上にファイルが複製されます。
アーカイブ処理や再アーカイブ処理の対象となるには、ファイル内のデータが変化している必要があります。ファイルは、アクセスされても変更されなければ、アーカイブされません。たとえば、ファイルに対して touch コマンドを実行しても、それがアーカイブされたり再アーカイブされたりすることはありません。mv コマンドを使用してファイル名を変更すると、そのファイルは異なるアーカイブセットに移動する可能性があります。この場合、アーカイバソフトウェアはアーカイブコピーを再評価して、ファイルをアーカイブまたは再アーカイブする必要があるかどうかを判定します。
注 - mv コマンドはファイル名を変更しますがファイルデータを変更しないため、この動作は障害回復で tar ファイルから復元する予定の場合に悪影響を及ぼす可能性があります。
アーカイブ操作は次の要素の影響を受けます。
アーカイブ経過時間 ファイルが最後に変更されてからの経過時間です。アーカイブ経過時間は、アーカイブのコピーごとに定義できます。
ファイルに対するデフォルトの時間参照を過去または将来の値に変更するには、touch コマンドを使用します。ただし、これを行うことで、アーカイブ処理の結果が予期しないものになる可能性があります。問題を回避するため、アーカイバは参照が常にファイルの作成日時と現在の日時の範囲内になるように調整します。
アーカイブ優先順位 この値は、次のように、ファイル属性特性と、アーカイブセットに関連付けられているファイル属性乗数から算出されます。
archive-priority = file-property-value x property-multiplier
大部分の file-property-value 値は 1 (true) または 0 (false) です。たとえば、アーカイブのコピー 1 を作成する場合、属性コピー 1 の値は 1 です。したがって、コピー 2、コピー 3、コピー 4 の値は 0 です。アーカイブ経過時間やファイルサイズなどのほかの属性は、0 と 1 以外の値になることがあります。
property-multiplier 値は、アーカイブセットの -priority パラメータから決定されます。経過時間やファイルサイズといった、ファイルのさまざまな要素に値を設定することにより、アーカイブリクエストの優先順位を決定できます。すべてのファイル属性乗数のデフォルト値は、0.0 です。-priority パラメータの詳細は、『Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual』の「archiver.cmd(4)」 を参照してください。
archive-priority および property-multiplier の値は浮動小数点数です。
以降のセクションでは、ファイルスキャンからファイルコピーまでのアーカイバ動作について説明します。
個々の sam-arfind プロセスは、マウント済みの各ファイルシステムを監視し、どのファイルがアーカイブを必要としているかを調べます。ファイルのアーカイブ状態に影響を与えるような変更が行われるたびに、ファイルシステムがこの sam-arfind プロセスに通知します。変更の例として、ファイルの変更、再アーカイブ、アーカイブ解除、名前変更などがあります。
sam-arfind プロセスはファイルを調べ、ファイルがどのアーカイブセットに属し、どのアクションを実行するかを判定します。
sam-arfind プロセスは、次のファイル属性記述を使用してファイルのアーカイブセットを判定します。
ファイル名のディレクトリパス部分、およびオプションで正規表現を使用した完全ファイル名
ファイル所有者のユーザー名
ファイル所有者のグループ名
最小ファイルサイズ
最大ファイルサイズ
sam-arfind プロセスは、次の評価を実行してアーカイブアクションを判定します。
ファイルのアーカイブ経過時間が 1 つまたは複数のコピーで基準以上だった場合、sam-arfind プロセスはアーカイブセットの 1 つまたは複数のアーカイブリクエストにこのファイルを追加します。アーカイブ要求は、同じアーカイブセットに属するファイル群です。アーカイブリクエストは、/var/opt/SUNWsamfs/archiver/file_sys/ArchReq ディレクトリに常駐します。このディレクトリにあるファイルはバイナリファイルです。これらを表示するには、showqueue コマンドを使用します。まだアーカイブされていないファイルと再アーカイブするファイルでは、使用するアーカイブリクエストが異なります。これによって、それら 2 種類のファイルに対するスケジューリングを別々に制御できます。
ファイルのアーカイブ経過時間が 1 つまたは複数のコピーにおいて基準未満である場合、ファイルが常駐するディレクトリと、アーカイブ経過時間が基準に到達する時間がスキャンリストに追加されます。スキャンリストの時間になると、ディレクトリがスキャンされます。アーカイブ経過時間に達したファイルは、アーカイブ要求に追加されます。
ファイルがオフラインである場合、sam-arfind プロセスはアーカイブのコピーのコピー元として使用するボリュームを選択します。ファイルコピーを再アーカイブする場合は、再アーカイブ対象のアーカイブのコピーが入っているボリュームを sam-arfind プロセスが選択します。
ファイルがセグメント化されている場合は、変更されたセグメントだけがアーカイブ対象として選択されます。セグメントファイルの索引にはユーザーデータが含まれていないので、ファイルシステムアーカイブセットのメンバーとして扱われ、単独にアーカイブされます。
アーカイブアクションは、次の方式を使用して実行されます。
継続アーカイブ方式の場合は、アーカイバがファイルシステムと連携して動作し、アーカイブが必要なファイルを判定します。
継続アーカイブは、デフォルトのアーカイブ方式であり (archiver.cmd ファイルパラメータは examine=noscan)、次のデフォルトの開始条件で動作します。
アーカイブは 2 時間おきに開始されます。
archmax 値の少なくとも 90% のデータがアーカイブできる状態になるまで、アーカイブを待機します。
アーカイブ対象のファイルが少なくとも 500,000 個になるまで、アーカイブを待機します。
スケジューリング開始条件のいずれかが満たされると、sam-arfind プロセスは、アーカイブメディアにファイルをコピーするスケジュールを設定するために、各アーカイブリクエストをアーカイバデーモン (sam-archiverd) に送信します。
アーカイブ動作のスケジュールを制御するには、-startage、-startcount、および -startsize パラメータを使用して各アーカイブセットの開始条件を指定します。これらの条件によって、実行されるアーカイブ処理との関連でアーカイブの適時性を最適化できます。次に例を示します。
同時にアーカイブするファイルの作成に 1 時間かかる場合は、-startage パラメータを 1 時間に設定し (-startage 1h)、アーカイブリクエストが発生する前にすべてのファイルが確実に作成されるようにします。
すべてのアーカイブリクエストのデータが 150G バイト以上になるようにする場合は、-startsize を 150G バイトに指定して (-startsize 150g)、アーカイブされるデータが 150G バイトになるまで待機するようにアーカイバに指示します。
3000 個のファイルがアーカイブの対象になることがわかっている場合は、-startcount 3000 と指定して、これらのファイルが同時にアーカイブされるようにします。
アーカイブパラメータの詳細は、「グローバルアーカイブ指示」を参照してください。
スキャン方式の場合は、アーカイバが定期的にファイルシステムを調べて、アーカイブするファイルを選択します。スキャン方式を有効にして、継続的なスキャンを無効にするには、archiver.cmd ファイルに examine=scan を指定します。
sam-arfind プロセスは、各ファイルシステムを定期的にスキャンすることにより、どのファイルがアーカイブを必要としているかを調べ、それらをアーカイブリクエストに配置します。最初のスキャンはディレクトリスキャンで、sam-arfind はディレクトリツリーを再帰的に下降します。このプロセスは各ファイルを調べ、ファイルをアーカイブする必要がない場合は、そのファイルのステータスフラグを archdone に設定します。一連のスキャンの中で、sam-arfind プロセスは .inodes ファイルをスキャンし、archdone フラグが設定されていない i ノードのみを調べます。
スキャンが完了すると、sam-arfind プロセスは、アーカイブメディアへのファイルのコピーをスケジュールするために、アーカイバデーモン (sam-archiverd) に各アーカイブリクエストを送信します。その後、sam-arfind プロセスは interval= time 指示で指定された期間だけ休眠します。この期間が終わると、sam-arfind プロセスはスキャンを再開します。
archdone フラグの設定の制御については、「setarchdone 指示: archdone フラグ設定の制御」を参照してください。
使用するアーカイブ方式に関係なく、sam-arfind プロセスは、合成を行うために、アーカイバデーモン (sam-archiverd) に各アーカイブリクエストを送信します。ここでは、合成プロセスについて説明します。
合成とは、同時にアーカイブするファイルをアーカイブ要求から選択することです。アーカイブメディアの容量や、アーカイバコマンドファイルに指定されている制御が原因で、アーカイブリクエスト内のファイルの一部が同時にアーカイブされないことがあります。アーカイブ要求のアーカイブのコピー動作が終了したときに、アーカイブ対象のファイルが残っている場合は、アーカイブ要求は再合成されます。
sam-archiverd デーモンは、デフォルト条件とサイト指定の条件に基づいて、アーカイブ要求にファイルを配置します。デフォルトの動作では、同じディレクトリ内のファイルもアーカイブメディアにまとめて配置されるように、アーカイブリクエスト内のすべてのファイルがフルパス名でアーカイブされます。サイト指定の条件を指定した場合、ファイルをアーカイブする順序のほか、複数のボリュームに分散する方法を制御できます。これらの条件は、アーカイブセットパラメータと呼ばれ、次の順序で評価されます。-reserve、-sort、-rsort (逆順ソート)、-drives。詳細は、『Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual』の「archiver.cmd(4)」 を参照してください。
-reserve owner パラメータを指定すると、sam-archiverd デーモンはファイルのディレクトリパス、ユーザー名、またはグループ名に従って、アーカイブリクエスト内のファイルの順序を決定します。owner に属するファイルがアーカイブ対象として選択されます。残りのファイルは、あとでアーカイブされます。
-sort または -rsort パラメータを指定すると、sam-archiverd デーモンは指定されたソート方法 (経過時間、サイズ、ディレクトリの場所など) に従ってファイルの順序を決定します。
オンラインファイルとオフラインファイルの両方がアーカイブリクエストに含まれている場合は、オンラインファイルが先にアーカイブ対象として選択されます。
ソート方法が指定されていない場合は、アーカイブのコピーが常駐するボリュームによって、オフラインファイルの順序が決まります。このルールによって、同じボリューム上の各アーカイブセットに含まれるすべてのファイルがメディアに格納された順序で同時に書き込まれるようになります。1 つのオフラインファイルのアーカイブのコピーを複数個作成している場合、このオフラインファイルは、すべてのコピーが作成されるまで解放されません。最初のファイルと同じボリュームから書き込みが行われるすべてのファイルは、アーカイブ対象として選択されます。
注 - -sort および -rsort パラメータを使用すると、オフラインファイルのアーカイブ時のパフォーマンスに悪影響を与える可能性があります。この影響は、アーカイブ対象ファイルの順序とオフラインファイルに必要なボリュームの順序が一致しない場合に発生します。これらパラメータは、最初のアーカイブコピーの作成でのみ使用してください。その他のコピーでは、コピー開始時にアーカイブメディアに十分な空き容量があれば、第 1 コピーの順序を維持する必要があります。
合成を終えると、アーカイブリクエストは sam-archiverd デーモンのスケジューリング待ち行列に入れられます。
sam-archiverd デーモンのスケジューラは、次の条件のいずれかが存在するときに必要に応じて実行されます。
アーカイブ要求がスケジューリング待ち行列に入れられた。
アーカイブ要求のアーカイブ処理が終了した。
メディアの状態における変更をカタログサーバーから受信した。
アーカイバの状態を変更するメッセージを受信した。
スケジューリング待ち行列内のアーカイブ要求は、優先順位の順序になっています。スケジューラは、実行されるたびにすべてのアーカイブリクエストを調べ、それらを sam-arcopy プロセスに割り当ててアーカイブメディアにファイルをコピーできるかどうかを判定します。
アーカイブリクエストがスケジュールされるためには、次が当てはまる必要があります。
ドライブを使用してファイルコピーを作成できる。
ボリュームが使用可能で、アーカイブリクエスト内のファイルを格納できる十分な容量がある。
アーカイブセットに -drives パラメータが指定されている場合、sam-archiverd デーモンはアーカイブリクエスト内で選択されているファイルを複数のドライブに分割します。使用できるドライブの数が -drives パラメータで指定された数より少ない場合は、少ない方の数のドライブが使用されます。
アーカイブリクエスト内のファイルの合計サイズが -drivemin 値より小さい場合は、1 つのドライブが使用されます。-drivemin 値は、-drivemin パラメータによって指定された値、または archmax 値です。archmax 値は、-archmax パラメータによって指定された値、またはメディアに対して定義されている値です。-archmax パラメータおよび archmax= 指示の詳細は、『Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual』の「archiver.cmd(4)」 を参照してください。
アーカイブリクエスト内のファイルの合計サイズが -drivemin 値より大きい場合、使用されるドライブの数は、ファイルの合計サイズを -drivemin 値で割った値によって決まります。使用できるドライブの数が -drives パラメータで指定された数より少ない場合は、少ない方の数のドライブが使用されます。
ドライブは、ファイルのアーカイブ時間に影響を与えます。-drivemax パラメータは、より多くのデータを書き込むためにドライブを再スケジュールする前にドライブに書き込まれる最大バイト数を指定します。-drivemax パラメータを使用してドライブの利用率を高めることができます。
アーカイブを行うには、1 つ以上のボリュームに、アーカイブリクエスト内のファイルの少なくとも一部を保持できる十分な容量がある必要があります。そのアーカイブセット用に最後に使用されたボリュームに十分な容量がある場合は、そのボリュームがスケジュールされます。このボリュームが、アーカイバによって使用されていてはいけません。
アーカイブセットに使用できるボリュームが使用中である場合は、-fillvsns パラメータが指定されていないかぎり、別のものが選択されます。その場合には、アーカイブ要求をスケジューリングできません。
アーカイブ要求が大きすぎて 1 つのボリュームに保持できない場合には、1 つのボリュームに保持できるファイルが選択されて、そのボリュームにアーカイブされます。大きすぎて 1 つのボリュームに保持できないファイルがアーカイブリクエストに含まれていて、かつ、このアーカイブリクエストに対してボリュームオーバーフローが選択されていない場合は、ファイルをアーカイブできません。この状態に該当するメッセージがログに送信されます。
ボリュームオーバーフローは、-ovflmin パラメータを使用してアーカイブセットに指定するか、ovflmin= 指示を使用してメディアに指定します。-ovflmin パラメータおよび ovflmin= 指示の詳細は、『Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual』の「archiver.cmd(4)」 を参照してください。ovflmin は、アーカイブ時に追加ボリュームまたはメディアが割り当てるときのファイルサイズしきい値を決定します。アーカイブセットに指定された ovflmin 値は、メディアに指定された ovflmin 値に優先します。
ファイルのサイズが ovflmin 値未満である場合は、ファイルをアーカイブできません。この状態に該当するメッセージがログに送信されます。ファイルのサイズが ovflmin 値を超える場合、必要に応じて追加ボリュームが割り当てられます。必要なボリューム数を最小限に抑えるため、ボリュームはサイズの大きなものから選択されます。アーカイブ要求に使用できるボリュームがない場合、アーカイブ要求はボリュームが使用可能になるまで待機します。
ファイルのオンラインまたはオフラインなどの一部の属性は、アーカイブ要求のスケジューリング優先順位を決める際に、アーカイブ優先順位とともに使用されます。優先順位乗数のカスタマイズの詳細は、archiver.cmd(4) のマニュアルページで説明されている -priority パラメータを参照してください。
各アーカイブリクエストについて、sam-archiverd デーモンは、さまざまなシステムリソースの属性に対応する乗数にアーカイブ優先順位を追加することで、スケジューリング優先順位を算出します。これらの属性は、アーカイブ要求が待ち行列に入っている秒数、アーカイブ処理で使用する予定の最初のボリュームがドライブに読み込まれているかどうか、などに関連付けられています。
sam-archiverd デーモンは、調整された優先順位を使用して、準備完了状態の各アーカイブリクエストをコピー対象として割り当てます。
アーカイブリクエストをアーカイブする準備が完了すると、sam-archiverd デーモンはアーカイブファイルの境界をマークし、各アーカイブファイルのサイズが -archmax の指定値より小さくなるようにします。ある 1 つのファイルがこの値より大きい場合は、アーカイブファイル内はそのファイルだけになります。
sam-archiverd デーモンは、使用する各アーカイブリクエストと各ドライブについて、アーカイブリクエストを sam-arcopy プロセスに割り当て、ファイルをアーカイブメディアにコピーします。アーカイブ情報が i ノードに入力されます。
アーカイブログが使用可能である場合、アーカイブログエントリが作成されます。
リスト内のすべてのファイルがアーカイブを終えるまで、書き込まれたファイルごとにディスク領域は解放されます。
さまざまなエラーとファイルの状態の変更が原因で、ファイルが正常にコピーされない場合があります。エラーには、キャッシュディスクからの読み取りエラー、ボリュームへの書き込みエラーなどがあります。ステータスの変更には、選択後の変更、書き込み用に開かれたファイル、削除されたファイルなどがあります。
sam-arcopy プロセスが終了すると、sam-archiverd デーモンがアーカイブリクエストを調べます。アーカイブされなかったファイルがある場合、アーカイブ要求は再合成されます。
archiver.cmd ファイルでは、アーカイブ動作のタイムアウトも指定できます。指示は次のとおりです。
timeout = [operation | media] time
operation は次のいずれかです。
read – ディスクからファイルを読み取ります。デフォルトのタイムアウトは 1 分間です。
request – アーカイブメディアをリクエストします。デフォルトのタイムアウトは 15 分間です。
stage – アーカイブ対象ファイルを書き込みます。デフォルトのタイムアウトは 0 分間です。
write – アーカイブメディアに書き込みます。デフォルトのタイムアウトは 15 分間です。
書き込み動作の timeout 値は、個々のメディアに対して指定することもできます。
archiver.cmd ファイルに -queue_time_limit time アーカイブセットパラメータを構成すると、アーカイブリクエストがスケジュール待ち行列に一定の時間以上入っている場合に管理者に通知できます。この時間に達するまでアーカイブリクエストが待ち行列に入っていると、システム管理者に電子メールが送信されます。
次の例は、archiver -l コマンドの出力例を示しています。
# archiver -l Archive media: default:mo media:mo archmax:5000000 media:lt archmax:50000000 Archive devices: device:mo20 drives_available:1 archive_drives:1 device:lt30 drives_available:1 archive_drives:1 Archive file selections: Filesystem samfs1: samfs1 Metadata copy:1 arch_age:240 big path:. minsize:512000 copy:1 arch_age:240 all path: copy:1 arch_age:30 Archive sets: all copy:1 media:mo big copy:1 media:lt samfs1 copy:1 media:mo