ArcGIS Server 9
分佈式部署
作者:向華
日期:2007-01-18
摘要
本文詳細介紹如何將ArcGIS Server 9系列產品(已驗證9.0/9.1版本),部署於Windows域環境下,從而實現SOM(Server Object Manager)和SOC(Server Object Container)的分佈特性。
本文價值
ArcGIS Server 9系列產品採用了面向服務的企業級應用系統架構。爲應對企業級應用的高性能要求,ArcGIS Server提供了基於DCOM的負載平衡方法。但實施部署時往往遇到困難,所以本文將對部署過程進行說明。
場景
以Windows Server 2003操作系統和ArcGIS Server 9.0軟件版本爲例,進行部署過程說明。現假設兩臺服務器分別爲A B。其中A被配置成Windows域控制器,將SOM和SOC分別部署在A B兩臺服務器中。
ArcGIS Server部署
部署結構
ArcGIS Server系列產品進行分佈部署時,系統安全性依賴Windows域的支持。以經過Windows域授權的用戶身份運行ArcGIS Server SOM/SOC,並以具有訪問SOM/SOC權限的用戶身份運行ArcGIS Catalog,才能夠管理ArcGIS Server。
ArcGIS Server的部署結構圖如下:
部署流程
建立Windows域
建立一個Windows域,需要一臺Window 2000或者Windows Server 2003服務器,提供DNS域名服務並升級爲域控制器。
n DNS域名服務器
在A服務器上安裝DNS域名服務:啓動“添加/刪除Windows組件”程序,選中“網絡服務→域名系統(DNS)”,安裝即可。
安裝完成後配置DNS,爲本DNS服務賦予一個合適的域名如“apple.dcqtech.com”,可爲DNS配置一個上級轉發DNS,本DNS無法解析的IP將轉發到上級DNS進行解析。
最後將本機的DNS服務器IP指向本機,以後其他加入到域中的計算機都需要將本DNS服務器設置爲它們的主DNS服務器。
n 域控制器
啓動A服務器“windows/system32/dcpromo.exe”域管理程序,該程序可用於新建和刪除域控制器。
創建域控制器時會將當前服務器上的管理員administrator用戶提升爲域管理員用戶,而當前服務器上的其他非管理員用戶也會被自動提升爲域用戶,對於本計算機的資源來說用戶對應的權限未發生改變。
域控制器安裝成功後,將另外一臺B服務器加入到A服務器管理的Windows域中。
安裝ArcGIS Server
根據部署的要求,將在A B兩臺服務器上安裝ArcGIS Server,其中A服務器作爲主要服務器將部署完整的SOM/SOC組件,B服務器只需部署SOC組件。
1. 安裝過程
安裝ArcGIS Server的方法分爲兩個步驟:
n 第一步,複製文件到計算機,按默認選項進行復制即可;
n 第二步,進行Post Installation。該程序運行界面如下:
Post Installation嚮導程序將在當前計算機上安裝SOM和SOC,並進行授權認證。經過授權認證的服務器才能夠運行SOC。
Post Installation嚮導程序接着將提示輸入SOM和SOC在本機運行時使用的用戶帳號和密碼。在這裏設置的用戶帳戶可以是已有帳戶也可以是新帳戶(可爲本地帳戶或域帳戶),嚮導程序會將SOM帳戶加入到本地agsadmin組、將SOC帳戶加入到本地agsusers組,同時還需要手動將桌面登錄用戶加入到這兩個組中。這兩個組實際控制SOM和SOC的訪問限制。關於權限配置問題後續章節還將詳細介紹。
值得注意的是,如果不需要安裝SOM而只安裝SOC,可使用命令行“arcgis/bin/ServerPostInstall.exe /containeronly”進行安裝,詳細的參數說明見其幫助文檔。
Post Installation之後還將提示用戶進行認證等,依次安裝即可。
2. 測試安裝
Post Installation安裝完成後,通過ArcGIS Catalog測試本機ArcGIS Server是否安裝成功。
打開ArcGIS Catalog,點擊“GIS Server→Add ArcGIS Server”,出現如下對話框:
輸入本機名稱或“localhost”後,點擊確認後即可連接。此時可能出現的錯誤是提示無法連接,很有可能是由於用戶權限問題造成,可檢測一下當前桌面登錄用戶是否隸屬於agsadmin組和agsusers組。
連接成功後可對該服務器進行配置,通過Server Properties選項激活配置界面,如下圖所示:
可設置分佈式SOC(Host標籤)、url出圖虛擬目錄(Directories標籤)等,請參考後續章節和相關文檔瞭解詳情。
配置域用戶安全策略
域用戶安全策略可由下圖進行概括(圖中各個Server爲邏輯劃分):
n 將ArcGIS Web Services Account提升爲Domain ArcGIS Web Services Account域用戶。
n 將SOM Account提升爲Domain SOM Account域用戶。
n 將SOC Account提升爲Domain SOC Account域用戶
n 在部署有WebServer的服務器上,將Domain ArcGIS Web Services Account域用戶和Domain Admin Users Group域管理用戶組加入到本地Administrators組中。
n 在部署有SOMServer的服務器上,將Domain ArcGIS Web Services Account域用戶、Domain SOM Account域用戶和Domain Admin Users Group域管理用戶組加入到本地agsadmin組。
將Domain ArcGIS Web Services Account域用戶、Domain SOC Account域用戶和Domain Users Group域管理用戶組加入到本地agsusers組。
配置對應的目錄訪問權限和DCOM訪問權限,關於DCOM訪問權限的配置見後續章節。
n 在部署有SOCServer的服務器上,將Domain ArcGIS Web Services Account域用戶、Domain SOM Account域用戶和Domain Admin Users Group域管理用戶組加入到本地agsadmin組。
將Domain ArcGIS Web Services Account域用戶、Domain SOC Account域用戶和Domain Users Group域管理用戶組加入到本地agsusers組。
配置對應的目錄訪問權限和DCOM訪問權限,關於DCOM訪問權限的配置見後續章節。
在A服務器上,作爲域控制器,可使用“管理工具”中的“Active Directory用戶和計算機工具”進行域用戶安全策略的配置。如下圖所示:
Windows域中,具有域管理員權限的用戶可以在任何一臺安裝Windows2000以上版本操作系統和管理工具包的計算機上對域中的用戶和計算機權限進行設置。關於域的配置問題請參考MCSE 相關文檔。
如需要在域控制器上直接修改域中某臺計算機的本地用戶權限,例如在A上直接修改B服務器的本地用戶權限,將Domain SOM Account加入到B本地的agsadmin組中,方法如下圖所示:
配置DCOM安全策略
域用戶安全策略圖中顯示,在SOMServer和SOCServer中需要將對應的DCOM組件訪問權限授予合法用戶和組。
整個ArcGIS Server基於DCOM架構,從表現來說,建立Windows域就是爲了能夠通過域集成權限管理DCOM訪問安全性。
在SOMServer和SOCServer服務器上,分別存在名爲ArcSOM和ArcSOC的DCOM組件。通過“管理工具”中的“組件服務”工具進行權限配置(或在“運行”中輸入“dcomcnfg”激活該工具)。工具界面如下圖所示:
通過設置DCOM組件的訪問權限,可爲域用戶賦予合法的身份。在基於DCOM的分佈式環境中核心安全問題即是如何爲DCOM組件設置訪問權限,配置合理的域用戶和組是這一設置過程的前提。在ArcGIS Server部署成功後,也可能在應用過程中遇到DCOM權限問題,可參考本文處理。
連接ArcGIS Server
域用戶和DCOM安全策略配置成功後,可通過ArcGIS Catalog連接ArcGIS Server。連接成功後,可通過設置ArcGIS Server SOM屬性來添加異地的SOC。請注意一個SOM可以同時管理多個SOC,但一個SOC只能同時被一個SOM管理。例如在A B服務器上都安裝了SOM和SOC,如果A SOM要管理B SOC,就必須先將B SOM默認管理的B SOC刪除。配置界面如下圖所示:
點擊確認後,如系統提示“訪問受限制”類似的消息,請檢查目標服務器的DCOM訪問權限是否授予了本地運行SOM的帳戶和運行Arc Catalog的帳戶。
結論
通過安裝和權限配置,可將ArcGIS Server部署於分佈式環境中。多臺服務器上運行SOC能夠有效分擔負載,提高系統性能。
思考
實現了SOM和SOC在Windows域中的分佈式部署,基於DCOM的程序能夠順利運行。但分佈式部署中還有很多具體問題需要設計和處理,例如如何保證所有的SOC訪問數據的一致性,訪問ArcSDE或者訪問本地文件都應有各自的處理方式。這些問題目前尚未能一一進行實踐處理,在後續的開發過程中還將繼續總結。
參考資料
1. ESRI,EDN,Configuring a distributed installation of ArcGIS Server,
http://webhelp.esri.com/arcgisserver/9.2/dotNet/manager/administration/distributed_install.htm
2. ESRI,EDN,Planning an ArcGIS Server site configuration,
http://edndoc.esri.com/arcobjects/9.0/ArcGISServer/HelpPages/Server_site_config.htm