首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

两台服务器,一主一备,怎么保证备机启用时主机服务一定断开

2012-03-22 
两台服务器,一主一备,如何保证备机启用时主机服务一定断开由于成本控制等原因,双机热备这一块要自己实现,

两台服务器,一主一备,如何保证备机启用时主机服务一定断开
由于成本控制等原因,双机热备这一块要自己实现,好在数据库、存储那里已经不用我管了,我只需要负责在我自己的这几个工作进程挂掉的情况下,切换到备机(考虑到可靠性,这里就不尝试重启进程,而是直接切到备机)。

大体的方案就是类似于“心跳线”这样的,主机向备机发送确认信息,确认自己工作正常,如果一定时间内主机无响应或者发过来“我已经出错了”这样的信息,备机上的工作进程启动,主机断开服务。

这里比较麻烦的地方就是,如何保证主机的服务一定会断开(因为主机那边出问题的情况可能多种多样,如果放着不管,万一主机又一定程度上自己“恢复”了,两台机器上的服务可能会冲突),诸位有没有什么方案。

我没什么双机热备和多台服务器管理的经验,主机切备机一般是怎么做的?是将备机IP改成主机的,还是怎么样?

[解决办法]
同没有经验的飘过~

比较极端的办法:把主服务器的电源断掉?
[解决办法]

探讨
引用:

同没有经验的飘过~

比较极端的办法:把主服务器的电源断掉?

如何断?如果也是软件实现,很不靠谱,万一一个意外主备全断了就麻烦了……

我觉得问题的症结就是“纯软件实现的热备”,主备机之间如果是个平行关系,就无法完全控制住对方,最严重的情况反而好处理,就怕主机半死不活的情况,你发个远程关机指令对方也不理你……然后过一阵子主机又恢复正常,……

[解决办法]
探讨

引用:

同没有经验的飘过~

比较极端的办法:把主服务器的电源断掉?

如何断?如果也是软件实现,很不靠谱,万一一个意外主备全断了就麻烦了……

我觉得问题的症结就是“纯软件实现的热备”,主备机之间如果是个平行关系,就无法完全控制住对方,最严重的情况反而好处理,就怕主机半死不活的情况,你发个远程关机指令对方也不理你……然后过一阵子主机又恢复正常……

[解决办法]
你所担心的备用启动后,主机随即恢复的问题,可以通过互锁实现,在通常状态下的生命包,运行状态主导权分配是唯一的,如果有冲突,关闭旧的标识!
[解决办法]
探讨

引用:

引用:

引用:

5. 当主服务器宕机,或者备份服务器接受不到正常的心跳信号时,shutdown主服务器(如果还能通过TCP/IP连通的话,如果通过TCP/IP已经连不通了,那么主机是否shutdown都无所谓了),同时将自己的IP地址改为原主服务器……

[解决办法]
双击热备故障切换考虑的因素很多,比如备机联系不到主机并不一定就是主机出故障了,可能备机有问题,因此往往还要有个“见证服务器”来协助判断。

热点排行