AlwaysOnは、高可用性と災害復旧技術の両方の機能の集合体である、それは、データベース全体の一つ以上のフェイルオーバーをサポートし、それはそれは、ある程度の負荷分散は、プライマリサーバへの圧力を減らす最もている実装します良いオプション。極端な状況が発生したときに、クラスタノードの大部分がハングアップされ、マスター・ノード・サーバ・データベースはまた、ハングアップに存在します。これは、Windowsクラスタが失敗したときで、まだどのように迅速にいくつかの存続ノード、サービスを引き継ぐために、データベースを選択します。
1:テストの目的
他の残りのサーバーノードが回復保留中の状態になるには、あまりにも、クラスタ全体が失敗になります、この時間DBデータベースはなり誤動作・ノード・サーバーにWindowsフェールオーバークラスターは、それを使用することはできません。次のテストノードは粘り強いで、高速リカバリのためのデータベースが利用できるようにする状態を選ぶまだ生きています。
2:テスト環境
ノード1 | ノード1 | ノード1 | CLUSTERIP | ListenerIP |
172.XXX.XXX.112 | 172.XXX.XXX.113 | 172.XXX.XXX.114 | 172.XXX.XXX.115 | 172.XXX.XXX.117 |
ALWAYSONTEST01 | ALWAYSONTEST02 |
ALWAYSONTEST03 | ||
プライマリ;同期コミット | セカンダリ;同期コミット |
セカンダリ;非同期コミット |
以下を参照して、この時点ではマスターノードをログに記録します。
各ノードは正常に動作しています。
3:試験手順
ステップ1:2つのノード(XXX.112; XXX.113)閉じるので、Windowsクラスタ失敗、PingのクラスタIPタイムアウト表示。
----残り172.XXX.XXX.114は、非同期のコピーを保持します。
Step 2:登入唯一的存活的节点172.XXX XXX.114,SQL 显示错误如下:
Step 3:刷新DB,查询可用性组和DB的状态已分别处于Resolving 和Recovery Pending,数据库不可用。
此时Listener IP 也不可用
Step 4: 查看对应的Cluster 服务对应的Service Name
(Server ManageràLocal ServeràServices)
或(Server ManageràToolsàComponent ServicesàServices)
Step5:手动停止群集服务
---- net.exe stop Cluster_Name(实为Service name)
成功关闭后172.XXX.XXX.115无法Ping 通
Step6:在单一节点上使用强制仲裁,藉以启动WSFC群集
---- net.exestart Cluster_Name/forcequorum
成功启动后Cluster IP 可以Ping 通;Listener IP 无法Ping 通
通过FailOver Cluster Manger 查看节点和AG的状态如下:
下图为各节点状态;
下图为高可用性组的状态
Step 7:重启SQL Serveice 服务
----(个别情况下:首先,Disable后restart,然后再Enable后restart)
Step 8:执行可用性群组的强制性手动容错转移
---- ALTER AVAILABILITY GROUP group_name FORCE_FAILOVER_ALLOW_DATA_LOSS (其中 group_name 是可用性组的名称)
Step 9:可用性组的状态变为Primary状态,DB显示同步,listener IP也为可用
4:补充说明
此时Restart测试过程中关闭的节点(XXX.112;XXX.113),部署其上的DB显示Not Synchronizing。
本文版权归作者所有,未经作者同意不得转载,谢谢配合!!!