![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 18:08 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]自动切换IP,让双机热备软件“下岗”的批处理。 |
| 可打印版本 933 / 7 |
| 第1楼 fanpuyu | 发表于 2008-03-12 11:54 |
| 新手上路 发帖 4 积分 10 | |
|
[求助]自动切换IP,让双机热备软件“下岗”的批处理。 大致情况是这样的,单位里原来有一有套双机热备+磁盘阵列系统,但是自从阵列出了问题后,那一套双机热备也不能使用了,干脆一不做二不休,只好抛弃那所谓的双机热备、自动切换设备了,准备使用DOS批处理来实现两台机器的自动切换IP功能!数据同步偶用了SyncBackSE来实现!呵呵!
设备: 主力服务器的IP地址是(简称S1):192.168.0.1 备用服务器的IP地址是(简称S2):192.168.0.2 实现目标: 一、在S2上运行批处理文件,如果S1出现网络故障或者死机、蓝屏等三分钟时间无法访问的时候,S2自动切换成S1的IP地址,继续工作! 二、当然如果能够等待S1工作正常后S2再自动改为原IP地址!就更好了!如果这一项无法实现就请帮忙把一给帮忙编写一下!感谢...... 实现过程: 主要利用网络工具的:ping 白话文: 就是S2在3分钟内ping不通S1时,自动切换成S1的IP,等可以ping通S1了,最好是可以再切换回原来的IP地址!呵呵! 现在偶已经把切换IP的批处理做好了,但是具体如何进行ping,在三分钟内ping不通与通后如何实现自动切换却不知道如何来做了,请大家帮帮忙给编写一下! 感谢中。。。。。。。。。。。。。。 :) 在S2里切换IP的批处理文件: [ Last edited by fanpuyu on 2008-3-12 at 02:11 PM ] |
|
| 第2楼 fanpuyu | 发表于 2008-03-12 12:04 |
| 新手上路 发帖 4 积分 10 | |
|
补充一下:
ping不通应该为:Request timed out. 超时3分钟! 延时Reply from 192.168.0.1: bytes=32 time=3000ms TTL=128 或者2分钟内Request timed out. 则不要进行IP地址的切换! 呵呵,因为要考虑到并发与服务器本身的一切BUG等问题! |
|
| 第3楼 qzwqzw | 发表于 2008-03-12 14:52 |
| 银牌会员 发帖 636 积分 2,343 | |
|
很有意思的构思
其它都还好说 麻烦的是如何S1网络中断恢复后 检查与排除与S2的IP冲突 因为网络中断的形式是多种 包括进程阻塞、系统宕机、连接断开 这种中断可能导致程序重启 也可能不会导致程序重启 从而使程序的判断流程产生分歧 有了些想法 正在完善…… |
|
| 第4楼 fanpuyu | 发表于 2008-03-12 14:56 |
| 新手上路 发帖 4 积分 10 | |
Originally posted by qzwqzw at 2008-3-12 02:52 PM: 如果S1确实在三分钟以上都无法连接,而过了十分钟左右又突然正常运行的话,那偶只好去机房内进行查看了! 呵呵,这种可能性不是没有,但感觉会很少! 在单位的这个数据库的WEB页面里有主机名称的,如果S1挂掉,切换到了S2,那客户端的WEB页里就会出现SERVER02的主机名称,而不是SERVER01! |
|
| 第5楼 fanpuyu | 发表于 2008-03-12 15:03 |
| 新手上路 发帖 4 积分 10 | |
Originally posted by qzwqzw at 2008-3-12 02:52 PM: 网友:lvyanan 兄的提示 这个问题挺麻烦,S2检测S1好办些,但S1恢复时其IP一定会与S2当前使用的IP产生冲突,其后果是造成双方中的一方掉线,甚至有可能双方同时掉线,此后的处理就相当难了,要想实现自动处理,其难度可想而知。有一个思路不知正确否,LZ可以在两台主机上各自运行一个批处理,S2通过ping192.168.0.1来监视S1,当3分钟ping不通S1,S2就自动将IP改为192.168.0.1来运行,同样S1恢复后,开机后使用192.168.0.3上网,并且ping192.168.0.1,如果ping得通就待命,ping不通就自动改为192.168.0.1来运行,这样似乎逻辑上说得过去些。 我的回复: 其实感觉也可以这样,S2运行的批处理中不包括恢复原192.168.0.2的命令。如果S1挂掉了,就让S2当主机,那等到S1恢复时就让它成为恢复后的S2来运行! 那这样就需要两个批处理,同时在两台机器里运行!! 感谢。。。。。。。。。。。 |
|
| 第6楼 ztg2008 | 发表于 2008-03-12 15:22 |
| 新手上路 发帖 1 积分 2 | |
|
学习哟
|
|
| 第7楼 karl | 发表于 2008-03-12 16:00 |
| 新手上路 发帖 4 积分 3 | |
|
使用netsh命令不需这么复杂。
用netsh -c interface dump > s1.txt 得到s1的TCP/IP设置 用netsh -f s1.txt重置s2的TCP/IP 如果有ROUTER的话重定向会有延迟。 |
|
| 第8楼 qzwqzw | 发表于 2008-03-12 17:24 |
| 银牌会员 发帖 636 积分 2,343 | |
|
这是模型代码,!!未经测试!!
本程序需要先在主机上运行 待确认正常后再在备机上运行 若保证系统启动时自动运行本程序 则可以实现大多数情况下的自动IP切换 个别极端情况例外 [ Last edited by qzwqzw on 2008-3-12 at 05:43 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |