keepalived:采用VRRP热备份协议,可一主多备,优先级不一样。
NFS不作 NAT模式那一篇有html
chkconfig NetworkManager off chkconfig iptables off cat /etc/sysconfig/selinux #例行公事四台都要这样。
装插件两台lvs都要装 yum -y install kernel-devel openssl-devel popt-devel ipvsadm keepalived
modprobe ip_vs #加载ipvs模块 两台lvs都须要
#修改内核参数( /etc/sysctl.conf)文件,关闭ICMP重定向。 vim /etc/sysctl.conf sysctl -p
chkconfig --add keepalived chkconfig keepalived on #添加为系统服务 开机自启 两台都要
/etc/keepalived/keepalived.conf # 主配文件 如下为主配文件的内容 ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc #邮箱 smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL1 #本路由器名称 } vrrp_instance VI_1 { #定义vrrp热备份实例 state MASTER #热备状态 MASTER表示主服务器 BACKUP表示备份 interface eth0 #承载VIP地址的物理接口 virtual_router_id 51 #承载路由器的ID号,每一个热备组要保持一致 priority 100 #优先级,越大优先级越高,也叫占先权 advert_int 1 #通告间隔秒数(心跳频率) authentication { #认证信息 每一个热备组保持一致 auth_type PASS #认证类型 auth_pass 1111 #密码字串 } virtual_ipaddress { #指定漂移地址(vip)能够有多个 200.0.0.100 } } virtual_server 200.0.0.100 80 { #虚拟服务器(vip)地址、端口 delay_loop 15 #健康检查的间隔时间 lb_algo rr #rr轮询调度算法 lb_kind DR #直接路由(DR)群集模式 !persistence_timeout 50 #链接保持时间,启用就去掉感叹号,这个配置文件"!"表明注释 protocol TCP #应用服务采用TCP协议 real_server 200.0.0.4 80 { #第二个web节点地址、端口 weight 1 #权重 TCP_CHECK { #健康检查方式 connect_port 80 #检查的目标端口 connect_timeout 3 #链接超时(秒) nb_get_retry 3 #重试次数 delay_before_retry 3 #重试间隔(秒) } } real_server 200.0.0.3 80 { #第三个web节点地址、端口 weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
service keepalived start ip a #启动服务 查看漂移地址
scp root@200.0.0.1:/etc/sysctl.conf /etc/ sysctl -p #从主服务器复制文件,刷新 scp root@200.0.0.1:/etc/keepalived/keepalived.conf /etc/keepalived/
这里把主配文件须要改的东西列出来linux
router_id LVS_DEVEL2 #改本路由器名字 state BACKUP #BACKUP从服务器模式 priority 90 #优先级 要低于主调度器
chkconfig --add keepalived chkconfig keepalived on service keepalived start
#修改内核参数 /etc/sysctl.conf文件,关闭ARP应答。 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.lo.arp_announce = 2 sysctl -p
# ifcfg-lo:0配置群集ip地址200.0.0.100,子网掩码为255.255.255.255 DEVICE=lo:0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=200.0.0.100 NETMASK=255.255.255.255 ifup lo:0
#创建测试网页 echo 111111 > /var/www/html/index.html service httpd start
route add -host 200.0.0.100 dev lo:0 #写路由记录,最好写进/etc/rc.local 开机自动运行
scp root@200.0.0.3:/etc/sysctl.conf /etc/ sysctl -p
scp root@200.0.0.3:/etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/ ifup lo:0 #远程复制过来,启用
echo 55555555 > /var/www/html/index.html service httpd start
route add -host 200.0.0.100 dev lo:0
client访问
分配给了不一样的服务器
web
poweroff #关闭主调度器
主出现问题 由从接管服务
算法
#主正常以后,漂移地址变回来了。