階層型ファイル システムによる添付ファイル ストレージ
Confluence 8.1 では、ファイル システムに添付ファイル データを保存する新しい方法が導入されました。
Confluence 8.1 以降にアップグレードすると、添付ファイルは新しいフォルダー構造に移行されます。この移行タスクの詳細については、こちらのページに記載されています。
以前のフォルダー構造に関する情報は、Confluence 8.0 以前のドキュメントで「階層型ファイル システムによる添付ファイル ストレージ」のバージョンをご確認ください。
Confluence は、ファイルや画像などの添付ファイルをファイル システムに保存します。
添付ファイル ストレージの構造は、次のように設計されています。
ディレクトリ構造内の任意の単一レベルでエントリ数を制限します。
ページを新しい場所に移動したときに、添付ファイルをディレクトリ間で移動する必要がなくなる
On this page:
ディレクトリ構成
Confluence の添付ファイルには、添付ファイルの元のバージョンのコンテンツ ID という単一の識別属性があります。
たとえば、添付ファイルの元のバージョンがコンテンツ ID 12345678 の場合、バージョン 1、2、6 の添付ファイル名は、それぞれ 12345678.1、12345678.2、12345678.6 になります。
ディレクトリ構造は 5 つのレベルで構成され、各レベルの名前は次のアルゴリズムから派生します。
レベル | 由来 |
---|---|
1 (最上位) | 常に「v4」で、Confluence バージョン 4 ストレージ レイアウト フォーマットであることを示す |
2 | コンテンツ ID 剰余 65535、剰余 256 で計算 |
3 | コンテンツ ID 剰余 65535 、256 で割って計算 |
4 | 添付ファイルのコンテンツ ID |
5 | ファイル名。ファイルのコンテンツ ID とバージョン番号から名前が付けられます (例: x.1、x.2、x.6)。 |
剰余計算は、除算後の余りを見つけるために使用されます。例: 800 modulo 250 = 50。
#!/bin/sh
content_id=$1
version=1
domain=`expr $content_id % 65535`
folder_1=`expr $domain % 256`
folder_2=`expr $domain / 256`
echo "v4/$folder_1/$folder_2/$content_id/$content_id.$version"
ディレクトリの図
抽出されたテキスト ファイル
テキストベースのファイル (Word、PowerPoint など) が Confluence にアップロードされると、テキストが抽出され、インデックスが作成されます。これにより、ユーザーはファイル名だけでなく、ファイルのコンテンツを検索することができます。この抽出テキストは保存されるため、ファイルのインデックス再作成が必要な場合でも、ファイルのコンテンツを改めて抽出する必要がありません。
抽出されたテキスト ファイルにはコンテンツ ID とバージョン番号を使用した名前が付けられ (例: 12345.2.extracted_text
)、ファイル バージョン自体とともに保存されます (上記例のレベル 5 内)。最新バージョンの抽出ファイルのみを保持し、以前のバージョンのファイルは保持されません。
バージョン 4 への移行
Confluence 8.1 では、添付ファイルを保存するための v4 レイアウト形式が導入されました。以前のバージョン 3 構造から円滑にトランジションできるように、Confluence 8.1 以降へのアップグレード時にこの移行を実施する自動バックグラウンド タスクを追加しています。
移行タスクにより、すべての添付ファイルが ver003
ディレクトリから新しい v4
ディレクトリに移動します。過去にページ移動が失敗して欠落や破損が発生した添付ファイルがこのプロセスで見つかった場合は、すべて復元されます。重複した添付ファイルは、拡張子 .duplicate.X
が追加されて保存されます。
このバックグラウンド タスクは、添付ファイル フォルダーに ver003
ディレクトリが存在する場合、Confluence の起動時にのみ実行されます。このプロセス中、Confluence は通常どおり動作します。
移行タスクが完了すると、レポート ファイル v3-to-v4-report.log
が添付ファイル ディレクトリに表示されます。移行を実行するたびに新しいレポートが作成されます。レポートには、対応する課題のあるファイルのリストが記載され、移行ステータスが一番下に表示されています。たとえば、正常に完了しました、警告ありで終了しました、中断されました、などです。レポート ファイルには、ログ ファイルが大きくなりすぎないように、正常に移行された添付ファイルは記載されません。
カスタマイズ
これらのダーク機能のカスタマイズを移行に利用できます。設定方法については「システム プロパティの設定」をご参照ください。
システム プロパティ | 説明 |
---|---|
-Datlassian.darkfeature.confluence.disable-attachments-ver004=true | このプロパティを設定して、 すでに |
-Dconfluence.attachments-ver004-migration-num-of-threads=X | 初期設定で、移行はノードで使用可能な CPU の最大半分を使用します。X の代わりに数字を入力して、CPU の数を設定します。 この機能についてご不明な点がある場合は、サポートにお問い合わせください。 |
トラブルシューティング
課題 | ソリューション |
---|---|
どのようなログが用意されているのか知りたい | 移行に関する詳細は、 レポート ファイル |
移行が正常に実行されたかどうかを知りたい | 移行が成功すると、ver003 ディレクトリは削除されます。レポート ログも確認する必要があります。最終ステータスは一番下に印刷されます。 |
移行が実施されているかどうかを知りたい | レポート ログは添付ファイル ディレクトリに作成されます。また、移行された添付ファイル 50,000 件ごとに |
添付ファイル フォルダーに複数のレポート ログが表示されますが、どれが正しいかを知りたい | レポート ログは移行ごとに作成されます。複数のレポートが生成される場合は、最新のレポートを確認して、問題を解決する必要があります。実際の添付ファイルではないファイルは、ver003 ディレクトリからの削除または移動が必要な場合があります。 すべての添付ファイルが正常に移行されると、そのフォルダーには新しいレポート ログが作成されなくなります。 |
レポートに | Due to past issues, some of your attachments may be duplicated in the ver003 directory. See CONFSERVER-62835 - Getting issue details... STATUS . If the migration task finds duplicate files it will move them to v4 directory and add |
レポートに | これは、ファイルの移行が失敗したことを意味します。権限で移動の操作が許可されているかどうかをご確認ください。ファイルが実際の添付ファイルではない場合、ver003 ディレクトリから手動で削除または移動する必要があります。その後、Confluence を再起動して別の移行タスクをトリガーします。 |
Confluence DC クラスターを実行しているが、移行ログが表示されない | 移行は 1 つのノードでのみ実行されるため、同じノードを使用していない場合、アプリ ログ クラスター内のすべてのノードは、添付ファイル ディレクトリのレポート ファイル |
移行によってディスク リソースが追加で消費されているかどうかを知りたい | 移行では また、 |
まだこの移行を実行したくない | 4v への移行を無効にできるダーク機能を用意しています。詳細は「カスタマイズ」をご確認ください。 |