linux运维学习笔记:集群系列之04:keepalived

linux运维学习笔记:集群系列之04:keepalived

作者:周少言
2018年 1月 ,于北京

声明:本博客是本人周少言在某培训机构学习期间所写,其中参考借鉴了他人的博客,本文将会选择性给出相关链接,如有侵权,恳请告知。本文如有错误,恳请告知,欢迎交流。

参考连接

在LVS_DR 实验基础上继续进行以下实验

LVS_DR实验

本次实验所需要的资料下载

链接:https://pan.baidu.com/s/1htULzQs 密码:co24
xshell可用lrzsz将其拖拽到/root目录下

环境规划

director 192.168.22.32
web1 192.168.22.33
web2 192.168.22.34
虚拟IP 192.168.22.39
备用director 192.168.22.35

配置负载调度器 192.168.22.32

安装keepalived

yum -y install kernel-devel openssl-devel popt-devel gcc*
cd /root
mkdir /iso
mount -o loop Keepalived.iso /iso
cd /iso; ls
tar xf keepalived-1.2.2.tar.gz -C /usr/src
cd /usr/src/ ; ls 
cd keepalived-1.2.2/  ; ls

必须将源码包文件拷贝到/usr/src下面安装

./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-642.el6.x86_64/
make && make install
ls -l /etc/init.d/keepalived
chkconfig --add keepalived
chkconfig keepalived on

配置master keepalived

vim /etc/keepalived/keepalived.conf
以下为一种实验配置

 Configuration File for keepalived

global_defs {
   router_id R1
}

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

virtual_server 192.168.22.39 80 {
    delay_loop 1
    lb_algo rr
    lb_kind DR
    protocol TCP

    real_server 192.168.22.33 80 {
        weight 1
        TCP_CHECK { //状态检查方式
                connect_port 80 //检查的目标端口
                connect_timeout 1 //连接超时(秒)
                nb_get_retry 1 //重试次数
                delay_before_retry 1 //重试间隔(秒)
                }

    }
    real_server 192.168.22.34 80 {
        weight 1
        TCP_CHECK { //状态检查方式
                connect_port 80 //检查的目标端口
                connect_timeout 1 //连接超时(秒)
                nb_get_retry 1 //重试次数
                delay_before_retry 1 //重试间隔(秒)
                }

    }
}

service keepalived start

配置备用负载调度器 192.168.22.35

配置LVS_DR director

service NetworkManager stop    
chkconfig NetworkManager off
cd /etc/sysconfig/network-scripts/
cp -a ifcfg-eth0 ifcfg-eth0:0
vim ifcfg-eth0:0 
    DEVICE=eth0:0
    IPADDR=虚拟IP 
    NETMASK=255.255.255.0
    
ifup eth0:0         

此时会报错:
修改配置文件 vim ifup-eth
注释第247行到251行这五行内容。

修改内核参数。防止相同网络地址广播冲突,如果有多快网卡需要设置多行
net.ipv4.conf.eth0.send_redirects = 0

vim /etc/sysctl.conf    
#LVS
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0


sysctl -p 刷新内核参数
modprobe ip_vs              查看内核是否加载, 无反应,则已经加载
cat /proc/net/ip_vs         参看版本, 确认是否正确加载

安装ipvsadm管理工具

yum -y install ipvsadm
ipvsadm -v

安装keepalived

yum -y install kernel-devel openssl-devel popt-devel gcc*
cd /root
mkdir /iso
mount -o loop Keepalived.iso /iso
cd /iso; ls
tar xf keepalived-1.2.2.tar.gz -C /usr/src
cd /usr/src/ ; ls 
cd keepalived-1.2.2/  ; ls

必须将源码包文件拷贝到/usr/src下面安装

./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-642.el6.x86_64/
make && make install

chkconfig --add keepalived
chkconfig keepalived on

配置slave keepalived

vim /etc/keepalived/keepalived.conf
以下为一种实验配置

 Configuration File for keepalived

global_defs {
   router_id R2
}

vrrp_instance VI_1 {
    state SLAVE
    interface eth0
    virtual_router_id 66
    priority 3
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.22.39
    }
}

virtual_server 192.168.22.39 80 {
    delay_loop 1
    lb_algo rr
    lb_kind DR
    protocol TCP

    real_server 192.168.22.33 80 {
        weight 1
        TCP_CHECK { //状态检查方式
                connect_port 80 //检查的目标端口
                connect_timeout 1 //连接超时(秒)
                nb_get_retry 1 //重试次数
                delay_before_retry 1 //重试间隔(秒)
                }

    }
    real_server 192.168.22.34 80 {
        weight 1
        TCP_CHECK { //状态检查方式
                connect_port 80 //检查的目标端口
                connect_timeout 1 //连接超时(秒)
                nb_get_retry 1 //重试次数
                delay_before_retry 1 //重试间隔(秒)
                }

    }
}

service keepalived start

查看keepalived数据是否同步
ipvsadm -Ln --status

测试

模拟LVS_DR负载调度器出现故障
可断开该主机的网络连接,或者关机。
本实验采用关机,将192.168.22.32关机
然后访问192.168.22.39
如果能够实现负载均衡,则备用负载调度器配置成功。

你可能感兴趣的:(linux运维学习笔记:集群系列之04:keepalived)