Sun ONE Calendar Server 6.0 安裝指南﹝適用於 Solaris 作業系統﹞ |
第 3 章
移轉 Calendar Server 資料Sun ONE Calendar Server 6.0 提供以下移轉公用程式:
- cs5migrate 公用程式 – 將 Calendar Server 5.x 資料庫移轉至 Calendar Server 6.0,並將行事曆資料庫從 Berkeley DB 2.6 版升級至 3.2.9 版。
- csmig 公用程式 – 可為行事曆資料庫中的每個行事曆指定一個所有者,並可將每個行事曆 ID (calid) 對映至一個所有者 (如果需要),這樣可以支援託管 (虛擬) 網域和 LDAP 行事曆查找資料庫 (CLD) 外掛程式。
- csvdmig 公用程式 – 升級 Calendar Server 6.0 的站台以使用託管 (虛擬) 網域。
- ics2migrate 公用程式 – 從 iPlanet Calendar Server 2.x 中移轉資料。
- ncs4migrate 公用程式 – 從 Netscape Calendar Server 4.x 中移轉資料。
- csrename 公用程式 – 重新命名行事曆資料庫和 LDAP 目錄伺服器中的行事曆使用者 (帶「ics」字首的 Calendar Server 屬性)。
圖 3-1 顯示執行 Calendar Server 移轉公用程式的示意圖。
小心 在執行移轉公用程式之前,請首先洽詢您的 Sun Microsystems 技術支援代表或銷售帳號代表,以確保您使用的為最新版本的公用程式,這一點非常重要。
如果您的站台已配置為有限虛擬網域模式或 Calendar Server 的多個實例,請聯絡您的 Sun Microsystems 銷售帳號代表,以評估您的移轉需求,並確保您具有支援那些需求的特定移轉公用程式。
圖 3-1 執行 Calendar Server 移轉公用程式的示意圖
cs5migrate 公用程式如果您要從 Calendar Server 5.x 升級到 Calendar Server 6.0,則必須先執行 cs5migrate 公用程式,然後才能執行 Calendar Server 6.0。cs5migrate 公用程式執行以下功能:
移轉時間
cs5migrate 移轉時間可隨數種因素而改變。首先,cs5migrate 必須存取 LDAP 目錄伺服器以更新綱目屬性,因此連至 LDAP 伺服器的網路連線會極大地影響移轉時間。如果可能,請使用高速網路連線連至 LDAP 伺服器,並在網路流量最小時執行 cs5migrate。
移轉案例 – 在一個執行具有 20 GB 交換檔案空間的 Solaris 8 作業系統、具有 UltraSPARC III Cu、12 個 CPU、750 MHz、12 GB 記憶體和浮點處理器的 Sun Fire 上,cs5migrate 移轉以下 Calendar Server 5.x 行事曆資料庫大約需要 1 小時 15 分鐘:
cs5migrate 語法
cs5migrate 公用程式的語法如下:
-q 指定靜音模式。如果移轉成功,cs5migrate 不會顯示資訊。但如果發生任何錯誤,則會顯示錯誤資訊。
-d 指定虛擬執行模式。虛擬執行會報告在實際移轉過程中 cs5migrate 將執行的作業,但是 cs5migrate 不會移轉任何資料或升級資料庫。
-r 指定建立週期性事件的主元件。
-l min|max 指定移轉日誌 (ics5migrate.log) 的日誌模式與詳細資訊層級。
註 -t 選項未在目前版次中實施。
source-directory 是一個必備參數,它指定包含 Calendar Server 5.x 資料庫檔案的目錄。
target-directory 是一個必備參數,它指定 cs5migrate 建立新 Calendar Server 6.0 資料庫檔案所在的現有目錄。
重要事項 執行 cs5migrate 之前,必須先建立 target-directory。
移轉程序
執行 cs5migrate 之前,請執行下列步驟:
- 使用一個公用程式 (例如 csbackup、Sun StorEdge Enterprise Backup 軟體或 Legato Networker®) 備份 Calendar Server 5.x 資料庫。
- 還建議您在移轉之前,使用 csbd rebuild 指令重建行事曆資料庫。如需相關資訊,請參閱「Sun ONE Calendar Server 管理員指南」中的第 5 章「管理 Calendar Server 資料庫」。
- 如有必要,可以透過將 ics.conf 檔案中的 caldb.serveralarms 參數設定為「yes」來啟用警示。
- 需要將 Calendar Server 5.x 資料庫移至其他伺服器時,如果資料庫 (*.db) 檔案不太大,則只需將這些檔案複製到新的伺服器即可。否則,請建立這些資料庫檔案的 tar 檔案,將 tar 檔案複製到新的伺服器,然後將其解包。
若要執行 cs5migrate,請執行下列步驟:
- 在 Solaris 與其他 UNIX 系統上,以執行 Calendar Server 的使用者與群組身份登入,例如 icsgroup 與 icsuser。
- 如有必要,使用 stop-cal 指令停止 Calendar Server。
- 如有必要,建立 target-directory。在執行 cs5migrate 之前,target-directory 必須存在。
- 執行 cs5migrate。如需有關語法,請參閱 cs5migrate 語法。
例如,在 Solaris 系統上:
./cs5migrate -q -l max /var/opt/SUNWics5/csdb511
/var/opt/SUNWics5/csdb60
在此範例中,在您移轉之前,/var/opt/SUNWics5/csdb60 目錄必須存在。
如需瞭解移轉狀態,請檢視 cs5migrate.log 檔案。如果在移轉期間發生錯誤,或無法移轉行事曆資料庫項目,cs5migrate 會將它們寫入 cs5migrateerror.log。
- cs5migrate 完成後,ics.conf 檔案中的 caldb.berkeleydb.homedir.path 參數必須指向移轉的資料庫,因為 cs5migrate 並不修改 ics.conf 檔案。
可以重設此參數以指向移轉的資料庫目錄,也可以將移轉的資料庫檔案移至此參數所指定的目錄。
- 如果您要使用 LDAP 資料快取記憶體選項 (local.ldap.cache.enable = "yes") 或 CLD 快取記憶體選項 (caldb.cld.cache.enable = "yes"),請在執行 cs5migrate 後於目標目錄中建立 ldap_cache 和 cld_cache 目錄。
- 檢查移轉資料庫檔案的權限。如果您以 icsuser 的身份執行 cs5migrate,則不應存在任何存取問題。如果您以超級使用者 (root) 的身份 (不建議使用) 執行,則可能需要重設權限。
- 使用 start-cal 指令重新啟動 Calendar Server。
csmig 公用程式csmig 公用程式可為行事曆資料庫中的每個行事曆指定一個所有者,並可將每個行事曆 ID (calid) 對映至一個所有者 (如果需要)。
csmig 公用程式支援託管 (虛擬) 網域和 LDAP 行事曆查找資料庫 (CLD) 外掛程式。可使用該外掛程式存取移轉資料庫中的行事曆。LDAP CLD 外掛程式允許行事曆分散在多個後端伺服器上,從而提供了行事曆資料庫的水平可延伸性。如需有關 LDAP CLD 外掛程式的資訊,請參閱「Sun ONE Calendar Server 管理員指南」。
本文件說明下列主題:
csmig 功能
csmig 移轉公用程式執行以下功能:
csmig 需求
使用 csmig 的需求為:
csmig 語法
csmig 公用程式的語法如下:
csmig [ -t DestinationDB ] [ -b Backend-DWPHost ]
[ -o OutputFile ] [ -e ErrorFile ] [ -m MappingFile ]
-c calendarOwner -r resourceOwner { migrate|dryrun }
-t DestinationDB 指定 csmig 所產生的目標資料庫。預設值為 MigratedDB。
-b Backend-DWPHost 指定 DWP 後端主機伺服器的名稱。此名稱必須與 ics.conf 檔案中指定的 DWP 後端主機伺服器名稱相符。
-o OutputFile 指定一個輸出檔案,該檔案會將 csmig 輸出及發生的所有錯誤擷取到螢幕。預設值為 MigrateOut。
-e ErrorFile 是 csmig 寫入所有錯誤或無法解決的資料庫項目的檔案。如果資料庫項目無法解決,則它們不會被寫入目標資料庫。預設值為 MigrateError。
-m MappingFile 是在 dryrun 模式中產生的輸出對映檔案,它為更新 LDAP 綱目中的項目列出了變更建議。例如:
Old calid = jsmith New calid = jsmith:basketball
對映檔案僅提供對 LDAP 綱目的變更建議清單,csmig 並不實際變更此綱目。
在 migrate 模式中,不使用 MappingFile。
-c calendarOwner 為沒有所有者的使用者行事曆指定所有者。
-r resourceOwner 為沒有所有者的資源行事曆指定所有者。
csmig 移轉步驟
在您配置中的所有伺服器上安裝了 Calendar Server 6.0 之後,必須執行 csmig 以將現有的 Calendar Server 與 LDAP 資料移轉至新的 Calendar Server 6.0 與 LDAP 資料 (這是 LDAP CLD 外掛程式正常作業所必需的)。以下為使用 csmig 移轉行事曆資料時建議執行的步驟:
- 配置您的 LDAP 目錄伺服器 – 加入索引可以大幅提昇對 LDAP 資料的移轉和行事曆搜尋效能。
- 進行虛擬執行測試 – 虛擬執行會報告 csmig 在移轉期間將執行的作業,但不會實際移轉任何資料。虛擬執行之後,您可以修正所有錯誤,並決定處理任何未解決行事曆的計劃。
- 移轉您的生產資料 – 在執行生產資料移轉期間,csmig 會移轉行事曆資料庫 (.db 檔案) 與 LDAP 資料 (使用者與群組偏好設定資料)、icsSubscribed、icsCalendar、icsCalendarOwned、icsFreeBusy、icsSet 以及 uid (用於資源行事曆)。移轉之後,所有行事曆資源都會建立一個 LDAP 項目。
配置您的 LDAP 目錄伺服器
若要提昇效能,請考量將以下兩個新索引加入到 slapd.ldbm.conf 檔案中:
如需有關在 slapd.ldbm.conf 檔案中建立索引的資訊,請參閱您的目錄伺服器說明文件。
進行虛擬執行測試
在展示伺服器上進行的虛擬執行測試會報告將要移轉的內容,但不會實際移轉生產資料庫。虛擬執行可讓您決定移轉生產資料庫的計劃。例如,您可以決定處理「無主」行事曆 (沒有所有者的行事曆) 的方式。
若要使用 csmig 進行虛擬執行測試,請遵循下列步驟:
- 以 icsuser 的身份 (或以配置期間指定的 Calendar Server 運行時間使用者 ID 的身份) 登入。如果您以超級使用者 (root) 的身份執行 csmig,則可能需要重設移轉檔案的權限。
- 在展示伺服器上安裝 Calendar Server 6.0 (如有必要)。
- 將行事曆資料庫的快照複製到展示伺服器中。
- 安裝 LDAP 伺服器以模擬生產 LDAP 環境。使用 slapd.ldbm.conf 檔案中的新索引在此伺服器上安裝 LDAP 資料庫的快照。
- 移至 cal_svr_base/opt/SUNWics5/cal/sbin 目錄。
- 考量為沒有所有者的使用者行事曆建立一個 catchall calid。例如,在 Solaris 系統上,以下指令將建立一個 calid 為 orphan 的使用者:
./csuser -g orphan -s adminuser -y password -l en -c orphan create orphan
- 使用 stop-cal 指令停止 Calendar Server (如有必要)。
- 執行 csdb check 指令以檢查您的資料庫是否損毀。如果指示資料庫已損毀,請執行 csdb rebuild 指令以重建資料庫。
- 使用 dryrun 選項執行 csmig。例如,在 Solaris 系統上,輸入:
./csmig -b sesta.com -o csmig.out -e csmig.errors -m csmig.map -c orphan -r calmaster dryrun
該指令將沒有所有者的使用者行事曆指定給 orphan,將沒有所有者的資源行事曆指定給 calmaster。
檢查輸出對映檔案 (csmig.map)。對映檔案為更新 LDAP 綱目中的項目列出了變更建議。
- 檢查輸出檔案、對映檔案與錯誤檔案。解決您發現的所有 LDAP 問題或錯誤。在實際移轉之前,決定如何處理所有未解決的行事曆。有下列選項可供選擇:
- 極力建議您在實際移轉生產行事曆資料庫之前,先在展示伺服器上移轉您的行事曆資料庫。此步驟可使您準確查看資料的移轉方式,並可讓您在移轉生產資料庫之前修正所有問題。
例如,在 Solaris 系統上,以下指令可將行事曆資料庫移轉至 /var/opt/SUNWics5/testcsdb/ 目錄中:
./csmig -t /var/opt/SUNWics5/testcsdb/ -b sesta.com -o csmig.out -e csmig.errors -m csmig.map -c orphan -r calmaster migrate
- 測試移轉完成之後,將移轉的資料庫複製到 caldb.berkeleydb.homedir.path 參數指定的 /csdb 目錄中。或者,編輯此參數以指向移轉資料庫的新位置。然後執行以下檢查:
如果測試移轉成功,您便可以移轉生產資料庫。
移轉您的生產資料
若要使用 csmig 移轉您的生產資料庫,請遵循下列步驟:
- 以 icsuser 的身份 (或以配置期間指定的 Calendar Server 運行時間使用者 ID 的身份) 登入。如果您以超級使用者 (root) 的身份執行 csmig,則可能需要重設移轉檔案的權限。
- 移至 cal_svr_base/opt/SUNWics5/cal/sbin 目錄。
- 使用 stop-cal 指令停止 Calendar Server (如有必要)。
- 備份下列資料:
- 使用 migrate 選項執行 csmig。例如,在 Solaris 系統上,以下指令可將行事曆資料庫移轉至 /var/opt/SUNWics5/newcsdb/ 目錄:
./csmig -t /var/opt/SUNWics5/newcsdb/ -b sesta.com -o csmig.out -e csmig.errors -m csmig.log -c orphan -r calmaster migrate
- 將新移轉的資料庫複製到 caldb.berkeleydb.homedir.path 參數指定的 /csdb 目錄中。或者,編輯此參數以指向移轉資料庫的新位置。
- 執行 csdb check 指令以檢查移轉的資料庫。如果指示資料庫已損毀,請執行 csdb rebuild 指令以重建資料庫。
- 啟用 LDAP CLD 外掛程式,方法為對 ics.conf 檔案中的下列配置參數進行任何必要的變更:
- service.dwp.enable = "yes"
- service.dwp.port = "9779"
- csapi.plugin.calendarlookup = "y"
- csapi.plugin.calendarlookup.name = "*"
- caldb.cld.type = "directory"
- caldb.dwp.server.default = "default-server-name"
- caldb.dwp.server.server-hostname.ip = "server-hostname" (用於每個後端伺服器,包括本機伺服器)
- caldb.cld.cache.enable = "yes" (如果您要使用 CLD 快取記憶體選項)
- caldb.cld.cache.homedir.path 指定 CLD 快取記憶體目錄的位置。預設值為 cal_svr_base/var/opt/SUNWics5/csdb/cld_cache。
- 使用 start-cal 指令重新啟動 Calendar Server。
- 登入 Calendar Server,檢查數個移轉的行事曆,以檢驗您的配置是否起作用。若要在進行檢查時停用警示,請將 ics.conf 檔案中的以下每個參數均設定為「no」:
csmig 提示與疑難排解
本節說明下列提示與疑難排解解決方案:
csmig 虛擬執行行事曆所有者並非我想要的行事曆所有者
例如,名為 tchang:myCalendar 的行事曆在行事曆資料庫中的所有者名為 jsmith,而 csmig 虛擬執行將該對映顯示為 jsmith:tchang_myCalendar。我希望將該行事曆名稱保留為 tchang:myCalendar,並將所有者指定為 tchang。
解決方案
在移轉之前,使用 cscal 公用程式將行事曆的所有者 tchang:myCalendar 變更為 tchang。一旦完成該項作業,移轉便會將此行事曆對映至 tchang:myCalendar,並在 tchang 的 LDAP 項目內加入 icsCalendarowned。
LDAP 行事曆搜尋無法正常工作
移轉之後,將啟用 LDAP 行事曆搜尋,但是行事曆搜尋對話方塊不會傳回任何結果,或僅傳回部分結果。
解決方案
啟用 LDAP 行事曆搜尋可讓 Calendar Server 搜尋 (&(objectclass=icscalendaruser)(icscalendarowned=*substr*))。
使用以下過濾器對 LDAP 資料手動執行兩種不同的搜尋,並比較輸出結果:
由於伺服器使用包含 icsCalendaruser 物件類別的過濾器,因此在綱目檢查停用的情況下可能已部署了 LDAP 伺服器,並可能已佈建了某些不具有 icsCalendaruser 物件類別的行事曆項目。
csmig 虛擬執行指示重複的行事曆名稱
csmig 虛擬執行對映檔案與輸出檔案指示存在重複的行事曆名稱。例如,在原始資料庫中,jsmith 擁有下列行事曆:
虛擬執行指示在移轉期間將合併這兩個行事曆,最後生成的行事曆將為:
輸出檔案將包含下列警告訊息:
修改行事曆屬性時發生錯誤,錯誤 = 2
解決方案
如果您不想合併這兩個行事曆,請在移轉之前將 basketball 的所有者變更為 jsmith 之外的其他所有者。這樣做會保留兩個獨立行事曆的資料完整性。
我如何將無主行事曆指定給不同的所有者?
依預設,csmig 會將所有無主行事曆指定給單一所有者,但是我想為某些無主行事曆指定不同的所有者。
解決方案
csmig 不接受指令行上的對映檔案。但是,您可以在移轉之前,將所有者指定給原始資料庫中的無主行事曆。檢查所有無主行事曆的虛擬執行對映檔案。然後在移轉之前,使用 cscal 公用程式將所有者指定給無主行事曆。以 dryrun 模式再次執行 csmig,以確認新的所有者。
我如何將行事曆使用者移至另一個後端伺服器?
我如何將使用者從一個後端伺服器移至另一個後端伺服器?
解決方案
若要移動行事曆使用者,請匯出原始伺服器上的每個使用者行事曆,然後將這些行事曆匯入另一台伺服器。移動行事曆之後,您可以刪除原始伺服器上的行事曆。如需有關移動使用者的詳細步驟,請參閱「Sun ONE Calendar Server 管理員指南」。
csvdmig 公用程式csvdmig 公用程式可以為將要使用託管 (虛擬) 網域的站台修改 Calendar Server 資料庫與 LDAP 目錄伺服器資料庫。csvdmig 公用程式將網域名稱加至使用者 ID,如下所示:
小心 csvdmig 公用程式並不會將資料從一個位置實際移轉至另一個位置。它會在行事曆資料庫與 LDAP 目錄伺服器的目前位置上對二者進行修改。
因此,執行 csvdmig 之前,請備份您的 Calendar Server 資料庫與 LDAP 目錄伺服器資料庫。
csvdmig 語法
csvdmig 公用程式的語法如下:
-m MappingFile 為輸入參數,用於指定對映檔案。預設值為 MigrateMapping。
對映檔案是輸入文字檔案,它將現有使用者對映至他們各自的網域。執行 csvdmig 之前,必須先建立對映檔案。每一行指定一個項目,新舊值之間用空格分隔。例如:
user1 user1@sesta.com
user2 user2@siroe.com
user3 user3@sesta.com
...
user-n user-n@siroe.com-c ConfigFile 為輸入參數,用於指定 Calendar Server 配置檔案。預設值為 ics.conf 檔案。
-t DestinationDB 為輸出參數,用於指定移轉資料庫的位置。預設值為 MigratedDB。
-e ErrorFile 為輸出參數,用於為無法解決的錯誤指定錯誤檔案的名稱。預設值為 MigrateError。
DB | LDAP 用於指定是修改 Calendar Server 資料庫 (DB) 還是修改 LDAP 目錄伺服器 (LDAP)。預設值為行事曆資料庫 (DB)。
csvdmig 範例
ics2migrate 公用程式ics2migrate 移轉公用程式可以將 iPlanet Calendar Server 2.x 行事曆資料與 LDAP 使用者偏好設定移轉至 Calendar Server 6.0。
本節說明以下內容:
移轉需求
從 Calendar Server 2.x 移轉至 6.0 需要以下硬體和軟體:
來源機器與目標機器可以是不同的伺服器,也可以是同一台伺服器。如需支援平台的清單,請參閱「Sun ONE Calendar Server 版次注意事項」。
移轉的內容
下表列出了 Calendar Server 2.x 資料,並說明了 ics2migrate 如何將資料移轉至 Calendar Server 6.0。
下表列出了 Calendar Server 2.x LDAP 屬性,並說明了 ics2migrate 如何將屬性移轉至 Calendar Server 6.0。
移轉程序
ics2migrate 步驟如下:
小心 執行 ics2migrate 之前,先使用一個公用程式 (例如 csbackup、Sun StorEdge Enterprise Backup 軟體或 Legato Networker®) 備份您的行事曆資料庫。
備份行事曆資料庫非常重要,因為 db_upgrade 會在目前目錄中升級該資料庫。如果升級期間發生問題,您的資料庫可能會無法回復。
升級 2.x 行事曆資料庫
Calendar Server 6.0 需要 Sleepycat Software 的 Berkeley DB 3.2.9 版。執行 ics2migrate 之前,必須使用 Berkeley DB db_recover 和 db_upgrade 公用程式將您的行事曆資料庫升級至 3.2.9 版。Calendar Server 6.0 在以下目錄中包括 Berkeley DB 公用程式:
cal_svr_base/opt/SUNWics5/cal/tools/unsupported/bin
如需有關 Berkeley DB 公用程式的更多資訊,請參閱以下網站:
http://www.sleepycat.com/docs/utility/index.html
若要將您的資料庫升級至 3.2.9 版,請:
- 在 Solaris 與其他 UNIX 系統上,以執行 Calendar Server 的使用者與群組身份登入,例如 icsgroup 與 icsuser。
- 如有必要,停止 2.x Calendar Server。
- 如果您尚未備份行事曆 2.x 資料庫,請進行備份。
- 從下列目錄中移除 (刪除) 所有舊的共用檔案 (_db_name.share) 或日誌檔 (log.*):
cal_svr_base/opt/SUNWics5/cal/lib/http
cal_svr_base/var/opt/SUNWics5/csdb
- 執行 db_upgrade 公用程式,將您的 2.x 行事曆資料庫升級至 3.2.9 版。如果您不在 2.x 行事曆資料庫所在的目錄中,請使用 -h 選項指向這些資料庫檔案。
註 您必須對所有的 2.x 資料庫檔案 (alarms.db、calprops.db、events.db 和 todos.db) 執行 db_upgrade。還必須在 Calendar Server 配置中的所有前端與後端伺服器上執行 db_upgrade,即使對沒有直接連線至行事曆資料庫的伺服器亦如此。
- 在包含資料庫檔案的 csdb 目錄中找到 Calendar Server 2.x caldb.conf 檔案,並變更檔案中的第一行,如下所示:
舊值:caldb.version "1.0.0 [BerkeleyDB]"
新值:caldb.version= "1.0.0 [BerkeleyDB]"
註 如果此檔案不在 csdb 目錄中,請使用文字編輯器建立該檔案,然後將第一行設定為新值。
移轉資料
請遵循下列步驟執行 ics2migrate:
- 移至 ics2migrate 所在的目錄。
- 使用 ics2migrate 語法中的語法執行 ics2migrate。
- 移轉後,請確定 ics.conf 檔案中的 caldb.berkeleydb.homedir.path 參數指向移轉資料庫。
- 執行 csdb check 指令,如有必要,執行 csdb rebuild 指令,重建行事曆資料庫。
ics2migrate 語法
移轉 Calendar Server 2.x 資料庫與 LDAP 使用者偏好設定
僅移轉 Calendar Server 2.x 資料庫
僅移轉 LDAP 使用者偏好設定
表格 3-3 列出了 ics2migrate 選項以及各選項的說明。
檢查移轉結果
完成移轉之後,請檢查下列結果:
移轉範例
同時移轉行事曆資料庫與 LDAP 使用者資訊
同時移轉 LDAP 使用者資訊與 Calendar Server 2.x 資料庫。Calendar Server 2.x 資料庫儲存在 /var/opt/SUNWicsrv/2x_db 中,6.0 資料庫儲存在 /var/opt/SUNWics5/50_db 目錄中。
可存取所有行事曆的排程與空閒/忙碌情形,並將最少的移轉統計資料記錄在名為 ics2migrate.log 的日誌檔中。
ics2migrate /var/opt/SUNWicsrv/2x_db /var/opt/SUNWics5/50_db -l min
在靜音模式下移轉
執行與上個範例相同的移轉動作,但是在靜音模式下執行。ics2migrate 不會在主控台上顯示移轉統計資料或產生日誌檔。
ics2migrate -q /var/opt/SUNWicsrv/2x_db /var/opt/SUNWics5/50_db
僅移轉行事曆資料庫
僅移轉儲存在 2x_db 目錄 (相對於目前目錄) 中的 2.x 行事曆資料庫,並且在 /var/opt/SUNWics5/50_db 目錄中建立一個 6.0 資料庫。
ics2migrate -m db 2x_db /var/opt/SUNWics5/50_db
僅移轉 LDAP 使用者資訊
僅將 Calendar Server 2.x LDAP 使用者資訊移轉為 6.0 版格式。
ics2migrate -m ldap
同時移轉行事曆資料庫與 LDAP 使用者資訊
同時移轉指定目錄中的 LDAP 與行事曆資料庫資訊。僅可存取每個使用者預設行事曆的排程,不能存取伺服器上所有行事曆的空閒/忙碌情形,並且不會在日誌檔中產生統計資料資訊。
ics2migrate -s def -f none 2x_db 50_db
ncs4migrate 公用程式本節描述了如何使用 ncs4migrate 移轉公用程式將 Netscape Calendar Server 4.x 行事曆資料移轉至 Sun ONE Calendar Server。
對於開發者 Corporate Software & Technologies Int. Inc. 而言,Netscape Calendar Server 4.x 行事曆也稱為 CS&T 行事曆。
如果您需要 ncs4migrate 公用程式的複本,請與您的 Sun 技術支援代表或帳號管理員聯絡。取得 ncs4migrate 之後,請將它複製到 cal_svr_base/opt/SUNWics5/cal/sbin 目錄中。
本節包含下列資訊:
移轉需求
移轉需要下列硬體與軟體:
來源機器與目標機器可以是不同的伺服器,也可以是同一台伺服器。如需支援平台的清單,請參閱「Sun ONE Calendar Server 版次注意事項」。
移轉的內容
下表說明了 ncs4migrate 如何將 Netscape Calendar Server 4.0 資料移轉至 Calendar Server 6.0。
移轉步驟
備份 Calendar Server 5.0 資料庫
建議您在移轉之前執行下列步驟,以確保行事曆資料庫的完整性:
準備移轉
在執行 ncs4migrate 公用程式之前,請在目標機器上執行下列步驟:
- 以超級使用者 (root) 的身份登入 (或成為超級使用者),或以具有系統管理員權限的使用者身份登入。
- 移至 cal_svr_base/opt/SUNWics5/cal/sbin 目錄。
- 建立名為 ncs4dirpaths.dat 的文字檔案,並指定 Netscape Calendar Server 4.0 資料庫的完全合格的目錄路徑。例如:
/apps/ncs/calendar/unison/db/nodes/N0/perm
若要尋找包含 Netscape Calendar Server 4.0 資料庫的目錄,請搜尋 unison.dbd 檔案。
如有必要,請滿足任何需求以使 ncs4migrate 能存取節點並讀取 Netscape Calendar Server 4.0 資料庫所在的目錄。
如需有關為多重節點上的資料建立 ncs4dirpaths.dat 檔案的資訊,請參閱從多重節點上移轉資料。
- 如果要移轉選取的使用者,請在 cal_svr_base/opt/SUNWics5/cal/sbin 目錄中建立一個名為 ncs4userfilter.dat 的使用者過濾檔案。ncs4userfilter.dat 是一個文字檔案,用於指定要移轉的使用者。每一行都用以下一種格式識別一個使用者:
- 確定 LDAP 伺服器正在執行。
- 若要避免移轉期間更新行事曆資料庫,請停止 Calendar Server。但是,Netscape Calendar Server 可以執行,也可以停止。
現在,您可以移轉 Netscape Calendar Server 4.0 資料了。
移轉資料
在目標機器上,執行下列步驟:
- 以超級使用者 (root) 或具有系統管理員權限的使用者身份登入,同時移至 cal_svr_base/opt/SUNWics5/cal/sbin 目錄 (如有必要)。
- 在指令行上鍵入 ncs4migrate。
ncs4migrate 公用程式即會顯示其歡迎功能表,其中包含表格 3-5 中顯示的選項。
註:儘管 ncs4migrate 會顯示 (E)xport 與 (I)mport 選項,但是它們不受支援,也不應該使用。
- 從 ncs4migrate 功能表,指定 S 選項以移轉所有使用者。或者,如果您要移轉使用者過濾檔案 (ncs4userfilter.dat) 中的特定使用者,請指定 O 選項。
- 監視移轉日誌檔以檢查移轉狀態。請參閱檢查移轉日誌檔,以取得更多資訊。
- 移轉完成之後,請依照檢查移轉資料所述檢查移轉行事曆資料庫。
從多重節點上移轉資料
若要從多重節點上移轉 Netscape Calendar Server 4.0 資料,請在目標機器上執行下列步驟:
- 以超級使用者 (root) 的身份或以具有系統管理員權限的使用者身份登入後,將 Netscape Calendar Server 4.0 資料庫目錄從各個節點複製到您要執行 ncs4migrate 的機器上。(每個 Netscape Calendar Server 4.0 目錄均應包含一個 unison.dbd 檔案。)
您也可以直接從各個節點移轉 Netscape Calendar Server 4.0 資料;但是,必須首先滿足所有需求以使 ncs4migrate 能存取其他節點上的 Netscape Calendar Server 4.0 資料。
- 移至 cal_svr_base/opt/SUNWics5/cal/sbin 目錄。
- 在 ncs4dirpaths.dat 檔案中,為所有節點上的資料指定目錄路徑名稱。例如,下列 ncs4dirpaths.dat 檔案包括三個節點的目錄路徑:
/apps/ncs/calendar/unison/db/nodes/N0/perm
/apps/ncs/calendar/unison/db/nodes/N1/perm
/apps/ncs/calendar/unison/db/nodes/N2/perm- 若要執行移轉公用程式,請在指令行上鍵入 ncs4migrate。
- 從 ncs4migrate 功能表,指定 S 選項以移轉所有使用者。或者,如果您要移轉使用者過濾檔案 (ncs4userfilter.dat) 中的特定使用者,請指定 O 選項。
- 監視移轉日誌檔以檢查移轉狀態。請參閱檢查移轉日誌檔,以取得更多資訊。
- 移轉完成之後,依照檢查移轉資料所述檢查移轉行事曆資料庫。
檢查移轉日誌檔
ncs4migrate 公用程式會在 cal_svr_base/opt/SUNWics5/cal/sbin 目錄中產生具有下列名稱的日誌檔:
ncs4migrate_yyyymmdd-hhmmss.log
其中,yyyymmdd-hhmmss 為指示移轉開始時間的時間標記。
如果 ncs4migrate 公用程式執行的時間太長,請檢查日誌檔的大小是否正在增加,若是則表示公用程式仍在執行中。
檢查移轉資料
移轉完成之後,請在目標機器上執行下列步驟:
csrename 公用程式csrename 公用程式將重新命名行事曆使用者,如下所示:
csrename 公用程式位於以下目錄中:
cal_svr_base/opt/SUNWics5/cal/sbin
執行 csrename 之前,您必須首先執行以下作業:
若要執行 csrename,必須以 icsuser 的身份 (或以配置期間指定的 Calendar Server 運行時間使用者 ID 的身份) 登入。如果您以超級使用者 (root) 的身份執行 csrename,則可能需要重設新資料庫檔案的權限。若要修改 LDAP 目錄伺服器屬性,還必須具有該目錄的管理權限。
如果您具有前端/後端伺服器配置,則必須在每個後端伺服器上執行 csrename。
csrename 語法
請使用以下語法來執行 csrename:
-t DestinationDB 指定 csrename 產生包含轉換的使用者名稱的新資料庫所在的目標目錄。預設值為 MigratedDB。
csrename 完成後,ics.conf 檔案中的 caldb.berkeleydb.homedir.path 參數必須指向目標資料庫。可以重設 caldb.berkeleydb.homedir.path 以指向目標資料庫目錄,也可以將目標資料庫檔案移至該參數所指定的目錄。
-c ConfigFile 為輸入參數,用於指定 Calendar Server 配置檔案。預設值為 ics.conf 檔案。
csrename 使用配置檔案中的 caldb.berkeleydb.homedir.path 參數決定輸入行事曆資料庫的位置。行事曆資料庫的預設位置為 cal_svr_base/var/opt/SUNWics5/csdb。
-e ErrorFile 是 csrename 寫入所有錯誤或無法解決的資料庫項目的檔案。預設值為 MigrateError。
-m MappingFile 指定輸入對映檔案。預設值為 MigrateMapping。
輸入對映檔案是文字檔案,可將現有使用者 ID 對映至新使用者 ID。
執行 csrename 之前,必須先建立對映檔案。每一行指定一個項目,新舊值之間用空格分隔。例如:
tchang tc897675
jsmith js963123
...
bkamdar bk548769DB|LDAP 指定要進行更新的資料庫:
csrename 範例