注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

高可用应用技术举例:(vrrp/ucarp)  

2014-06-13 15:08:14|  分类: 高可用集群 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

one::VRRP(虚拟路由冗余协议)工作原理

一个VRRP路由器有唯一的标识:VRID,范围为0—255?该路由器对外表现为唯一的虚拟MAC地址,地址的格式为00-00-5E-00-01-[VRID]?主控路由器负责对ARP请求用该MAC地址做应答?这样,无论如何切换,保证给终端设备的是唯一一致的IP和MAC地址,减少了切换对终端设备的影响?
VRRP控制报文只有一种:VRRP通告(advertisement)?它使用IP多播数据包进 行封装,组地址为224.0.0.18,发布范围只限于同一局域网内?这保证了VRID在不同网络中可以重复使用?为了减少网络带宽消耗只有主控路由器才 可以周期性的发送VRRP通告报文?备份路由器在连续三个通告间隔内收不到VRRP或收到优先级为0的通告后启动新的一轮VRRP选举?
在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0—255?若VRRP路由器的IP地 址和虚拟路由器的接口IP地址相同,则该VRRP路由器被称为该IP地址的所有者;IP地址所有者自动具有最高优先级:255?优先级0一般用在IP地址 所有者主动放弃主控者角色时使用?可配置的优先级范围为1—254?优先级的配置原则可以依据链路的速度和成本?路由器性能和可靠性以及其它管理策略设定?主控路由器的选举中,高优先级的虚拟路由器获胜,因此,如果在VRRP组中有IP地址所有者,则它总是作为主控路由的角色出现?对于相同优先级的候选路由器,按照IP地址大小顺序选举?VRRP还提 供了优先级抢占策略,如果配置了该策略,高优先级的备份路由器便会剥夺当前低优先级的主控路由器而成为新的主控路由器?
为了保证VRRP协议的安全性,提供了两种安全认证措施:明文认证和IP头认证?明文认证方式要求:在加入一个VRRP路由器组时,必须同时提供相同的VRID和明文密码?适合于避免在局域网内的配置错误,但不能防止通过网络监听方式获得密码?IP头认证的方式提供了更高的安全性,能够防止报文重放和修改等攻击?

VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协议。通常,一个网络内的所有主机都设置一条缺省路由,这样,主机发出的目的地址不在本网段的报文将被通过缺省路由发往路由器RouterA,从而实现了主机与外部网络的通信。当路由器RouterA 坏掉时,本网段内所有以RouterA 为缺省路由下一跳的 主机将断掉与外部的通信产生单点故障。VRRP 就是为解决上述问题而提出的,它为具有多播组播或广播能力的局域网(如:以太网)设计。VRRP 将局域网的一组路由器(包括一个Master 即活动路由器和若干个Backup 即备份路由器)组织成一个虚拟路由器,称之为一个备份组。这个虚拟的路由器拥有自己的IP 地址10.100.10.1(这个IP 地址可以和备份组内的某个路由器的接口地址相同,相同的则称为ip拥有者),备份组内的路由器也有自己的IP 地址(如Master的IP 地址为10.100.10.2,Backup 的IP 地址为10.100.10.3)。局域网内的主机仅仅知道这个虚拟路由器的IP 地址10.100.10.1,而并不知道具体的Master 路由器的IP 地址10.100.10.2 以及Backup 路由器的IP 地址10.100.10.3。 它 们将自己的缺省路由下一跳地址设置为该虚拟路由器的IP 地址10.100.10.1。于是,网络内的主机就通过这个虚拟的路由器来与其它网络进行通信。如果备份组内的Master 路由器坏掉,Backup 路由器将会通过选举策略选出一个新的Master 路由器,继续向网络内的主机提供路由服务。从而实现网络内的主机不间断地与外部网络进行通信。

two::ucarp( Common Address Redundancy Protocol:公共地址协议 )

        ucarp允许两个主机的虚拟IP地址相同,因此而提供自动故障转移。它是一个方便的用户级工具,可用于实现安全、无专利的公共地址冗余协议(CARPOpenBSD的VRRP<虚拟路由冗余协议>协议的替代者)

高可用应用技术举例:(vrrp/ucarp) - itoedr - itoedr的it学苑
ucarp移植入ubuntu下
 


NAME
       ucarp — Automatic IP failover(自动IP切换)

SYNOPSIS
       ucarp [-i, --interface=INTERFACE]  [-s, --srcip=IPADDRESS]
       [-v, --vhid=VHID]  [-p, --pass=PASSWORD]  [-o, --passfile=PASSFILE]
       [-P, --preempt]  [-n, --neutral]  [-a, --addr=IPADDR]  [-h, --help]
       [-b, --advbase=SECS]  [-k, --advskew=SKEW]  [-u, --upscript=SCRIPT]
       [-d, --downscript=SCRIPT]  [-r, --deadratio=RATIO]  [-z, --shutdown]
       [-B, --daemonize]  [-f, --facility=FACILITY]  [-x, --xparam PARAM]
       [-S, --ignoreifstate]  [-M, --nomcast]

DESCRIPTION
       ucarp  allows a pair of hosts to share common IP addresses in order to provide automatic failover of an address from one machine to another.
       It is a portable userland implementation of the secure and patent-free Common Address Redundancy Protocol, (CARP), OpenBSD's alternative  to   VRRP.

OPTIONS
       ucarp supports the following command line options:

       -i INTERFACE --interface=INTERFACE
                 The network interface to bind to.

       -s IPADDRESS --srcip=IPADDRESS
                 The persistent source address, (real IP), associated with this interface.

       -v VHID --vhid=VHID
                 The id of the virtual server [1-255].

       -p PASSWORD --pass=PASSWORD
                 The shared password, (this gets encrypted and is not sent in the clear).

       -o PASSFILE --passfile=PASSFILE
                 File to read the shared password from. The file specified should contain the password on the first line of the file.

       -P --preempt
                 Turn on preemptive failover. This causes an instance of ucarp to assume master status right immediately.

       -n --neutral
                 Do not run the downscript on startup when the initial state is backup.

       -a IPADDRESS --addr=IPADDRESS
                 The IP address of the virtual server.

       -h --help Display a brief summary of the command line options.

       -b SECONDS --advbase=SECONDS
                 Interval in seconds that advertisements will occur, (defaults to 1 second).

       -k SKEW --advskew=SKEW
                 Advertisement skew [1-255], (defaults to 0).

       -u COMMAND --upscript=COMMAND
                 Specifies the command to run after ucarp has successfully become master, the interface name gets passed as an argument.  Typically
                 a script used to bring up the virtual address, log the result, add routes, clear arp cache entries, etc.

       -d COMMAND --downscript=COMMAND
                 Specifies the command that is run after ucarp has transitioned to the backup state, the interface name is passed as  an  argument.
                 This is typically a script used to bring down the virtual interface, log the action, remove routes, etc.

       -r RATIO --deadratio=RATIO
                 Ratio used by the backup to determine how long to wait for an unresponsive master before considering it dead.

       -z --shutdown
                 Use of this command causes the command specified by the -d argument to be invoked when ucarp shuts down.

       -B --daemonize
                 Causes ucarp to detach from the terminal and run in the background as a daemon.

       -f --facility
                 Set the syslog facility, defaults to daemon.

       -x PARAMETER --xparam=PARAMETER
                 Specify an extra parameter to be supplied to the up/down scripts.

       -S --ignoreifstate
                 Ignore  unplugged network cables. This option is useful when ucarp nodes are connected with a crossover cable. Without this option
                 the master will transition to backup when the other node is powered down, as it no longer has a link (NO-CARRIER).


       -M --nomcast
                 Use broadcast instead of multicast advertisements.

EXAMPLES
       A host with a real IP of 10.1.1.10 configured to be the master in a preemptive configuration with a virtual IP of 10.1.1.252.

           ucarp -i eth0 -s 10.1.1.10 -v 10 -p secret -a 10.1.1.252 \
           --upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh -P

       The backup might be configured something like this.

           ucarp -i eth0 -s 10.1.1.11 -v 10 -p secret -a 10.1.1.252 \
           --upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh

       A machine with a real IP of 192.168.1.19 is the preferred master for a virtual IP of 10.1.12.7, broadcasts are sent every 5 seconds.

           ucarp -b 5 -s 192.168.1.19 -v 27 -p badpass -a 10.1.12.7 \
           -u /etc/vip-up.sh -d /etc/vip-down.sh -z

       The hot standby with an IP of 192.168.1.20 uses the following command, (note the advskew of 50 putting it at a disadvantage and  making  the
       first machine preferred).

           ucarp -b 5 -k 50 -s 192.168.1.20 -v 27 -p badpass -a 10.1.12.7 \
           -u /etc/vip-up.sh -d /etc/vip-down.sh -z

SIGNALS
       Sending  the  ucarp  process a SIGUSR1 will have it log a status line to syslog, eg "Sep 13 12:59:56 localhost ucarp[2654]: [INFO] MASTER on
       eth0 id 1" or "Sep 13 13:00:25 localhost ucarp[2644]: [INFO] BACKUP on eth0 id 1"

       Sending the ucarp process a SIGUSR2 will cause it to demote itself from master to backup, pause 3 seconds, then proceed as usual  to  listen
       for other masters, and promote itself if necessary. This could be useful if you wish another node to take over master.
       三::三款集群工具:lvs/nginx/haproxy
...
       四::利用netfilter实现故障自动转移
...
       五::安全监控系统monit

...
       六::分布式云系统(系统管理/分布式储/glances)
  评论这张
 
阅读(246)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017