Sun Java System Messaging Server 6.3 管理ガイド

第 2 章 Messaging Server 5.2 から Sun Java System Messaging Server へのアップグレード

この章では、Messaging Server 5.2 から Messaging Server の現在のバージョンへのアップグレード方法について説明します。

2.1 始める前に

アップグレードを実行する前に、次の点を確認してください。


注 –

以前のバージョンの Messaging Server とは異なり、既存の Messaging Server をアップグレードするには、まず Messaging Server の現在のバージョンをインストールして設定する必要があります。

また、バージョン 5.2 より古いバージョンの Messaging Server には、このアップグレードプログラムは使用できません。したがって、まず Messaging Server 5.2 に移行またはアップグレードし、Messaging Server の現在のバージョンをインストールしてから、このアップグレードプログラムを実行します。Messaging Server 5.2 への移行の詳細は、『iPlanet Messaging Server 5.2 移行ガイド』を参照してください。


2.2 アップグレードプロセスの概要

Messaging Server 5.2 から Messaging Server の現在のバージョンにアップグレードする手順について、次の項目で説明します。

2.3 設定を更新するアップグレードファイルの作成

この節では、Messaging Server の設定を更新するために、特殊なアップグレードファイルを作成する方法を説明します。

2.3.1 アップグレードファイルについて

アップグレードユーティリティーを実行して Messaging Server 5.2 を 6 に移行する前に、まず Perl スクリプト UpgradeMsg5toMsg6.pl を実行する必要があります。このスクリプトは msg_svr_base/sbin にあります。

UpgradeMsg5toMsg6.pl は、5.2 設定ファイルを Messaging Server 6 設定ファイルと比較し、設定ファイルごとに、*.CHANGES ファイルと *.MERGED ファイルの 2 セットを作成します。

*.CHANGES ファイルと *.MERGED ファイルは、ワークスペースディレクトリ /var/tmp/UpgradeMsg5toMsg6.ScratchDir 内に生成されます。

*.CHANGES ファイルは、Messaging Server 5.2 と Messaging Server の現在のバージョンの間の、設定ファイルの重要な相違点を示します。このファイルでは、Messaging Server でのみ見つかった設定エンティティー、Messaging Server の現在のバージョンでは廃止された Messaging Server 5.2 の設定エンティティー、および Messaging Server 5.2 でのみ見つかった設定エンティティーを特に示しています。すべての *.CHANGES ファイルが設定ファイルのバージョン間の相違点を示すわけではなく、また、すべての設定ファイルが *.CHANGES ファイルを生成するわけではありません。

*.MERGED ファイルは、Messaging Server 5.2 と Messaging Server の現在のバージョンの設定値と設定を統合したものです。一般に次のどちらかの場合に、Messaging Server 5.2 の設定パラメータ値は、Messaging Server の現在のバージョンでも保持されます。

表 2–1 で、*.MERGED または *.CHANGES ファイルを生成する設定ファイルのリストを示します。

表 2–1 *.MERGED または *.CHANGES ファイルを生成する Messaging Server 設定ファイル

設定情報 

説明 

*.MERGED ファイルを生成

*.CHANGES ファイルを生成

job_controller.cnf

ジョブコントローラファイル 

X

X

変換

変換ファイル 

X

 

channel_option。channel は SMTP チャネル

SMTP チャネルオプションファイル 

X

 

native_option

ネイティブチャネルのオプションファイル (channel_option の例外)

X

X

channel_headers.opt。channel は SMTP チャネル

ヘッダーオプションファイル 

X

 

dispatcher.cnf

ディスパッチャーファイル 

X

X

imta_tailor

テイラーファイル 

X

X

option.dat

グローバルな MTA オプションファイル 

X

X

aliases

エイリアスファイル 

X

 

imta.cnf

MTA 設定ファイル。組み込み参照 (ファイルディレクトリの場所など) のみが変更されます。書き換え規則およびチャネル設定は、5.2 の設定が保持されます。imta.cnf ファイルに LMTP を含めるには、LMTP 情報を Messaging Server 6 の imta.cnf ファイルからコピーします。

X

場合によっては、*.CHANGES ファイルが生成されることがあります。

mappings

マッピングファイル 

X

 

mappings.locale

ローカライズされたマッピングファイル 

X

 

internet.rules

インターネットルールの設定ファイル 

X

 

backup-groups.conf

バックアップグループ定義 

X

X

configutil

local.conf および msg.conf 設定ファイルにある設定パラメータの変更。

 

X

ProcedureUpgradeMsg5toMsg6.pl Perl スクリプトを実行する

UpgradeMsg5toMsg6.pl を実行して、設定の更新に使用できるファイルのセットを作成するには、次の手順に従います。

始める前に

この時点で、5.2 と Messaging Server の現在のバージョンの両方を実行することができます。

Messaging Server 5.2 と 6 バージョンが同じマシン上にある場合は、手順 2 から始めてください。

  1. Messaging Server 5.2 および 6 バージョンが同じマシン上にない場合は、Messaging Server 5.2 の server-root ディレクトリを転送、抽出して、Messaging Server の現在のバージョンにコピーします。

    これらのサーバーバージョンが同じマシン上にインストールされている場合は、この手順は省くことができます。

    メッセージストアがシステム間で転送するには大きすぎる場合は、サーバーインスタンスの不可欠な部分だけを新しいシステムに転送することができます。UpgradeMsg5toMsg6.pl には、この詳細を説明したコメントが含まれています。

    Messaging Server 5.2 のストアデータを現在の Messaging Server システムにコピーする必要はありません。ただし、アップグレードプロセス中に Messaging Server 5.2 の mboxlist ディレクトリがアクセス可能であることを確認する必要があります。

  2. UpgradeMsg5toMsg6.pl アップグレードスクリプトを実行します。

    デフォルトでは、このスクリプトは msg_svr_base/sbin にあります。

    5.2 バージョンの msg-instance と Messaging Server の現在のバージョンの msg_svr_base に対して、このスクリプトを実行します。次に例を示します。


    perl UpgradeMsg5toMsg6.pl /usr/sunone/server5/msg-budgie \
      /opt/SUNWmsgsr
    

    ここで、/usr/sunone/server5/msg-budgie は 5.2 Messaging Server の msg-instance で、/opt/SUNWmsgsr は Messaging Server の現在のバージョンの msg_svr_base です。

    *.MERGED ファイルと *.CHANGES ファイルが作成されます (「2.3.1 アップグレードファイルについて」を参照)。

  3. 設定を調整する必要があるかどうかを判断するために、*.MERGED ファイルをよく確認してください。

    推奨されている設定を使用しない場合は、設定を手動で調整する必要があります。

    このユーティリティーは、Messenger Express カスタマイズファイルを更新しません。そのため、Messaging Server 5.2 の関連情報を保持しながら Messaging Server の現在のバージョンの新情報を追加するには、これらのファイルを手動で変更する必要があります。

2.4 アップグレードユーティリティーの実行

この節では、do_the_upgrade.sh ユーティリティーについて説明します。このユーティリティーは /var/tmp/UpgradeMsg5toMsg6.ScratchDir にあり、4 つのサブスクリプトで構成されているシェルスクリプトです。ここで説明する内容は次のとおりです。

2.4.1 アップグレードユーティリティーの概要

do_the_upgrade.sh ユーティリティーは 4 つのシェルスクリプトで構成されています。これらのスクリプトは、*.MERGED ファイルを使用して、Messaging Server の現在のバージョンのシステムに含まれる MTA 設定の設定ディレクトリとファイルディレクトリの場所、configutil パラメータ、バックアップパラメータ、および mboxlist データベースを更新します。

このユーティリティーでは、do_the_upgrade.sh ユーティリティーを実行するほかに、do_the_upgrade.sh ユーティリティーを構成するスクリプト (make_mta_config_changes.sh、make_configutil_changes.sh、make_backup_config_changes.sh、および make_mboxlistdb_changes.sh) の 1 つまたは複数を個別に実行することができます。

MTA リレーマシンを Messaging Server 5.2 から Messaging Server の現在のバージョンにアップグレードする場合は、make_mta_config_changes.sh と make_backup_config_changes.sh を実行します (「2.4.4 バックアップ設定」を参照)。

do_the_upgrade.sh ユーティリティーやサブスクリプトを実行する場合、Messaging Server の 5.2 や Messaging Server の現在のバージョンが起動や実行をしていないことを確認してください。

Proceduredo_the_upgrade.sh ユーティリティーを実行する

  1. 5.2 と Messaging Server の現在のバージョンの両方をシャットダウンします。

  2. 次のようにユーティリティーを実行します。


    # sh /var/tmp/UpgradeMsg5toMsg6.ScratchDir/do_the_upgrade.sh
    

    do_the_upgrade.sh スクリプトの実行後に、5.2 のパーティションパスの参照を継続するか (ただし、Messaging Server 5.2 の server-root ディレクトリは削除できなくなる)、Messaging Server の現在のバージョンのディレクトリが割り当てられる場所に 5.2 のストアパーティションを手動で移動するか、どちらかを選択できます。この手順は Messaging Server の再起動のまえに実行しておくことが必要です。

2.4.2 MTA の設定

do_the_upgrade.sh ユーティリティーを構成するサブスクリプトのうち、MTA のアップグレード設定を行うものは、make_mta_config_changes.sh と呼ばれ、/var/tmp/UpgradeMsg5toMsg6.ScratchDir にあります。

make_mta_config_changes.sh スクリプトは、*.MERGED サーバー設定ファイルをバックアップし、Messaging Server の現在のバージョンのファイルディレクトリ構造内の元の名前と位置に戻します。

このスクリプトによるファイルの名前の変更と移動が完了すると、imsimta cnbuild コマンドが自動的に実行されて MTA 設定が再コンパイルされます。


注 –

MTA リレーマシンを Messaging Server 5.2 から Messaging Server の現在のバージョンにアップグレードする場合は、make_mta_config_changes.sh と make_backup_config_changes.sh を実行するだけです (「2.4.4 バックアップ設定」を参照)。


2.4.3 configutil の各パラメータ

do_the_upgrade.sh ユーティリティーを構成するサブスクリプトのうち、configutil のアップグレード設定を行うものは、make_configutil_changes.sh スクリプトと呼ばれ、/var/tmp/UpgradeMsg5toMsg6.ScratchDir にあります。

make_configutil_changes.sh スクリプトは、msg.conf および local.conf ファイル内の新規または更新されたパラメータを組み込みます。Messaging Server の現在のバージョンの configutil パラメータにデフォルト値が指定されていない場合、Messaging Server 5.2 の値が Messaging Server の現在のバージョンに繰り越されます。

2.4.4 バックアップ設定

do_the_upgrade.sh ユーティリティーを構成するサブスクリプトのうち、バックアップのアップグレード設定を行うものは、make_backup_config_changes.sh スクリプトと呼ばれ、/var/tmp/UpgradeMsg5toMsg6.ScratchDir にあります。

make_backup_config_changes.sh スクリプトは、backup-groups.conf ファイルにあるようなバックアップサービスの設定をアップグレードします。

2.4.5 mboxlist データベース

do_the_upgrade.sh ユーティリティーを構成するサブスクリプトのうち、mboxlist データベースのアップグレード設定を行うものは、make_mboxlistdb_changes.sh スクリプトと呼ばれ、/var/tmp/UpgradeMsg5toMsg6.ScratchDir にあります。

make_mboxlistdb_changes.sh スクリプトは、5.2 の mboxlist データベースを転送してアップグレードし、それを Messaging Server の現在のバージョンのディレクトリ構造にアップグレードします。このスクリプトは、4 つの *.db ファイル (folder.db、quota.db、peruser.db、および subscr.db) を、Messaging Server 5.2 システム上の server-root /msg-instance/store/mboxlist から Messaging Server の現在のバージョンのシステム上の msg_svr_base/data/store/mboxlist にコピーします。

2.5 ユーザーメールボックスの移行

この節では、ユーザーメールボックスを Messaging Server から別の Messaging Server に移行する方法について説明します。この節では、主に Messaging Server 5.2 から Messaging Server の現在のバージョンへの移行について説明しますが、オンラインでの移行手順は 5.2 以降のどの Messaging Server にも適用できます。オンラインでの移行がもっとも便利ですが、ほかの移行方法についても説明します。

Messaging Server 5.2 から Messaging Server 6 にアップグレードする場合で、メッセージストアデータベース全体をアップグレードするときは、これらの移行手順を行う必要はありません。前の節で説明した make_mboxlistdb_changes.sh スクリプトを使用して、より効率よくデータベースをアップグレードできます。

これらの手順は次の場合に実行する必要があります。

これらの手順を使ってメールボックスを移行する場合は、パーティションパスを Messaging Server 5.2 パーティションにマップしないでください。また、make_mboxlist_changes.sh スクリプトを実行しないでください。

アップグレードスクリプトで生成される make_configutil_changes.sh スクリプトによって、Messaging Server 5.2 パーティションにマップするパーティションパスが自動的に設定されます。これは手動で変更する必要があります。また、do_the_upgrade.sh スクリプトから make_mboxlistdb_changes.sh スクリプトの呼び出しを削除する必要があります。

ユーザーメールボックスのデータを Messaging Server 5.2 から Messaging Server の現在のバージョンにオンラインで移動するには、この節で説明する次の手順に従ってください。データの移動中に Messaging Server を停止する必要はありません。

次に示す手順について説明しています。

2.5.1 ユーザーメールボックスを別の Messaging Server にオンラインのままで移行

この手順を使用して、メッセージストアを Messaging Server の古いバージョンから新しいバージョンに移行したり、メールボックスを Sun Messaging Server メッセージストアから別の Sun Messaging Server メッセージストアに移動したりすることができます。この手順は、iPlanet Messaging Server 5.0 以降で動作します。それより前のバージョンの Messaging Server や Sun Microsystems 以外のメッセージストアからメッセージを移動する場合には使用できません。

この手順を使用してメールボックスを移動すると、次のような利点があります。

この手順を使用したメールボックスの移動には、次のような欠点があります。

2.5.1.1 段階的なメールボックスの移行

段階的な移行には、メッセージストアを異なるシステムに移動したり、新しいシステムにアップグレードしたりする作業を安全で効果的に行う面で数多くの利点があります。段階的な移行によって、古いバックエンドメッセージストアを残しつつ、新しいバックエンドメッセージストアシステムを構築することができます。その後、新しいシステムをテストし、都合のよいユーザーを数人移行して、新しいシステムを再度テストできます。新しいシステムと設定で快適に動作し、この移行手順がうまくいくとわかったら、実際の商用ユーザーの移行を開始できます。それらのユーザーを別個のバックアップグループに分割すると、移行中にオフラインになるのが特定グループのメンバーだけになり、オフライン時間も短くすることができます。

オンラインの段階的な移行の別の利点は、アップグレードが失敗した場合に備えてシステム全体のバックアウトを計画する必要がないということです。バックアウトとは、システムを元の動作可能状態に戻すために、システムに加えた変更を取り消す手順のことです。移行を行う場合は失敗に備えなければなりません。つまり、移行中の 1 つ 1 つの手順について、システムを以前の動作可能状態に戻すための計画が必要です。

オフラインの移行では、すべての移行手順を完了してサービスをオンに切り替えるまで移行作業が成功したかどうかわからない、という点が問題です。システムが動作せず迅速な修正もできない場合には、実行したすべての手順のバックアウト手順が必要になります。これはストレスが溜まり時間もかかる作業です。その間、ユーザーはオフラインにされたままです。

オンラインの段階的な移行で実行する基本的な手順は次のとおりです。

1. 古いシステムを残しつつ新しいシステムを構築し、両方のシステムが独立して動作できるようにします。

2. 新しいシステムと共存できるように古いシステムを設定します。

3. 都合のよいユーザーのグループを移行し、新しいシステムの動作、および古いシステムとの共存状態をテストします。

4. 古いシステム上のユーザーをグループに分け、必要に応じてグループごとに新しいシステムに移行します。

5. 古いシステムを解体します。

両方のシステムが共存するので、移行する前に新しいシステムをテストおよび調整するための時間を十分に取ることができます。万一、バックアウト手順を実行する必要が生じた場合でも、手順 2 および 4 について計画するだけで済みます。手順 2 は、ユーザーのデータを一切操作しないので元に戻すのが容易です。手順 4 のバックアウトでは、ユーザーの状態をアクティブに戻し、そのメールホスト属性を古いホストに戻すことになります。システム全体のバックアウトは必要ありません。

2.5.1.2 オンラインの移行の概要

オンラインのままメールボックスを移行するプロセスは単純です。複雑になるのは、メールボックスに転送中 (MTA チャネルキュー内にあって配信待ち) のメッセージが移行プロセス中に失われないことを保証しようとする場合です。1 つの解決法は、移行プロセス中に送信されるメッセージを held 状態に保ち、さまざまなチャネルキューにあるメッセージが配信されるまで待つことです。ただし、システムに問題が生じたり特定のユーザーが制限容量を超えたりしたために、メッセージがキューに滞留することもあり得ます。そのような場合は、メールボックスを移行する前にその状況を解決する必要があります。

メッセージが失われる可能性を減らし、メッセージがチャネルキューに滞留していないことを確かめる方法はいろいろありますが、手順が複雑になるという短所があります。

手順中の個々の操作の順序および必要性は、実際の配備状況、およびどのメールボックス宛のどのメッセージも失われてはならないのかどうかによって異なります。この節では、それらの手順の背後にある理論と概念について説明します。各手順を理解し、実行する手順とその順序を実際の配備状況に応じて決定するのは、個々の管理者の責任です。次に示すのはメールボックスの移動プロセスの概要です。実際の配備によってはプロセスが異なってくる可能性があります。

  1. 移動するメールボックスへのユーザーアクセスを禁止します。

  2. 移動するメールボックス宛のメッセージを一時保留にします。

  3. メッセージがチャネルキューに滞留していないことを確認します。

  4. ユーザーのメールホスト属性を新しいメールボックスの場所に変更します。

  5. メールボックスを新しい場所に移動します。

  6. 保留メールを解放して新しいメールボックスへの配信を開始し、着信メッセージを移行済みのメールボックスに配信可能にします。

  7. 移行後に古いメッセージストアに配信されたメッセージがないかどうか確認します。

  8. メールボックスへのユーザーアクセスのブロックを解除します。

Procedureユーザーメールボックスを Messaging Server から別の Messaging Server にオンラインのままで移行する

始める前に

このタイプの移行の要件は次のとおりです。


注 –

メッセージングサーバーを以前のバージョンから新しいバージョンにアップグレードする場合にだけ当てはまる手順もあります。メールボックスをメッセージストアから別のメッセージストアに移行するだけの場合は、それらの手順は適用されない可能性があります。システム全体の移行に適用される手順には、その旨が示されています。


  1. 移行元システムで、backup-groups.conf ファイルを使用して、移動するユーザーエントリを均等なバックアップグループに分けます。

    ここで、手順のあとの方の手順 8 で実行するメールボックスの移行に備えます。詳細については、「20.12.2 バックアップグループを作成する」を参照してください。

    ユーザー名をファイルに入れ、imsbackup コマンドで -u オプションを使用する方法もあります。

  2. 移動するユーザーに対し、移動が完了するまでメールボックスにアクセスできないことを通知します。

    データを移動する前に、移動するユーザーがメールシステムからログアウトしていることを確認します。(「20.13 ユーザーアクセスを監視する」参照。)

  3. バックエンドメッセージストアおよび MMP システムで認証キャッシュのタイムアウトを 0 に設定し、MTA で ALIAS_ENTRY_CACHE_TIMEOUT オプションを 0 に設定します。

    1. 移動するメールボックスを含むバックエンドメッセージストアで、認証キャッシュのタイムアウトを 0 に設定します。


      configutil -o service.authcachettl -v 0
      

      この手順と手順 7 (mailUserStatus を hold に変更) を実行するとすぐに、ユーザーは移行中にメールボックスにアクセスできなくなります。

    2. すべての MMP で、LDAP キャッシュと認証キャッシュのタイムアウトを 0 に設定します。

      ImapProxyAService.cfg と PopProxyAService.cfg の LdapCacheTTL と AuthCacheTTL をどちらも 0 に設定します。

    3. 移動するメールボックスにメッセージを挿入する MTA をホストするすべての Messaging Server で、ALIAS_ENTRY_CACHE_TIMEOUT オプションを 0 に設定します。

      移動するメールボックスにメッセージを挿入する MTA をホストする Messaging Server は、通常、バックエンドメッセージストアになります。ただし、システムが LMTP を使用している場合は、そのシステムが着信 MTA になります。設定をチェックして確認してください。

      /msg_svr_base/config/option.dat の ALIAS_ENTRY_CACHE_TIMEOUT をリセットすると、MTA はキャッシュをバイパスして LDAP エントリを直接参照します。これは、中間チャネルキュー (たとえば、conversion チャネルや reprocess チャネル) に対して、移動中のユーザーの古いキャッシュ情報ではなく新しい mailUserStatus (hold) を提示するためです。ALIAS_ENTRY_CACHE_TIMEOUT は option.dat にあります。

    4. キャッシュをリセットしたシステムを再起動します。

      これまでの変更を有効にするには、システムの再起動が必要です。手順については、「4.4 サービスを起動および停止する」を参照してください。

  4. 移行元 Messaging Server と移行先 Messaging Server の両方が起動して実行されていることを確認します。

    移行元 Messaging Server で、着信メッセージを新しい移行先サーバーにルーティングできるようにする必要があります。

  5. メールボックスを移動するすべてのユーザーエントリについて、LDAP 属性 mailUserStatus を active から hold に変更します。

    この属性変更によって着信メッセージが hold キューに保留され、IMAP、POP、および HTTP 経由でメールボックスにアクセスできなくなります。通常、ユーザーはグループに分けて移動します。1 つのドメインのすべてのメールボックスを移動する場合は、mailDomainStatus 属性を使用できます。

    mailUserStatus の詳細については、『Sun Java Communications Suite 5 Schema Reference』の「mailUserStatus」を参照してください。

  6. 移動するメールボックス宛のメッセージが ims-ms チャネルキューまたは tcp_lmtp* チャネルキュー (LMTP 配備済みの場合) 内に滞留しないようにします。

    次のコマンドを使用して、移動するユーザー宛のメッセージがチャネルキューのディレクトリツリーに存在し、held 状態になっている (.HELD ファイルを参照する) かどうか調べます。


    imsimta qm directory -to=<user_address_to_be_migrated> -directory_tree
    
    imsimta qm directory -to=<user_address_to_be_migrated> -held -directory_tree

    キューにメッセージがある場合は、これらのコマンドをあとで実行して MTA がそれらのメッセージをキューから取り出したかどうか確認します。キューから取り出されていないメッセージがある場合は、移行の前にこの問題を解決する必要があります。このような状況はまれですが、受取人のメールボックスが制限容量を超えている、おそらくユーザーがログインしてメッセージを移動中であるためにメールボックスがロックされている、LMTP バックエンドサーバーが応答しない、ネットワークまたはネームサーバーに問題がある、などの状況が原因として考えられます。

  7. 移動するユーザーエントリ、およびすべてのメールグループエントリにある LDAP 属性 mailHost を変更します*。

    ldapmodify コマンドを使用して、エントリを新しいメールサーバーに変更します。Messaging Server または Directory Server に付属している ldapmodify を使用してください。Solaris OS の ldapmodify コマンドは使用しないでください。

    * メールグループエントリの mailHost 属性を変更する必要があるのは、古いメールホストがシャットダウンされているときだけです。この属性を新しいメールホスト名に変更するか、属性全体を省いてしまってもかまいません。メールグループの mailHost の指定はオプションです。mailHost の指定は、そのホストだけがグループ拡張を行えることを意味し、mailHost の省略 (こちらの方が一般的) は、すべての MTA でグループ拡張を行えることを意味します。メールグループエントリには移行対象となるメールボックスはなく、通常は mailhost 属性さえ指定されません。

    mailhost の詳細については、『Sun Java Communications Suite 5 Schema Reference』の「mailHost」を参照してください。

  8. メールボックスデータを移行元 Messaging Server のメッセージストアから移行先 Messaging Server のメッセージストアに移動し、起動した時刻を記録します。

    imsbackup ユーティリティーを使用してメールボックスをバックアップし、imsrestore ユーティリティーを使用して新しい Messaging Server にメールボックスを復元します。たとえば、oldmail.siroe.com という Messaging Server 5.2 システムから newmail.siroe.com にメールボックスを移行するには、oldmail.siroe.com で次のコマンドを実行します。


    /server-root/bin/msg/store/bin/imsbackup -f- /instance/group     \
    | rsh newmail.siroe.com /opt/SUNWmsgsr/lib/msg/imsrestore.sh   \
    -f- -c y -v 1
    

    バックアップと復元のセッションを同時に複数 (グループごとに 1 つ) 実行すると、新しいメッセージストアへの転送速度を最適化できます。imsbackup ユーティリティーと imsrestore ユーティリティーの詳細については、『Sun Java System Messaging Server 6.3 Administration Reference』の「Command Descriptions」および 「20.12 メッセージストアのバックアップと復元を行う」を参照してください。


    注 –

    あとで配信の検証を行うときのために imsbackup の実行時のタイムスタンプを記録しておいてください。


  9. (システムアップグレード用の条件付き手順) メールボックスの移行が、Messaging Server を以前のバージョンから現在のバージョンにアップグレードするプロセスの一部である場合は、この現在のバージョンの Messaging Server がシステムの新しいデフォルトの Messaging Server になるように設定します。

    newmail.siroe.com (以前 oldmail.siroe.com によってホストされていたドメインを管理するサーバー) をポイントするように、oldmail.siroe.com の DNS A レコードを変更します。

  10. 新しいメッセージストアへのユーザーアクセスを有効にします。

    状況に応じて、LDAP 属性 mailUserStatus または mailDomainStatus を、hold に変更される前の値 (たとえば、active) に設定します。

  11. すべての移行元 Messaging Server にある held 状態のメッセージを解放します。

    着信メッセージを保留している可能性のあるすべてのシステムで、次のコマンドを実行してすべてのユーザーメッセージを解放する必要があります。


    imsimta qm release -channel=hold -scope
    

    scope に all を指定するとすべてのメッセージが解放されます。user を指定すると対象がユーザー ID、domain を指定すると対象がユーザーが存在するドメインになります。

  12. 認証キャッシュのタイムアウトおよび ALIAS_ENTRY_CACHE_TIMEOUT オプションをデフォルトまたは特定の値にリセットし、システムを再起動します。

    これで、移行が必要なすべてのユーザーメールボックスの移行が完了しました。次に進む前に、古いシステムを mailhost とする LDAP 新規エントリが作成されていないことを確認してください。そのようなエントリが見つかった場合は、それらを移行します。プロビジョニングシステムの変更によっても、そのようなエントリが作成できないことを確認してください。

    preferredmailhost 属性を新しいメールホストの名前に変更することもお勧めします。

    バックエンドメッセージストアでは、認証キャッシュのタイムアウトを次のように設定します。


    configutil -o service.authcachettl -v 900
    

    MMP では、ImpProxyAService.cfg および PopProxyAService.cfg で LdapCacheTTL オプションと AuthCacheTTL オプションを 900 に設定します。

    MTA では、ALIAS_ENTRY_CACHE_TIMEOUT オプションを 600 に設定します。ALIAS_ENTRY_CACHE_TIMEOUT は option.dat にあります。

    これまでの変更を有効にするには、システムの再起動が必要です。手順については、「4.4 サービスを起動および停止する」を参照してください。

  13. ユーザークライアントで新しいメールサーバーが指定されていることを確認します。

    アップグレードが終了したら、ユーザーに、メールクライアントプログラムから新しいメールサーバーをポイントしてもらいます (この例では、oldmail.siroe.com から newmail.siroe.com をポイントしてもらう)。

    別の方法として、メッセージングマルチプレクサ (MMP) の使用があります。MMP を使用すると、ユーザーのクライアントから新しいメールサーバーを直接ポイントしてもらう必要がなくなります。MMP は、LDAP ユーザーエントリに保存されている mailHost 属性から必要な情報を取得し、クライアントを新しいサーバーに自動的にリダイレクトします。

  14. すべてが正常に動作したら、移行後、古いメッセージストアに配信されたメッセージがないことを確認します。

    古いメッセージストアに移動し、mboxutil -l を実行してメールボックスの一覧を表示します。最新のメッセージ配信タイムスタンプをチェックします。移行のタイムスタンプ (imsbackup コマンド実行時のタイムスタンプ) よりあとに配信されたメッセージがある場合は、バックアップおよび復元のコマンドを使ってそれらのメッセージを移行します。これまでの手順で十分に準備しているので、移行後に配信されたメッセージが見つかることはまず考えられません。

    理論的には、notices チャネルキーワードで指定された日数または時間数の間、メッセージがキューに滞留することはあり得ます (「10.10.4.3 通知メッセージの配信間隔を設定する」を参照)。

  15. 新しいメッセージストアで重複しているメッセージを削除し、relinker コマンドを実行します。

    このコマンドによって、新しいメッセージストアのディスクの空き容量が増える可能性があります。詳細については、「20.11.7 同一メッセージのストレージが重複するためメッセージストアのサイズを小さくする」を参照してください。

  16. 移行元のストアから古いメッセージを削除し、古いストア上のデータベースからユーザーを削除します。

    mboxutil -d コマンドを実行します。(「20.11.2.1 mboxutil ユーティリティー」を参照)。

ProcedureIMAP クライアントを使用してメールボックスを移動する

メッセージングサーバーから別のメッセージングサーバーにメッセージを移行する必要がある場合は、いつでもこの手順を使用できます。この方法を使用してメールボックスを移動する前に、利点と欠点を考慮してください。

IMAP クライアントを使用してメールボックスを移動すると、次のような利点があります。

IMAP クライアントを使用してメールボックスを移動すると、次のような欠点があります。

  1. 新しい Messaging Server をインストールして設定します。

  2. local.store.relinker を有効に設定します。

    同じメッセージが重複して保存されたために新しいシステムのメッセージストアのサイズが増加した場合は、この設定によって減少します。詳細については、「20.11.7 同一メッセージのストレージが重複するためメッセージストアのサイズを小さくする」を参照してください。

  3. 新しい Messaging Server のユーザーをプロビジョニングします。

    これには Delegated Administrator を使用できます。新しいシステムでユーザーをプロビジョニングした直後から、新たに届くメールは新しい INBOX に配信されるようになります。

  4. ユーザーに指示して、新旧両方の Messaging Server のメールボックスを表示するようにメールクライアントを設定してもらいます。

    そのためには、クライアントに新しい電子メールアカウントを設定する必要がある場合があります。詳細については、メールクライアントのマニュアルを参照してください。

  5. 古い Messaging Server から新しい Messaging Server にフォルダをドラッグするよう、ユーザーに指示します。

  6. すべてのメールボックスを新しいシステムに移行したことをユーザーに確認してから、古いシステムのユーザーアカウントを停止します。

Proceduremoveuser コマンドを使用してメールボックスを移動する

メッセージングサーバーから別のメッセージングサーバーにメッセージを移行する必要がある場合は、いつでもこの手順を使用できます。Sun 以外のメッセージングサーバーから Sun Java System Messaging Server に IMAP メールボックスを移行する場合に役立ちます。この方法を使用してメールボックスを移動する前に、利点と欠点を考慮してください。

moveuser コマンドを使用してメールボックスを移動すると、次のような利点があります。

moveuser コマンドを使用してメールボックスを移動すると、次のような欠点があります。

  1. 新しい Messaging Server をインストールして設定します。

  2. local.store.relinker を有効に設定します。

    同じメッセージが重複して保存されたために新しいシステムのメッセージストアのサイズが増加した場合は、この設定によって減少します。詳細については、「20.11.7 同一メッセージのストレージが重複するためメッセージストアのサイズを小さくする」を参照してください。

  3. メッセージングサーバーへの着信メールを停止します。

    ユーザー属性 mailUserStatus を hold に設定します。

  4. 必要に応じて、新しい Messaging Server のユーザーをプロビジョニングします。

    以前のバージョンのメッセージングサーバーから移行する場合は、同じ LDAP ディレクトリとサーバーを使用できます。moveuser は、各ユーザーエントリの mailhost 属性を変更します。

  5. moveuser コマンドを実行します。

    Directory Server siroe.com 内のアカウント情報に基づいて host1 から host2 にすべてのユーザーを移動するには、次のようにします。


    MoveUser -l \
    "ldap://siroe.com:389/o=siroe.com???(mailhost=host1.domain.com)" \
    -D "cn=Directory Manager" -w password -s host1 -x admin \
    -p password -d host2 -a admin -v password
    

    moveuser コマンドの詳細については、『Sun Java System Messaging Server 6.3 Administration Reference』の「MoveUser」を参照してください。

  6. 新しいメッセージストアへのユーザーアクセスを有効にします。

    LDAP 属性 mailUserStatus を active に設定します。

  7. 古いシステムをシャットダウンします。

Procedureimsimport コマンドを使用してメールボックスを移動する

この手順は、UNIX の /var/mail 形式のフォルダから Sun Java System Messaging Server メッセージストアにメールボックスを移動する場合のみ使用します。ただし、移行元のメッセージングサーバーで IMAP メッセージストアを UNIX の /var/mail 形式に変換できる場合は、imsimport コマンドを使用して Sun Java System Messaging Server にメッセージを移行できます。この方法を使用してメールボックスを移動する前に、利点と欠点を考慮してください。

imsimport コマンドを使用してメールボックスを移動すると、次のような利点があります。

imsimport コマンドを使用してメールボックスを移動すると、次のような欠点があります。

  1. 新しい Messaging Server をインストールして設定します。

  2. local.store.relinker を有効に設定します。

    同じメッセージが重複して保存されたために新しいシステムのメッセージストアのサイズが増加した場合は、この設定によって減少します。詳細については、「20.11.7 同一メッセージのストレージが重複するためメッセージストアのサイズを小さくする」を参照してください。

  3. 必要に応じて、新しい Messaging Server のユーザーをプロビジョニングします。

    これには Delegated Administrator を使用できます。まだ新しいシステムに切り替えないでください。

  4. 新旧両方のメッセージストアへのユーザーアクセスを無効にします。

    LDAP 属性 mailUserStatus を hold に設定します。ユーザーのメールは保留キューに送られ、IMAP、POP、および HTTP を介してメールボックスにアクセスすることはできなくなります。ストアサーバー上の MTA およびメッセージアクセスサーバーは、この要件を満たす必要があります。この設定によって、ほかの mailDeliveryOption の設定はすべて無効になります。

  5. 既存のメールサーバーのメールストアが /var/mail 形式になっていない場合は、メールストアを /var/mail ファイルに変換します。

    詳細については、サードパーティーのメールサーバーのマニュアルを参照してください。

  6. imsimport コマンドを実行します。

    次に例を示します。


    imsimport -s /var/mail/joe -d INBOX -u joe
    

    imsimport コマンドの詳細については、『Sun Java System Messaging Server 6.3 Administration Reference』の「imsimport」を参照してください。

  7. メッセージストアへのユーザーアクセスを有効にします。

    LDAP 属性 mailUserStatus を active に設定します。

  8. 新しいメッセージストアへのユーザーアクセスを有効にします。

  9. 古いシステムをシャットダウンします。