最近发现windows集群能进行很多自定义,比如在集群中加入自己编写的服务。
能自定义的可不少,截个图:
本次演示中,只想用“通用服务”这个类型。
- 先列下步骤
-
- 编写一个记录时间的Windows服务,这个服务会每隔1秒钟写入本地文件当前时间
- 在两台加入了windows集群的服务器中分别安装这个服务(安装即可,不用启动)
- 在windows集群中配置一个新服务,也就是上面这个服务
- 进行故障转移试验
- 编写一个记录时间的Windows服务,这个服务会每隔1秒钟写入本地文件当前时间
这个的代码略,没啥可说的,把安装服务、卸载服务的cmd列下面了(InstallUtil.exe需要根据情况从相应的.net framework目录下找)
我的demo项目会生成如下文件:
- 在两台加入了windows集群的服务器中分别安装这个服务(安装即可,不用启动)
将输出的文件拷贝过去,然后double click install.bat,搞定后会看到服务列表最后多了1个名叫“时间记录器”的服务(两台server都要安装)
- 在windows集群中配置一个新服务,也就是上面这个服务
至此,集群服务增加完成,可以看到2个server中的一个节点已经自动运行服务了(另外一个节点上的服务处于停止状态):
- 进行故障转移试验
我们来手动切换服务运行的节点吧:
切换完成后,服务状态会和原先的倒过来,图略,我们来看看日志:
可以看到,切换所损耗的时间为13秒(看性能...)