全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 1763|回复: 11
打印 上一主题 下一主题

【上干货】VPS故障时自动切换服务器的一个方法

[复制链接]
跳转到指定楼层
1#
发表于 2018-12-6 18:36:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 abccba94 于 2018-12-7 10:14 编辑

原文链接:
http://iytc.net/wordpress/?p=4813

通过修改域名对应的IP地址可以在网站故障时实现自动切换

如果使用其他dns,需参考dns服务商提供的API

看回复有不少人说某些dns服务商提供自动切换IP的功能,用脚本控制的优点是你可以灵活控制切换策略,比如可以设置成ping丢包率超过多少时进行切换,切换后如果达到什么条件又自动切换回原服务器



【用godaddy实现ddns或服务器故障自动切换】

1、获取godaddy的API
访问如下网址:
https://developer.godaddy.com/keys
登陆后创建KEY:

注意创建时选“Product”不要选ote

注意:此页面只显示一次,需保存好key和secret

2、拷贝如下脚本,修改相关内容,保存为cdns.sh,上传至服务器或路由器,开启执行权限


  1. #根据你自己的信息修改如下内容
  2. domain="your_domain_here.com"        # 需更新的域名,比如iytc.net
  3. name="@"                                        # 需更新的A记录名称,比如要更新test.iytc.net,此处填写test
  4. key="your key here"                                # 你的godaddy Key
  5. secret="your secret here"                        # 你的godaddy Secret

  6. currentIp=$1

  7. headers="Authorization: sso-key $key:$secret"


  8. result=$(curl -v -k -X GET -H "$headers" \
  9.          "https://api.godaddy.com/v1/domains/$domain/records/A/$name")


  10. dnsIp=$(echo $result | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
  11. #echo "dnsIp======="$dnsIp



  12. if [ "$dnsIp" != "$currentIp" ]; then
  13.         request='[{"data":"'$currentIp'","ttl":600}]'
  14.         nresult=$(curl -i -k -v  -X PUT \
  15.         -H "$headers" \
  16.         -H "Content-Type: application/json" \
  17.         -d $request "https://api.godaddy.com/v1/domains/$domain/records/A/$name")

  18. fi
复制代码



3、使用方法

./cdns.sh ip

比如要将对应的dns IP地址改为11.22.33.44,则执行

./cdns.sh 11.22.33.44



4、应用

【路由器ddns】

你可以在ip改变时执行脚本,将域名指向的IP地址更新为新的IP地址

【网站故障自动切换】

在其他服务器上运行脚本监控某个网站(比如定时ping),当发现故障时执行此脚本修改域名的A记录指向备份网站的IP地址,实现故障自动切换
2#
发表于 2018-12-6 18:38:34 | 只看该作者
老哥,我就1个IP怎么办
3#
发表于 2018-12-6 18:39:27 | 只看该作者
DNS开监控设一个备用IP不就可以了
4#
发表于 2018-12-6 18:40:58 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
5#
发表于 2018-12-6 18:41:09 | 只看该作者
dnspod真香
6#
 楼主| 发表于 2018-12-6 18:43:26 | 只看该作者
小奶狗 发表于 2018-12-6 18:40
数据啥的咋同步?还不如用dns盾搞负载均衡

rsync
7#
发表于 2018-12-6 18:53:32 来自手机 | 只看该作者
标记学习下。
南思 该用户已被删除
8#
发表于 2018-12-6 19:04:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
9#
发表于 2018-12-6 19:31:58 | 只看该作者
这个得大战搞搞吧  像我这种都没什么流量的 挂就挂了
10#
发表于 2018-12-7 06:48:14 | 只看该作者
脱裤子放屁,如果你是在乎高可用性的,就不能只有一台服务器,多服务器多层负载均衡。

只有一台,就找靠谱的商家,做好监控告警,第一时间人工排查恢复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-23 23:14 , Processed in 0.070670 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表