此遷移類型的需求如下:
應同時在來源 (舊) 及目標 (新) 郵件傳送伺服器上執行 stored。
來源系統和目標系統若將同時存在,則兩者必須能相互路由郵件。此為必要的,舉例來說,如此一來便可在目標系統上產生傳送狀態通知的郵件,並傳送到來源系統。
有些步驟僅適用於要將舊版郵件傳送伺服器升級為新版的情況。若未將電子信箱從某個郵件儲存遷移至另一個儲存,便不適用於這些步驟。適用於遷移整個系統的步驟會特別標出。
在來源系統中,使用 backup-groups.conf 檔案,將要移動的使用者項目分割成均等的備份群組。
此為電子信箱遷移的準備步驟,步驟 8 會於此程序後半段發生。如需詳細的指示,請參閱建立備份群組。
您也可以將使用者名稱放入檔案中,並使用 imsbackup 指令中的 -u 選項。
通知要移動的使用者,必須等到移動程序完成之後,才可存取其電子信箱。
在移動資料之前,先確定要移動的使用者已登出其郵件系統。(請參閱監視使用者存取。)
將後端郵件儲存和 MMP 系統上的認證快取逾時設為 0,並將 MTA 上的 ALIAS_ENTRY_CACHE_TIMEOUT 選項設為 0。
在包含要移動之電子信箱的後端郵件儲存中,將認證快取逾時設為 0。
configutil -o service.authcachettl -v 0 |
此步驟及步驟 7 (將 mailUserStatus 變更為 hold) 可立即避免使用者在遷移期間存取其電子信箱。
在所有 MMP 上,將認證快取逾時設為 0。
在 ImpProxyAService.cfg 和 PopProxyAService.cfg 中,將 LdapCacheTTL 設為 0。
在託管將郵件插入要遷移的電子信箱之 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 中。
重新啟動已重新設定快取的系統。
您必須重新啟動系統,這些變更才會生效。如需指示,請參閱啟動和停止服務。
確定來源 Messaging Server 和目標 Messaging Server 皆已啟動且在執行中。
來源 Messaging Server 必須能路由內送郵件至新的目標伺服器。
變更其電子信箱將從 active 移至 hold 的所有使用者項目上的 LDAP 屬性 mailUserStatus。
變更屬性可使內送郵件保留在 hold 佇列中,並防止透過 IMAP、 POP 及 HTTP 對電子信箱進行存取。一般會以使用者群組移動使用者。若要移動單一網域的所有電子信箱,可以使用 mailDomainStatus 屬性。
如需有關 mailUserStatus 的更多資訊,請參閱「Sun Java System Communications Services 6 2005Q4 Schema Reference」中的「mailUserStatus」。
確定傳送至遷移中電子信箱的郵件不會卡在 ims-ms 或 tcp_lmtp* 通道佇列 (若已部署 LMTP)。
使用下列指令以查看傳送給將遷移的使用者之郵件,是否存在於通道佇列目錄樹狀結構同時是「已保留」狀態 (查看 .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 後端伺服器未回應、網路或名稱伺服器發生問題等等。
變更將移動之使用者項目以及任何郵件群組項目中的 LDAP 屬性 mailHost*。
使用 ldapmodify 指令變更新郵件伺服器的項目。使用 Messaging Server 或 Directory Server 隨附的 ldapmodify。請勿使用 Solaris 作業系統的 ldapmodify 指令。
* 若已關閉舊的郵件主機,則僅需變更郵件群組項目中的 mailHost 屬性即可。您可以將此屬性變更為新的郵件主機名稱,或完全移除屬性。您可以選擇讓郵件群組具有 mailHost。具有 mailHost 表示只有該主機可以執行群組擴充;略過 mailHost (比較常用) 表示所有 MTA 均可執行群組擴充。請注意,郵件群組項目沒有要遷移的電子信箱,一般而言甚至沒有 mailhost 屬性。
如需有關 mailhost 的更多資訊,請參閱「Sun Java System Communications Services 6 2005Q4 Schema Reference」中的「mailHost」。
將電子信箱資料從來源 Messaging Server 郵件儲存移至目標 Messaging Server 郵件儲存,並記錄開始時間。
使用 imsbackup 公用程式備份電子信箱,並使用 imsrestore 公用程式將之復原為新的 Messaging Server。例如,若要從 Messaging Server 5.2 系統中將名為 oldmail.siroe.com 的電子信箱遷移至 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- -cy -v1 |
您可以執行多個同步運作的備份並修復階段作業 (每個群組一個),以最大化向新郵件儲存進行傳送的速度。如需有關 imsbackup 和 imsrestore 公用程式的更多資訊,請參閱「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「Command Descriptions」,以及備份和復原郵件儲存。
記錄何時執行 imsbackup 的時間戳記,以供稍後進行傳送驗證所用。
(系統升級的條件式步驟) 如果電子信箱遷移是舊版 Messaging Server 到目前版本升級程序的一部分,請將此目前版本的 Messaging Server 設為系統的新預設 Messaging Server。
變更 oldmail.siroe.com 的 DNS A 記錄,以將其指向 newmail.siroe.com (此伺服器負責先前託管於 oldmail.siroe.com 上的網域)。
啟用使用者對新郵件儲存的存取。
視需要將 LDAP 屬性 mailUserStatus 或 mailDomainStatus 設定為變更成 hold 之前的任何值 (例如 active)。
釋放所有來源 Messaging Server 上狀態為「已保留」的郵件。
任何可能保留內送郵件的系統,均需要執行下列指令以釋放所有使用者郵件:
imsimta qm release -channel=hold -scope |
其中 scope 可以是 all,表示會釋放所有郵件;user 表示使用者 ID;而 domain 則為使用者所在的網域。
將認證快取逾時及 ALIAS_ENTRY_CACHE_TIMEOUT 選項重設為預設值或想要的值,然後再重新啟動系統。
此時,您已遷移所有需要遷移的使用者電子信箱。在繼續下一步前,請確定 LDAP 中沒有以舊系統 mailhost 建立的任何新項目,如果有,請將之遷移。另請確定不會透過修改佈建系統建立任何這類項目。
您可能也想將 preferredmailhost 屬性變更為新郵件主機的名稱。
若為後端郵件儲存,請將認證快取逾時設定如下:
configutil -o service.authcachettl -v 900 |
若為 MMP,請在 ImpProxyAService.cfg 和 PopProxyAService.cfg 中將 LdapCacheTTL 選項設為 0。
若為 MTA,請將 ALIAS_ENTRY_CACHE_TIMEOUT 選項設為 600。ALIAS_ENTRY_CACHE_TIMEOUT 位於 option.dat 中。
必須重新啟動系統,這些變更才會生效。如需指示請參閱啟動和停止服務。
確保使用者用戶端指向新的郵件伺服器。
升級完成後,透過使用者的郵件用戶端程式讓使用者指向新的伺服器 (在此範例中,使用者會從 oldmail.siroe.com 改為指向 newmail.siroe.com)。
也可以使用郵件傳送多重訊號組合器 (MMP),無需使用者將其用戶端直接指向新的郵件伺服器。MMP 從儲存在 LDAP 使用者項目中的 mailHost 屬性取得該資訊,並自動重新將用戶端導向到新的伺服器。
等到一切運作正常,請驗證遷移後沒有訊息傳送到舊的郵件儲存。
進入舊的郵件儲存,並執行 mboxutil -l 以列出電子信箱。檢查上一則郵件傳送的時間戳記。如果郵件是在遷移時間戳記 (執行 imsbackup 指令的日期戳記) 之後送抵,請使用備份及復原指令遷移這些郵件。由於已提供準備步驟,因此遷移後有郵件送抵的情況很少見。
理論上,郵件卡在佇列中的天數或小時數,由 notices 通道關鍵字指定 (請參閱設定通知郵件遞送間隔時間)。
若要移除新郵件儲存中重複的郵件,請執行 relinker 指令。
此指令可釋放新郵件儲存中的磁碟空間。請參閱由於相同郵件的重複儲存而縮減郵件儲存大小。
從您遷移來源的儲存區移除舊郵件,並從舊儲存區上的資料庫中刪除使用者。
執行 mboxutil -d 指令。(請參閱mboxutil 公用程式)。