p4 storage
物理的なアーカイブストレージの表示、検証、更新を行う場合は、このコマンドを使用します。
構文規則
p4 [g-opts] storage [-v [-q]] [-c change] [-T tags -F filters] [-m max] archive... p4 [g-opts] storage -u [-c change] [-T tags -F filters] [-m max] archive... p4 storage -d [-c change] [-y] [-D secs] [ -t target ] [-q] archive... p4 storage -w p4 storage -U [-q] archive... p4 storage -l start|pause|restart|wait|status|cancel //depotdirectory/...
説明
adminアクセス権を持つユーザは、以下のコマンドを使用して、サーバ上のアーカイブファイルに関する情報とその使用状況を表示することができます。
p4 storage [-v [-q]] [-c change] [-T tags -F filters] [-m max] archive...
-lオプションを使用して、孤立したアーカイブファイルを検索するためのコマンドグループを指定し、それらのファイルをstorage -dコマンドで削除するためのマークを付けます。
ファイルが削除されるまでのデフォルトの遅延時間は86400秒(24時間)ですが、この値は変更することができます。「オプション」で、-dオプションの説明を参照してください。
詳細については、『Helix Coreサーバ管理者ガイド』の「ディスク容量を管理する」で、「孤立したアーカイブファイルを削除してディスクスペースを解放する」を参照してください。
表示情報が格納されるフィールドを以下に示します。
lbrFile | アーカイブファイルのパス |
lbrRev | アーカイブファイルのリビジョン |
lbrType |
アーカイブファイルのファイルタイプ(text+Cなど) 「ファイルタイプ」を参照してください。 |
lbrRefCount | アーカイブファイルを参照するリビジョンの数 |
headTime | レコードが書き込まれたときのタイムスタンプ |
filesize | アーカイブファイルに保管されるリビジョンのサイズ |
digest | アーカイブファイルに保管されるリビジョンのMD5ダイジェスト |
serverSize | リビジョンのサブミット時または保留時にサーバ上のアーカイブファイルに存在していた アーカイブファイルのサイズ |
compCksum | サーバ上のリビジョンが含まれているアーカイブファイルのMD5 (そのアーカイブファイルが
圧縮されていて、submit.storagefields の値が「1」である場合)
|
-vフラグを指定すると、以下のフィールドが追加で使用されます。
actualSize | アーカイブファイルに保管されるリビジョンの実際のサイズ |
actualDigest | アーカイブファイルに保管されるリビジョンの実際のMD5ダイジェスト |
status | 検証結果(OK、BAD、MISSINGのいずれか) |
2019.1よりも前のバージョンからのアップグレード
Perforceデータベースに多数のキー付きリビジョンが存在している状態で、2019.1よりも前のバージョンのHelixサーバをアップグレードする場合、アップグレードプロセスの実行中にストレージダイジェストを計算して、遅延発生のリスクを回避することをお勧めします。その場合は、-Uオプションを使用してください。
オプション
|
指定したアーカイブファイルが変更されていないかどうかが確認されます。各アーカイブファイルのダイジェストが計算されて表示されます。
p4 storage -vコマンドとp4 verifyコマンドは似ていますが、以下の点が異なっています。
|
||||||||||||||||||||||||||
|
保存されたダイジェストが存在しないリビジョンについてのみ、ダイジェストの計算と保存が実行されます。 |
||||||||||||||||||||||||||
|
storage -vコマンドで、最低限の出力が表示されます(ダイジェストの不一致エラー、またはリビジョンの再生成エラーのみが表示されます)。 |
||||||||||||||||||||||||||
-d |
参照されていないアーカイブが削除されます。以下に示す2つの条件の両方に該当する場合、 アーカイブが記述されているデータベース行と、ベースアーカイブのリビジョンが削除されます。
-yオプションを指定せずにコマンドを実行した場合、削除対象のファイルとリビジョンが一覧表示されるのみで、実際に削除されることはありません。 -yオプションを指定してコマンドを実行した場合、ファイルとリビジョンのみでなく、まったく参照されていないストレージレコードも削除されます。 参照カウントが「0」になっているアーカイブはほとんどありませんが、以下の場合にこうしたアーカイブファイルが作成される可能性があります。
-qオプションを指定すると、削除候補のリビジョンの一覧が表示されなくなります。 -tオプション(targetオプション)を指定すると、参照されていないアーカイブがサーバのP4ROOTから削除される前に、指定したディレクトリにそのアーカイブがコピーされます。 |
||||||||||||||||||||||||||
-c | このオプションは、指定したチェンジリストに適用されます。 | ||||||||||||||||||||||||||
-T |
このオプションは、指定したタグに適用されます(複数のタグを指定する場合は、コンマまたはスペースを区切り文字として使用します)。 例: -T "lbrFile, lbrRev" |
||||||||||||||||||||||||||
-F |
このオプションは、指定したフィルタに適用されます。フィルタ式に一致するレコードのみが一覧表示されます。 このフィルタ式の構文は、jobs -e jobviewで使用される構文に似ています。 この構文を使用して、上記の各フィールドの内容が評価されます。 フィルタリングでは、大文字と小文字が区別されます。 例: -v -F "lbrRefCount = 1 & status=OK" |
||||||||||||||||||||||||||
-m | 出力が、指定した件数のレコードのみに制限されます。 | ||||||||||||||||||||||||||
|
アップグレードプロセスの完了時に「The storage upgrade process is complete」というメッセージが表示されます。バージョン2019.1以降にアップグレードする方法については、『Helix Coreサーバ管理者ガイド』を参照してください。 |
||||||||||||||||||||||||||
-U
|
アップグレード時のダイジェスト計算による遅延を回避するには、キーワードリビジョンを スキップするようにlbr.storage.skipkeyed構成可能変数を設定し、ストレージをアップグレードしてから、 -Uオプションを使用することをお勧めします。 このオプションを指定すると、未設定のダイジェストフィールドが検索されて、 すべてのストレージレコードが読み込まれます。未設定のダイジェストが検出されると、 ダイジェストフィールドとサイズフィールドが再計算されてから、レコードが更新されます。 p4 storage -U -qコマンドを実行すると、進行状況に関するメッセージが非表示になります。 -Uオプションまたは-U -qオプションを使用するには、superアクセス権限が必要になります。 |
||||||||||||||||||||||||||
-l
|
管理者は、孤立したファイルを検索してマーキングするためのバックグラウンドプロセスについて、作成、一時停止、再開、キャンセルを行うことができます。 このプロセスは、指定された//depotdirectory内と、サーバのアーカイブファイル形式の 命名規則に一致するサブディレクトリ内で、ファイルを検索します。 検索されたファイルとそのリビジョンは、 db.storageテーブル内の一致するエントリに対して確認されます。 一致するエントリがない場合は、ファイルとリビジョンの組み合わせを記述する 新しいレコードが作成され、参照カウントとして「0」が設定されます。 その後p4 storage -dを呼び出すと、まったく参照されていないレコードとそれに関連するアーカイブリビジョンが削除されます。 p4 storage -lコマンドには、以下に示すサブコマンドがあります。
警告
|
||||||||||||||||||||||||||
|
「グローバルオプション」を参照してください。 |
ワークフローの例
孤立ファイルの検索
スキャンを開始するには、以下のように指定します。
p4 storage -l start //depot/path/...
スキャンのステータスを確認するには、以下のように指定します。
p4 storage -l status //depot/path/...
スキャンを一時停止するには、以下のように指定します。
p4 storage -l pause //depot/path/...
一時停止を解除してスキャンを再開するには、以下のように指定します。
p4 storage -l restart //depot/path/...
スキャンをキャンセルするには、以下のように指定します。
p4 storage -l cancel //depot/path/...
スキャンプロセスは、キャンセルされるまでシステム上に残ったままになります。 スキャンをもう一度実行する場合は、最初にpauseサブコマンドでスキャンを一時停止してから(スキャンがアクティブな状態になっている場合)、cancelサブコマンドでスキャンをキャンセルします(スキャンが正常に完了したかエラーで終了したかにかかわらず、スキャンをキャンセルしてください)。
サーバ上のディスクスペースを解放する
孤立ファイルをターゲットディレクトリに保存し、一度も参照されていないレコードとそれに関連するアーカイブファイルをサーバのP4ROOTから削除するには、以下のように指定します。
p4 storage -d -y -t /myTargetDirectory //depot/path/...
/myTargetDirectoryは、オペレーティングシステム上のターゲットディレクトリです。例えばWindowsの場合、D:\myCopyOfOrphanedFilesなどがターゲットディレクトリになります。
使用上の注意点
ファイル引数でリビジョン指定子を使用できるか? | ファイル引数でリビジョン範囲を使用できるか? | 最低限必要なアクセスレベル |
---|---|---|
いいえ |
いいえ |
|