近日在做災備切換項目時(shí),客戶(hù)的系統中有微軟的“故障轉移群集管理器”軟件,這是我頭一次接觸這種冷門(mén)軟件,客戶(hù)方面的運維人員都是手工管理這個(gè)軟件中的服務(wù),而我們的災備自動(dòng)化切換需要通過(guò)命令方式來(lái)對群集、服務(wù)做啟停、改ip地址。
查閱網(wǎng)上文檔,得知需要用cluster命令來(lái)實(shí)現,可參考一位博友的文檔
https://blog.csdn.net/jaminwm/article/details/8008895/
這是一張故障轉移群集管理器的截圖,展示了群集、群集中的服務(wù)和應用程序、節點(diǎn)、網(wǎng)絡(luò )。
群集名稱(chēng)是my12cluster,群集的IP地址需要通過(guò)命令方式進(jìn)行修改,后面介紹修改的命令。
這是服務(wù)和應用程序my12AG的基本信息截圖,服務(wù)的IP地址要通過(guò)命令進(jìn)行修改,后面介紹修改的命令。
幾經(jīng)周折和反復試驗,終于找到了對故障轉移群集管理器中的服務(wù)做啟停、改ip地址的命令方法,這里來(lái)記錄下。
1. 停止群集和服務(wù)
使用命令 cluster resource ResourceName /off
- C:\Windows\System32\cluster resource '群集 IP 地址' /off
- C:\Windows\System32\cluster resource '群集名稱(chēng)' /off
- C:\Windows\System32\cluster resource 'my12AG' /off
- C:\Windows\System32\cluster resource 'my12AG_10.0.128.185' /off
- C:\Windows\System32\cluster resource 'my12AG_my12sql-db' /off
啟動(dòng)的結果輸出:
正在將資源“群集 IP 地址”脫機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
群集 IP 地址 群集組 my12sql-db02 脫機
正在將資源“群集名稱(chēng)”脫機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
群集名稱(chēng) 群集組 my12sql-db02 脫機
正在將資源“my12AG”脫機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
my12AG my12AG my12sql-db02 脫機
正在將資源“my12AG_my12sql-db”脫機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
my12AG_my12sql-db my12AG my12sql-db02 脫機
正在將資源“my12AG_10.0.128.185”脫機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
my12AG_10.0.128.185 my12AG my12sql-db02 脫機
2. 修改群集和服務(wù)的IP地址
使用命令 cluster resource ResourceName /priv address=IPAddress subnetmask=AddressMask
- C:\Windows\System32\cluster resource '群集 IP 地址' /priv address=10.7.128.184 subnetmask=255.255.255.0
- C:\Windows\System32\cluster resource 'my12AG_10.0.128.185' /priv address=10.7.128.185 subnetmask=255.255.255.0
3. 啟動(dòng)群集和服務(wù)
使用命令 cluster resource ResourceName /on
- C:\Windows\System32\cluster resource '群集 IP 地址' /on
- C:\Windows\System32\cluster resource '群集名稱(chēng)' /on
- C:\Windows\System32\cluster resource 'my12AG' /on
- C:\Windows\System32\cluster resource 'my12AG_my12sql-db' /on
- C:\Windows\System32\cluster resource 'my12AG_10.0.128.185' /on
啟動(dòng)的結果輸出:
正在將資源“群集 IP 地址”聯(lián)機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
群集 IP 地址 群集組 my12sql-db02 聯(lián)機
正在將資源“群集名稱(chēng)”聯(lián)機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
群集名稱(chēng) 群集組 my12sql-db02 聯(lián)機
正在將資源“my12AG”聯(lián)機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
my12AG my12AG my12sql-db02 聯(lián)機
正在將資源“my12AG_my12sql-db”聯(lián)機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
my12AG_my12sql-db my12AG my12sql-db02 聯(lián)機
正在將資源“my12AG_10.0.128.185”聯(lián)機...
資源 組 節點(diǎn) 狀態(tài)
-------------------- -------------------- --------------- ------
my12AG_10.0.128.185 my12AG my12sql-db02 聯(lián)機
4. 檢查群集和服務(wù)是否是脫機狀態(tài)
通過(guò)一個(gè)批處理,將服務(wù)的狀態(tài)中有“脫機”關(guān)鍵字的信息寫(xiě)入一個(gè)文本,然后判斷文件文件中字符串行數是否是5,表示所有服務(wù)都是脫機狀態(tài)。
如果要檢查是否是聯(lián)機狀態(tài),把find關(guān)鍵字換成“聯(lián)機”。
- @echo off
- C:\Windows\System32\cluster resource '群集 IP 地址' /status < nul | find '脫機' >> cluster_off_check.txt
- C:\Windows\System32\cluster resource '群集名稱(chēng)' /status < nul | find '脫機' >> cluster_off_check.txt
- C:\Windows\System32\cluster resource 'my12AG' /status < nul | find '脫機' >> cluster_off_check.txt
- C:\Windows\System32\cluster resource 'my12AG_10.0.128.185' /status < nul | find '脫機' >> cluster_off_check.txt
- C:\Windows\System32\cluster resource 'my12AG_my12sql-db' /status < nul | find '脫機' >> cluster_off_check.txt
- for /f 'delims=' %%b in (cluster_off_check.txt) do (echo %%b)
- SETLOCAL ENABLEDELAYEDEXPANSION
- SET lines=0
- FOR /F 'tokens=* delims=' %%i IN (cluster_off_check.txt) DO (SET /A lines = !lines! + 1)
- echo offline cluster resource count: %lines%
- rem 5個(gè)服務(wù)是否都是脫機狀態(tài)
- if %lines% EQU 5 (echo OK, 群集服務(wù)和應用都已脫機) else (echo ERROR, 有群集服務(wù)和應用聯(lián)機,請檢查)
- del cluster_off_check.txt
啟動(dòng)的結果輸出:
群集 IP 地址 群集組 my12sql-db02 聯(lián)機
群集名稱(chēng) 群集組 my12sql-db02 聯(lián)機
my12AG my12AG my12sql-db02 聯(lián)機
my12AG_10.0.128.185 my12AG my12sql-db02 聯(lián)機
my12AG_my12sql-db my12AG my12sql-db02 聯(lián)機
running cluster resource count: 5
OK, 群集服務(wù)和應用都已聯(lián)機
聯(lián)系客服