階層型ファイル システムによる添付ファイル ストレージ

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

Confluence 8.1 では、ファイル システムに添付ファイル データを保存する新しい方法が導入されました。

Confluence 8.1 以降にアップグレードすると、添付ファイルは新しいフォルダー構造に移行されます。この移行タスクの詳細については、こちらのページに記載されています。

以前のフォルダー構造に関する情報は、Confluence 8.0 以前のドキュメントで「階層型ファイル システムによる添付ファイル ストレージ」のバージョンをご確認ください。

Confluence は、ファイルや画像などの添付ファイルをファイル システムに保存します。

添付ファイル ストレージの構造は、次のように設計されています。

  1. ディレクトリ構造内の任意の単一レベルでエントリ数を制限します。

  2. ページを新しい場所に移動したときに、添付ファイルをディレクトリ間で移動する必要がなくなる


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。

添付ファイルの最初のバージョンへのパスを示す bash の例
#!/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

このプロパティを設定して、v4 ストレージへの移行を無効化し、レガシー ver003 の使用を継続します。

すでに v4 に移行された添付ファイルは元に戻せません。

-Dconfluence.attachments-ver004-migration-num-of-threads=X

初期設定で、移行はノードで使用可能な CPU の最大半分を使用します。X の代わりに数字を入力して、CPU の数を設定します。

この機能についてご不明な点がある場合は、サポートにお問い合わせください。

トラブルシューティング

課題

ソリューション

どのようなログが用意されているのか知りたい

移行に関する詳細は、atlassian-confluence.log のアプリ ログで確認できます。「Confluence ログを使用する」をご覧ください。

レポート ファイル v3-to-v4-report.log添付ファイル ディレクトリに作成されます。

移行が正常に実行されたかどうかを知りたい

移行が成功すると、ver003 ディレクトリは削除されます。レポート ログも確認する必要があります。最終ステータスは一番下に印刷されます。

移行が実施されているかどうかを知りたい

レポート ログは添付ファイル ディレクトリに作成されます。また、移行された添付ファイル 50,000 件ごとに atlassian-confluence.log エントリが出力されます。このログ ファイルで Attachments migration from ver003 to v4 progressed の文字列を検索します。

添付ファイル フォルダーに複数のレポート ログが表示されますが、どれが正しいかを知りたい

レポート ログは移行ごとに作成されます。複数のレポートが生成される場合は、最新のレポートを確認して、問題を解決する必要があります。実際の添付ファイルではないファイルは、ver003 ディレクトリからの削除または移動が必要な場合があります。

すべての添付ファイルが正常に移行されると、そのフォルダーには新しいレポート ログが作成されなくなります。

レポートに Duplicate file saved as ... というエントリが表示される

過去の問題が原因で、添付ファイルの一部が ver 003 ディレクトリで重複している可能性があります。「 CONFSERVER-62835 - 課題情報を取得中... ステータス」をご覧ください。移行タスクで重複ファイルが見つかった場合は、そのファイルを v4 ディレクトリに移動して、末尾に .duplicate.X を追加します。移行した後、複製が必要かどうかを確認する必要があります。

レポートに Failed to migrate. Msg: と表示される

これは、ファイルの移行が失敗したことを意味します。権限で移動の操作が許可されているかどうかをご確認ください。ファイルが実際の添付ファイルではない場合、ver003 ディレクトリから手動で削除または移動する必要があります。その後、Confluence を再起動して別の移行タスクをトリガーします。

Confluence DC クラスターを実行しているが、移行ログが表示されない

移行は 1 つのノードでのみ実行されるため、同じノードを使用していない場合、アプリ ログ atlassian-confluence.log では進行状況を確認できません。

クラスター内のすべてのノードは、添付ファイル ディレクトリのレポート ファイル v3-to-v4-report.log にアクセスできるはずです。移行の詳細については、レポートをご確認ください。

移行によってディスク リソースが追加で消費されているかどうかを知りたい

移行では move 操作のみが実行され、ほとんどのファイル システムでは、ディスク スペースが追加で使用されることはありません。

また、v4 レイアウトは v3 より少ない inodes を使用する必要があります。

まだこの移行を実行したくない

4v への移行を無効にできるダーク機能を用意しています。詳細は「カスタマイズ」をご確認ください。



Last modified on Mar 29, 2023

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.