Sun Java System Messaging Server 6.3 管理ガイド

20.2 メッセージストアのディレクトリレイアウト

図 20–1 は、サーバーインスタンスに対するメッセージストアのディレクトリレイアウトを示しています。メッセージストアはメールボックスの内容に高速でアクセスできるように設計されています。ストアディレクトリについては、表 20–2 を参照してください。

図 20–1 メッセージストアのディレクトリレイアウト

図は、メッセージストアのディレクトリレイアウトを示しています。

メッセージストアは、いくつかのメールボックスデータベースとユーザーメールボックスで構成されています。メールボックスデータベースは、ユーザー、メールボックス、パーティション、制限容量、およびその他のメッセージストア関連のデータで構成されています。ユーザーメールボックスには、ユーザーのメッセージとフォルダがあります。メールボックスは「メッセージストアパーティション」に格納されます。メッセージストアパーティションとは、「ディスク」パーティション上の、メッセージストアを格納するための専用エリアです。詳細については、「20.10 メッセージストアのパーティションを構成する」を参照してください。メッセージストアパーティションはディスクパーティションと同じではありませんが、管理の便宜をはかるために、各メッセージストアパーティション用に 1 つのディスクパーティションを使用することをお勧めします。

INBOX などのメールボックスは、store_root にあります。たとえば、ディレクトリパスの例は次のようになります。

store_root/partition/primary/=user/53/53/=mack1

次の表で、メッセージストアディレクトリについて説明します。

表 20–2 メッセージストアのディレクトリの説明

保存場所 

内容/説明 

msg-svr-base

デフォルト: /opt/SUNWmsgsr

サーバープログラム、設定、管理、および情報についてのファイルの格納に使用される、Messaging Server マシン上のディレクトリです。 

store_root

msg-svr-base/data/store

メッセージストアのトップレベルのディレクトリです。mboxlistuser、および partition サブディレクトリが格納されています。

./store.expirerule

メッセージを自動的に削除するルール (有効期限ルール) が格納されています。このオプションのファイルは別の場所に置くこともできます。詳細については、「20.9 自動メッセージ削除 (有効期限および消去) 機能を設定する」を参照してください。

store_root/dbdata/snapshots

stored が定期的に作成するメッセージストアデータベースのバックアップスナップショットです。

store_root/mboxlist/

メールボックスデータベース (Berkeley DB) が格納されています。このデータベースには、メールボックスや制限容量についての情報が保存されています。 

folder.db には、メールボックスが保存されているパーティションの名前、ACL、および store.idx にある情報のいくつかのコピーなど、メールボックスに関する情報が格納されています。folder.db には、メールボックスごとに 1 つのエントリが存在します。

quota.db には、制限容量および制限容量の使用状況に関する情報が格納されています。quota.db には、ユーザーごとに 1 つのエントリが存在します。

lright.db - acl 検索権限別のフォルダのインデックスです。

peruser.db には、ユーザーごとのフラグに関する情報が格納されています。このフラグは、特定のユーザーがメッセージを開封したかどうか、または削除したかどうかを示します。

subscr.db には、ユーザーの購読に関する情報が格納されています。

store_root/session/

アクティブなメッセージストアプロセスについての情報が格納されています。 

store_root/user/

使用されていません。 

store_root/partition/

メッセージストアパーティションが格納されています。デフォルトで primary パーティションが作成されています。このディレクトリには、ほかのパーティションを定義して格納することもできます。

store_root/partition/primary/=user/

パーティションのサブディレクトリにある全ユーザーのメールボックスが格納されています。メールボックスは、高速で検索できるようにハッシュ構造で保存されています。特定のユーザーのメールボックスを格納するディレクトリを検索するには、hashdir ユーティリティーを使用します。

.../=user/hashdir/ hashdir/userid /

userid という ID を持つユーザー用のトップレベルのメールフォルダです。これがそのユーザーの INBOX です。デフォルトドメインでは、useriduid となります。ホストしているドメインでは、useriduid@domain となります。着信メッセージはこのメールフォルダに配信されます。

.../userid/folder

メッセージサーバー上のユーザー定義のメールボックスです。 

.../userid/store.idx

/userid/ ディレクトリに保存されたメールについての次の情報を提供するインデックスです。メッセージの数、このメールボックスが使用するディスクの制限容量、メールボックスが最後に追加された時間、メッセージフラグ、各メッセージの可変長情報 (ヘッダーや MIME 構造を含む)、各メッセージのサイズなどです。さらにこのインデックスには、各ユーザーに関する mboxlist 情報のバックアップコピーや、各ユーザーに関する制限容量情報のバックアップコピーも含まれます。

.../userid/store.usr

フォルダにアクセスしたユーザーのリストが格納されています。リストされた各ユーザーについて、そのユーザーが最後にフォルダにアクセスした時間、ユーザーが表示したメッセージのリスト、ユーザーが削除したメッセージのリストといった情報が格納されています。 

.../userid/store.sub

ユーザーの購読に関する情報が格納されています。 

.../userid/store.exp

削除されたものの、ディスクからは削除されていないメッセージファイルのリストを格納しています。このファイルは、削除されたメッセージが存在する場合のみ表示されます。 


.../userid/nn/
または
.../userid/folder/nn/

nnmessage_id.msg の形式でメッセージが格納されているハッシュディレクトリであり、nn には 00 〜 99 までの数字が入ります。message_id も数字です。例: たとえば、メッセージ 1 ? 99 は .../00 ディレクトリに保存されます。最初のメッセージは 1.msg、2 番目のメッセージは 2.msg、3 番目のメッセージは 3.msg となり、以降同様に続きます。メッセージ 100 〜 199 は 01 ディレクトリに保存され、メッセージ 9990 〜 9999 は 99 ディレクトリに保存され、メッセージ 10000 〜 10099 は 00 ディレクトリに保存されます。以降同様に続きます。

20.2.1 有効なフォルダ名と無効なフォルダ名

IMAP フォルダとして有効な文字と無効な文字は、次のとおりです。

IMAP フォルダとして有効な文字: (空白文字) ! " # $ & ' ( ) + , - . / 0-9 : ; < = > @ A-Z [ \ ] ^ _ ` a-z { | } ~

IMAP フォルダとして無効な文字: % * ?

フォルダ名の public/ など、使用できない文字の並びがあります。また、これらの制限は英語ロケールを使用する場合に適用されます。日本語などのほかの言語では、エンコードされた文字セットを使用します。