最近發現windows集群能進行很多自定義,比如在集群中加入自己編寫的服務。
能自定義的可不少,截個圖:
本次演示中,只想用“通用服務”這個類型。
- 先列下步驟
-
- 編寫一個記錄時間的Windows服務,這個服務會每隔1秒鍾寫入本地文件當前時間
- 在兩台加入了windows集群的服務器中分別安裝這個服務(安裝即可,不用啟動)
- 在windows集群中配置一個新服務,也就是上面這個服務
- 進行故障轉移試驗
- 編寫一個記錄時間的Windows服務,這個服務會每隔1秒鍾寫入本地文件當前時間
這個的代碼略,沒啥可說的,把安裝服務、卸載服務的cmd列下面了(InstallUtil.exe需要根據情況從相應的.net framework目錄下找)
我的demo項目會生成如下文件:
- 在兩台加入了windows集群的服務器中分別安裝這個服務(安裝即可,不用啟動)
將輸出的文件拷貝過去,然后double click install.bat,搞定后會看到服務列表最后多了1個名叫“時間記錄器”的服務(兩台server都要安裝)
- 在windows集群中配置一個新服務,也就是上面這個服務
至此,集群服務增加完成,可以看到2個server中的一個節點已經自動運行服務了(另外一個節點上的服務處於停止狀態):
- 進行故障轉移試驗
我們來手動切換服務運行的節點吧:
切換完成后,服務狀態會和原先的倒過來,圖略,我們來看看日志:
可以看到,切換所損耗的時間為13秒(看性能...)