keepalived的初级使用

    1、双主模型的ipvs高可用

 

一、双主模型的ipvs高可用

    1)网络结构图

 

 

keepalived的初级使用

 

2)ipvs的类型是dr模型,调度算法是rr

      RS1RS2都是centos6.8

RS1RS2的配置:

1)实现对内核参数的更改

#echo 1 >
/proc/sys/net/ipv4/conf/all/arp_ignore

#echo 2 >
/proc/sys/net/ipv4/conf/all/arp_announce

#ifconfig lo:0
172.18.52.10/32 broadcast 172.18.52.10 up

#ifconfig lo:1
172.18.52.20/32 broadcast 172.18.52.20 up

      2)安装httpdweb服务

            #yum install httpd –y

           

RS1主机上

#echo “This test web1 server” >
/var/www/html/index.html

RS2主机上

#echo “This test web2 server” >
/var/www/html/index.html

      (3)启动httpd服务

            #service httpd start

     

      4)配置dir1dir2主机

            安装keepalived

            #yum install keepalived –y

            keepalived的配置文件修改

            #vim /etc/keepalived/keepalived.conf

——————–以下是配置文件的内容——————–

! Configuration File for keepalived

 

global_defs {

  
notification_email {  #
向谁发送通知

  root@localhost  

}

  
notification_email_from Alexandre.Cassen@firewall.loc

  
smtp_server 127.0.0.1

  
smtp_connect_timeout 30

  
router_id www.zorro.org  #
可以随意修改

  vrrp_mcast_group4
224.18.52.2 #
发送多播的地址,建议修改免得和别人冲突

}

 

#建立两个实例分别对应两个集群服务,但是都是指向后端的80web服务

vrrp_instance VI_1 {

   
state MASTER

   
interface eth0

   
virtual_router_id 199

   
priority 100

   
advert_int 1

   
authentication {

       
auth_type PASS

       
auth_pass 3344520

   
}

   
virtual_ipaddress {

        172.18.52.10
   

   
}

vrrp_instance VI_2 {

   
state BACKUP

   
interface eth0

   
virtual_router_id 200

   
priority 100

   
advert_int 1

   
authentication {

       
auth_type PASS

       
auth_pass 3344521

   
}

   
virtual_ipaddress {

        172.18.52.20
   

   
}

}

}

 

———-使用ipvs的相关配置—————————

———–VIP1的ipvs设置———————————-

virtual_server 172.18.52.10 80 {

   
delay_loop 6

    lb_algo
rr

   
lb_kind DR

   
nat_mask 255.255.255.255

   
persistence_timeout 0

   
protocol TCP

 

   
real_server 172.18.52.3 80 {

       
weight 1

       
HTTP_GET {

           
url {

              path /

      status_code 200

           
}

           
connect_timeout 3

           
nb_get_retry 3

           
delay_before_retry 3

       
}

   
}

  real_server
172.18.52.4 80 {

       
weight 1

       
HTTP_GET {

           
url {

              path /

       status_code 200

           
}

           
connect_timeout 3

           
nb_get_retry 3

           
delay_before_retry 3

       
}

   
}

}

—————–VIP2的ipvs设置————————————–

virtual_server 172.18.52.20 80 {

   
delay_loop 6

   
lb_algo rr

   
lb_kind DR

   
nat_mask 255.255.255.255

   
persistence_timeout 0

   
protocol TCP

 

   
real_server 172.18.52.3 80 {

       
weight 1

       
HTTP_GET {

           
url {

              path /

       status_code 200

           
}

           
connect_timeout 3

           
nb_get_retry 3

           
delay_before_retry 3

       
}

   
}

  real_server
172.18.52.4 80 {

       
weight 1

       
HTTP_GET {

           
url {

              path /

       status_code 200

           
}

           
connect_timeout 3

           
nb_get_retry 3

           
delay_before_retry 3

       
}

   
}

}

二、双主模型的nginx
proxy
高可用集群

      1网络拓扑

keepalived的初级使用

      2)后端的RS1RS2都是httpd服务,去lo0的别名设置

      取消内核参数的设置,都设置为0

      3)在前端的dir1dir2停止keeplaived服务

            #service stop keeplaived

      4)安装nginx

            #yum install nginx –y

      5)设置nginx的配置文件/etc/nginx/nginx.conf

            http字段中添加两个

                  Upstream webserver1 {

                       Server 172.18.52.3;

                       Server 172.18.52.4;

                  }

Upstream webserver2 {

                       Server 172.18.52.3;

                       Server 172.18.52.4;

                  }

 

server字段”location /”中添加

            Server {

                  Listen 80;

Location / {

Proxy_pass http://webserver1;

}

            }

            Server {

                  Listen 80;

Location / {

Proxy_pass http://webserver2;

}

            }

 


关于第二个部分对于nginx的双主模型的设计比较粗糙,如果有更好的方法,请不吝赐教。

原创文章,作者:luoxz,如若转载,请注明出处:http://www.178linux.com/75741

(0)
luoxzluoxz
上一篇 2017-05-15
下一篇 2017-05-15

相关推荐

  • 磁盘分区知识总结

    Linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以&nbsp…

    Linux干货 2017-08-19
  • keepalived的实验:主主模型

    修改配置文件 [root@proxy1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived   global_defs { notification_email { root@localhost } notification_email_from k…

    2018-03-11
  • linux系统启动流程

    linux系统启动流程 CentOS(5、6)系统启动流程 具体流程: 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR的boot Loader 依据boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序 硬件驱动成功后,Kernel会主动调用init进程,而init会…

    Linux干货 2016-09-11
  • iptables

    规则格式:iptables   [-t table]   COMMAND   chain   [-m matchname [per-match-options]]   -j targetname [per-target-options]     -t table:&nb…

    Linux干货 2017-06-16
  • Centos 5\6的启动流程简介

     Centos 5\6的启动流程简介图如下  第三步说明:磁盘的第一个扇区512字节的前446是bootloader,与此446字节与grub Stage1的446字节是一样的,主要功能是加载/boot/grup/目录下的文件     stage1.5加载相应用的文件系统文件并识别,如ext系列使用的e2fs…

    Linux干货 2016-06-03
  • CentOS启动流程

      我们介绍一下CentOS操作系统的详细启动流程,了解这些启动流程之后,我们可以实验做一个小型的Linux。 1、Linux的组成 2、Linux的运行环境 3、Linux的启动流程 3.1、POST加电自检 3.2、Boot Sequence(启动次序) 3.3、MBR 3.4、Kernel 3.5、init 1、Linux的组成 &…

    Linux干货 2016-12-04