惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Securelist
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 热门话题
博客园 - 三生石上(FineUI控件)
T
Threatpost
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
IT之家
IT之家
P
Palo Alto Networks Blog
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
Cyberwarzone
Cyberwarzone
腾讯CDC
L
LangChain Blog
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
T
Tor Project blog
AWS News Blog
AWS News Blog
T
Tenable Blog
NISL@THU
NISL@THU
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
MyScale Blog
MyScale Blog
D
DataBreaches.Net
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
美团技术团队
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog

博客园 - linwinfan

ZABBIX新功能系列2-通过Webhook调用虚拟化API重启故障主机 ZABBIX新功能系列1-使用Webhook将告警主动推送至第三方系统 xenserver添加静态路由 redmine常见问题 Opennms 问题整理 OpenERP 使用与开发笔记(一) 使用flume-ng聚合双活Nginx日志 迁移 VMware 虚拟机到 KVM 安装设置squid3代理更新 iscsiadm基本用法 第4章.计算节点 第三章.可扩展性 第二章 云控制器设计 OpenStack实施管理手册-第一章 部署准备 VMware workstation to exsi openQRM在CENTOS64上的安装部署 在服务器上排除问题的头五分钟(转) u960s指令 某程序反向工程记录
KEEPALIVED 双机自动切换部署备忘
linwinfan · 2013-08-21 · via 博客园 - linwinfan

1.配置文件的名字不要型错了。开始我将配置文件写成keeplive.conf,运行后也不报错,但无法看到VIP。日志里也看不到任何有价值信息。直到后来反复检查才发现可能配置文件名有问题,修正为keepalived.conf终于能使用“ip a”命令看到VIP了。

2.使用的Keepalived是用来给Nginx反向代理(使用一个公网IP来提供多个域名的多个网站服务器的代理)做高可用的,两者安装在相同的虚机上。起先照着一些参考资料在配置文件配置了:

virtual_server 172.24.1.230 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP

    real_server 172.24.1.231 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    real_server 172.24.1.232 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
} 

View Code

测试时发现开始可以通过域名来正常访问,后来测试停止Nginx后就再也无法访问了。
但通过输入Nginx的真实IP地址访问是可以的。说明其服务没有问题。而这时在keepalived的日志也看不到任何有用的信息。后经反复分析,可能是这段配置的问题,主备服务均删除重启服务后访问一切正常。

3.测试时停止Nginx服务,发现不会自动重启,同时VIP也不会自动迁移到备机上。开始以为是检查脚本的问题,执行脚本却没有问题。后来想到在脚本里加日志看是否运行了脚本发现应该是没对脚本文件添加可执行权限,所以执行:chmod +x check-nginx.sh 后发现日志生成,问题解决,停止Nginx服务将自动重启。

4.主备切换,切换完成后,主机起来后,设置不再获取主机权,以减少客户端终端。(两机都设为:state BACKUP,通过设置优先级高来默认主机,同时备机不要使用:nopreempt)

5.在两台Web Server上执行realserver.sh脚本,为lo:0绑定VIP地址10.0.1.2、抑制ARP广播。

#!/bin/bash
#description: Config realserver

VIP=10.0.1.2
 
/etc/rc.d/init.d/functions
 
case "$1" in
start)
       /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
       /sbin/route add -host $VIP dev lo:0
       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
       sysctl -p >/dev/null 2>&1
       echo "RealServer Start OK"
       ;;
stop)
       /sbin/ifconfig lo:0 down
       /sbin/route del $VIP >/dev/null 2>&1
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
       echo "RealServer Stoped"
       ;;
*)
       echo "Usage: $0 {start|stop}"
       exit 1
esac
 
exit 0

View Code

7.明天继续研究问题2中关于LVS的设置,看是否能做负载均衡,否则没问题时始终只用一台机,有点浪费。