逐步解說:叢集單一伺服器部署
這個案例顯示如何使用 Microsoft Windows 驗證,在容錯移轉叢集上部署 Notification Services 執行個體。這個組態和先前討論的單一伺服器部署案例相似,但提供容錯移轉叢集的更高可用性。一般而言,針對需要高度可用性的中小型應用程式可以使用這個案例。如需有關容錯移轉叢集和 Notification Services 的詳細資訊,請參閱<使用容錯移轉叢集搭配 Notification Services>。
附註: |
---|
這個逐步解說提供如何在容錯移轉叢集上部署 Notification Services 的範例,並假設您熟悉容錯移轉叢集。使用的伺服器名稱和編號僅供範例使用。請使用這個主題的程序作為開發及測試部署指示的方針。 |
下列圖例將顯示這個部署狀況的硬體組態。這個組態有兩部伺服器 (名稱是 NS1 和 NS2),每一部都安裝了 Notification Services 和 SQL Server Database Engine。執行 Notification Services 引擎的 NS$instanceName Windows 服務是設成叢集的「一般服務」,可在需要時容錯轉移到另一部伺服器。
這個組態會將共用的磁碟機用於叢集仲裁資源、所有的資料庫檔案及所有的運作檔案。共用磁碟機可讓叢集存取磁碟機,而無需考慮叢集中哪一部伺服器在作用中。
必要條件
在容錯移轉叢集上部署 Notification Services 執行個體之前,請先確認所有必要條件均滿足:
您熟悉 Windows 叢集和容錯移轉叢集上 SQL Server 的使用。
您已於 NS1 和 NS2 上安裝支援容錯移轉叢集的 Windows 伺服器作業系統,且已套用所有可套用的 Service Pack 和更新。
「Windows 叢集服務」已安裝並正在 NS1 和 NS2 上執行。
您有一個叢集群組資源 (這個逐步解說中稱為 NSGroup),它包含下列資源:
NSGroup 資源 描述 網路名稱:NSCluster
伺服器叢集的網路名稱。
IP 位址
叢集 IP 位址。
實體磁碟 K
包含 Notification Services 來源檔案和通知應用程式資料檔案的磁碟。
如果 SQL Server 資源位於同一叢集群組,請定義其他磁碟 (見上圖的 G、H、I、J)。
附註: 上面所示的磁碟機對應僅供這個逐步解說使用。您可以選擇您自己的名稱和磁碟機對應。 您已於叢集的兩個節點上安裝了 SQL Server Database Engine 執行個體,建立了 SQL Server 虛擬伺服器。SQL Server 安裝的叢集資源可位於 Notification Services 資源的相同叢集群組或其他叢集群組中。
如需有關在容錯移轉叢集上安裝 Database Engine 的詳細資訊,請參閱<容錯移轉叢集>。
叢集仲裁、資料庫檔案、記錄檔案和 tempdb 檔案必須在不同的磁碟上,如上圖所示。執行這些程序所使用的帳戶具有伺服器的管理員權限,且是 SQL Server 中系統管理員 (sysadmin) 固定伺服器角色的成員。
您或您的網域管理員已為 Notification Services 引擎建立帳戶。針對這個逐步解說,帳戶名稱是 DOMAIN\NSService。
您可以為需要部署和執行 Notification Services 執行個體的檔案建立必要的檔案共用。
您也授與必要的共用權限給您的帳戶和 DOMAIN\NSService 帳戶。如果遠端伺服器上有任何 Notification Services 引擎元件或用戶端應用程式,請確定 Database Engine 上已啟用 TCP/IP 或具名管道網路通訊協定。在 Microsoft SQL Server 2005 中,依預設會停用這些網路通訊協定。如需詳細資訊,請參閱<SQL Server 介面區組態>。
部署概觀
在這個部署逐步解說中,您將在主要伺服器 NS1 上執行下列工作:
- 安裝 Notification Services。
- 為部署和執行階段檔案對應網路磁碟機並建立叢集檔案共用資源。
- 授與 Windows 權限給 NSService 帳戶。
- 建立和啟用 Notification Services 執行個體。
- 註冊 Notification Services 執行個體,此舉會建立執行 Notification Services 引擎的 Windows 服務。
- 使用「叢集管理員」,建立在容錯移轉叢集上執行 Windows 服務的「一般服務」。
- 授與資料庫權限給 Windows 帳戶。
附註: Notification Services 也支援 SQL Server 驗證。 可能的話,請使用「Windows 驗證」。
接著您可以在叢集中的其他伺服器 (本範例中是單一伺服器 NS2) 上執行下列步驟:
- 安裝 Notification Services。
- 為部署和執行階段檔案對應網路磁碟機。
- 將 Notification Services 引擎的帳戶加入本機使用者群組中。
- 註冊 Notification Services 執行個體,此舉會建立執行 Notification Services 引擎的 Windows 服務。
準備好在叢集上啟動 Notification Services 執行個體時,請啟動「一般服務」叢集資源。
第一部伺服器 (NS1) 工作
在叢集中的伺服器 NS1 上執行下列工作。
步驟 1:將叢集群組移到 NS1
請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。
在左窗格中,展開 [群組]。
選取 [NSGroup],再查看右側窗格中的 [擁有者] 資料行。
如果 [擁有者] 欄位指出另一部伺服器擁有叢集群組,請在 NSGroup 上按一下滑鼠右鍵,再按 [移動]。
NSGroup 資源現在已經在 NS1 上。
步驟 2:安裝 Notification Services
安裝 Notification Services。您可以安裝其他元件,但這些元件不是必要的。
如需詳細資訊,請參閱<安裝 SQL Server Notification Services>。
步驟 3:建立檔案共用資源和對應網路磁碟機
使用 [叢集系統管理員] 為來源和資料檔案建立檔案共用資源。如需詳細資訊,請參閱「叢集系統管理員」文件集。
對應網路磁碟機到這些檔案共用。如需有關對應網路磁碟機的詳細資訊,請參閱您的 Windows 文件集。
步驟 4:將 Windows 權限授與 DOMAIN\NSService 帳戶。
在 [開始] 功能表中,依序指向 [程式集]、[Microsoft SQL Server 2005] 和 [Notification Services],再按一下 [Notification Services 命令提示字元] 來開啟 [Notification Services 命令提示字元] 視窗。
將 DOMAIN\NSService 帳戶加入本機使用者群組中。在命令提示字元下,輸入下列 net localgroup 命令:
net localgroup users DOMAIN\NSService /add
如需有關將帳戶加入本機群組的詳細資訊,請參閱您的 Windows 文件集。
步驟 5:建立和啟用 Notification Services 執行個體
在命令提示字元下,輸入下列命令來建立執行個體和應用程式資料庫:
nscontrol create -in "Path\ICFName"
根據組態檔,您可能需要提供其他命令列引數和參數。
輸入下列命令來啟用執行個體:
nscontrol enable -nameinstanceName-servervirtualDatabaseServer
步驟 6:註冊 Notification Services 執行個體
在開啟的 [命令提示字元] 視窗中,輸入下列命令:
nscontrol register -name instanceName -server virtualDatabaseServer
-service -serviceusername DOMAIN\NSService-servicepassword****"password"**
這個命令完成時,本機電腦上就會出現一個名叫 NS$instanceName 的 Windows 服務。
附註: |
---|
如果使用 SQL Server 驗證,在註冊執行個體時須提供 SQL Server 登入和密碼,然後授與權限給 SQL Server 登入。如需詳細資訊,請參閱<nscontrol register 命令>。 |
步驟 7:建立一般服務資源
請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。
開啟 [群組]。
在 NSGroup 上按一下滑鼠右鍵,指向 [新增] ,然後再按 [資源]。
在 [新資源] 頁面輸入下列資訊:
名稱:instanceName
資源類型:一般服務
群組:NSGroup
在 [可能的擁有者] 頁面上,選取 [可用的節點] 清單中的 NS1 及 NS2 後,再按一下 [新增] 將它們移至 [可能的擁有者] 清單。
在 [相依性] 頁面上,選取 [可用的資源] 清單中的 NSCluster 網路名稱資源後,再按一下 [新增] 將其移至 [資源相依性] 清單中。
在 [一般服務參數] 頁面上,輸入下列資訊:
服務名稱:**NS$**instanceName
選取 [使用網路名稱作為電腦名稱] 核取方塊。
在 [登錄複寫] 頁面上,按一下 [完成]。
步驟 8:授與資料庫權限
輸入下列命令為 DOMAIN\NSService 帳戶建立 SQL Server 登入:
sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\NSService] FROM WINDOWS;"
輸入下列命令,將執行個體資料庫的存取權,授與 DOMAIN\NSService 帳戶,並且將該帳戶加入 NSRunService 資料庫角色中:
sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;
** CREATE USER [DOMAIN\NSService];**
** EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"**
輸入下列命令來授與 DOMAIN\NSService 帳戶對應用程式資料庫的存取權,並將帳戶加入 NSRunService 資料庫角色中:
sqlcmd -E -S databaseServer -Q "USE applicationDatabase**;**
** CREATE USER [DOMAIN\NSService];**
** EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"**
如果執行個體主控許多應用程式,請重複這個步驟來處理每個應用程式資料庫。
關閉 [命令提示字元] 視窗。
重要事項: |
---|
請勿在此時讓「一般服務」連線;將「一般服務」連線之前,請先設定 NS2。 |
其他伺服器 (NS2) 工作
在伺服器 NS2 上執行下列工作。
步驟 1:將叢集群組移到 NS2
請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。
在左窗格中,展開 [群組]。
選取 [NSGroup],再查看右側窗格中的 [擁有者] 資料行。
如果 [擁有者] 資料行指出 NS1 擁有叢集群組,請在 NSGroup 上按一下滑鼠右鍵,再按 [移動]。
NSGroup 資源現在已經在 NS2 上。
步驟 2:安裝 Notification Services
安裝 Notification Services。您可以安裝其他元件,但部署不需要其他元件。
如需有關安裝元件的詳細資訊,請參閱<安裝 SQL Server Notification Services>。
步驟 3:對應網路磁碟機
- 執行與在 NS1 所做相同、連到 NSSourceFiles 和 NSDataFiles 的網路磁碟機對應。如需有關對應網路磁碟機的詳細資訊,請參閱您的 Windows 文件集。
步驟 4:將 Windows 權限授與 DOMAIN\NSService 帳戶。
在 [開始] 功能表中,依序指向 [程式集]、[Microsoft SQL Server 2005] 和 [Notification Services],再按一下 [Notification Services 命令提示字元] 來開啟 [Notification Services 命令提示字元] 視窗。
將 DOMAIN\NSService 帳戶加入本機使用者群組中。在命令提示字元下,輸入下列 net localgroup 命令:
net localgroup users DOMAIN\NSService /add
如需有關將帳戶加入本機群組的詳細資訊,請參閱您的 Windows 文件集。
步驟 5:註冊 Notification Services 執行個體
在 [開始] 功能表上,依序指向 [程式集]、[Microsoft SQL Server 2005] 和 [Notification Services],然後按一下 [Notification Services 命令提示字元] 來開啟 Notification Services [命令提示字元] 視窗。
在 [命令提示字元] 視窗中,輸入下列命令:
nscontrol register -name instanceName -server virtualDatabaseServer
-service -serviceusername DOMAIN\NSService-servicepassword****"password"**
Notification Services 的執行個體現已在叢集完成部署和啟用。您可以加入訂閱者和訂閱並提交事件,但在讓「一般服務」連線之前,執行個體不會產生通知。讓「一般服務」連線的討論如下。
啟動 Notification Services 執行個體
準備好讓執行個體啟動產生通知前,請先讓「一般服務」連線。
讓一般服務連線
請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。
在左窗格中,展開 [群組]。
選取 NSGroup。
如果您想將叢集群組移回 NS1,請在 [NSGroup] 上按一下滑鼠右鍵,再選取 [移動]。
在右側窗格中的 [一般服務] 上按一下滑鼠右鍵,再按 [立即線上工作]。
如需詳細資訊,請參閱<啟動與停止 Notification Services 的執行個體>。
疑難排解
如果應用程式沒有產生通知,在 Notification Services 命令提示字元執行下列命令,來檢查執行個體狀態:
nscontrol status-name instanceName
確認所有元件正在預期的伺服器上執行,而且是在「已啟用」狀態。如需詳細資訊,請參閱<檢視執行個體、應用程式與元件的狀態>。
同時請檢查 Windows 應用程式記錄檔中是否有任何錯誤。如需詳細資訊,請參閱<Notification Services 疑難排解>。
請參閱
概念
部署 Notification Services 的執行個體
部署非裝載的事件提供者
部署訂閱管理介面
其他資源
nscontrol create 命令
nscontrol enable 命令
nscontrol register 命令
sqlcmd 公用程式