标签搜索

Lvs+keepalived+mysql 双主。

冰封一夏
2021-09-28 23:44:12 / 14 阅读 / 正在检测是否收录...


Node1: 10.0.17.154
Node2: 10.0.17.155
VIP: 10.0.17.158

环境 centos5.2


##########################LVS+Keepalived########################
1、安装ipvsadm
yum -y install ipvsadm
 
2、安装keepalived
[root@mysql-n2 ~]# wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz
[root@mysql-n2 ~]# tar zxvf keepalived-1.1.15.tar.gz
[root@mysql-n2 ~]# cd keepalived-1.1.15
[root@mysql-n2 keepalived-1.1.15]# ./configure --prefix=/ --mandir=/usr/local/share/man/ --with-kernel-dir=/usr/src/kernels/2.6.18-194.el5-x86_64/

配置后会出现如下结果,则配置正确:

Keepalived configuration
------------------------
Keepalived version       : 1.1.15
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -lpopt -lssl -lcrypto
Use IPVS Framework       : Yes
IPVS sync daemon support : Yes
Use VRRP Framework       : Yes
Use LinkWatch            : No
Use Debug flags          : No

[root@mysql-n2 keepalived-1.1.15]make && make install
[root@mysql-n2 keepalived-1.1.15]# cd /etc/keepalived/
[root@mysql-n2 keepalived-1.1.15]# vim keepalived.conf


3.keepalived.conf配置细节:
! Configuration File for keepalived

global_defs {
   notification_email {
     zhangshengdongly@gmail.com
   }
   notification_email_from zhangshengdongly@gmail.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.17.158
    }
}

virtual_server 10.0.17.158 443 {
    delay_loop 6
    lb_algo wlc
    lb_kind DR
    persistence_timeout 50
    protocol TCP

    real_server 10.0.17.154 443 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 10.0.17.155 443 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

BACKUP:只要修改"state MASTER"为"state BACKUP"
              将 "priority 100"更改为"priority 80"

4.配置realserver脚本:(由于只有两台主机,所以既当lvs,也当realserver)
疑问:netmask 255.255.255.255 up修改为netmask 255.255.252.0 up就出现问题

[root@mysql-n2 keepalived-1.1.15]vim realserver

#!/bin/bash
#description : start realserver
VIP=192.168.1.250
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
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
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
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 "Usage: $0 {start|stop}"
exit 1
esac

[root@mysql-n2 keepalived-1.1.15]# chmod +x realserver
[root@mysql-n2 keepalived-1.1.15]# ./realserver start

5.主&副keepalived启动:
[root@mysql-n2 ~]# /etc/init.d/keepalived start
Starting keepalived: [  OK  ]
[root@mysql-n1 keepalived]# /etc/init.d/keepalived start
Starting keepalived: [  OK  ]

6.查看日志&IP,看看是否启动成功,ip是否绑定
[root@mysql-n2 ~]# tail -f /var/log/messages
Aug  8 14:47:05 mysql-n2 Keepalived_healthcheckers: SMTP alert successfully sent.
Aug  8 14:47:05 mysql-n2 Keepalived_healthcheckers: SMTP alert successfully sent.
Aug  8 14:47:06 mysql-n2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Aug  8 14:47:06 mysql-n2 Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
Aug  8 14:47:06 mysql-n2 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.0.17.158
Aug  8 14:47:06 mysql-n2 Keepalived_vrrp: Netlink reflector reports IP 10.0.17.158 added
Aug  8 14:47:06 mysql-n2 Keepalived_healthcheckers: Netlink reflector reports IP 10.0.17.158 added
Aug  8 14:47:06 mysql-n2 avahi-daemon[3052]: Registering new address record for 10.0.17.158 on eth0.
Aug  8 14:47:11 mysql-n2 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.0.17.158
Aug  8 14:47:31 mysql-n2 avahi-daemon[3052]: Invalid query packet.

[root@mysql-n2 ~]# ip a
1: lo: mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet 10.0.17.158/32 brd 10.0.17.158 scope global lo:0
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:ed:e8:c6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.17.154/22 brd 10.0.19.255 scope global eth0
    inet 10.0.17.158/32 scope global eth0
    inet6 fe80::20c:29ff:feed:e8c6/64 scope link
       valid_lft forever preferred_lft forever
3: sit0: mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0



LVS+keepalived成功安装后,开始配置mysql的双主。

第一步:安装mysql5.5  http://blog.chinaunix.net/uid-26446098-id-3261946.html
第二步:配置mysql双主 http://blog.chinaunix.net/uid-26446098-id-3267556.html

配置完之后,插入几条数据。
让第一台宕机,看看ip是否漂移,如成功,则安装成功。



4

评论

博主关闭了所有页面的评论