集群-ipvsadm和NAT实验(3)

纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。

调度算法:

1、静态方法:

rr:轮询,即依照次序从所有RS中进行挑选

wrr:加权轮询,按照权重在RS中进行轮询

sh:source hashing,源地址哈希,即对来自相同客户端的请求发送至同一RS,这样会破坏负载均衡效果。可以基于cookie实现session绑定。

dh:destination hash,目标地址哈希,将同样的请求发给同一个RS。可以提高缓存命中率。

2、动态方法:

lc:最少连接。(活动连接数*256+非活动连接数),谁的最小就是谁。

wlc:加权最少连接。(活动连接数*256+非活动连接数)/weight,谁的最小就是谁。

sed:最少期望延迟。不再考虑非活动连接。(活动连接数+1)*256/weight,谁的最小就是谁。

nq:最少队列调度,改进的sed算法,也不考虑非活动连接数。无需队列。如果有台realserver的连接数=0就直接分配过去,不需要在进行sed运算。

lblc:基于本地的最少连接。和dh一样,考虑cache的连接数。可能破坏缓存命中率。

lblcr:基于本地的带复制功能的最少连接。如果一台服务器的访问过高,可以将缓存复制给其他服务器前面的缓存服务器,然后由其他服务器提供服务。缓存服务器之间会部分复制缓存。

生产环境中比较理想的是wlc,因为非活动连接可能是无法忽略的。

安装ipvsadm及命令详解:

yum直接安装ipvsadm即可。

grep -i 'vs' /boot/config-2.6.32-504.el6.x86_64   #即可查看ipvsadm的相关算法等信息

主要功能:

1、管理集群服务:
    添加:ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask]
        -t|u|:tcp|udp
            service-address:ip:port
        -f:防火墙标记
            service-address:mark number
        默认使用wlc算法
    修改:同上
    删除:ipvsadm -D -t|u|f service-address
2、管理集群中RS:
    添加:ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] [-x upper] [-y lower]
        service-address:先定义的集群服务
        -r server-address:RS地址,在NAT模型中可以使用ip:port来做端口映射
        [-g|i|m]:g,DR模型;i,TUN模型;m,地址伪装NAT模型,默认为DR模型
        -w weight:权重,若集群不指定权重,则此处无意义 
    修改:同上
    删除:ipvsadm -d -t|u|f service-address -r server-address
3、查看
    -L|l:查看
        -n:数字格式显示ip和端口
        --stats:显示统计信息
        --rate:显示速率
        --timeout:显示tcp,tcpfin,udp超时
        --daemon:显示多播等信息
        --sort:排序
        -c:显示连接状态
-Z:清空计数器
-C:清空所有集群服务
保存规则:
    -S > 文件(使用输出重定向)
    或者service ipvsadm save,自动保存至/etc/sysconfig/ipvsadm中
导入规则:
    -R < 文件(使用输入重定向)

实验:

前提:

1、时间得同步。尤其是以后的高可用模型对时间同步要求很严格。

2、改主机名

3、directory(调度器)的两块网卡之间得打开转发功能

blob.png

IP规划如上图

开启网卡转发功能:

blob.png

Directory网络配置(eth0设置为桥接,eth1设置为仅主机模式):

blob.png

RS网络设置

RS1:(网卡设置为仅主机模式)

blob.png

RS2:(网卡设置为仅主机模式)

blob.png

添加集群服务并查看 

blob.png

blob.png

在RS中添加默认网页:

echo “RS1” > /var/www/html/index.html
echo “RS2” > /var/www/html/index.html

再RS中启动httpd服务:service httpd start

查看一下index.html文件:

blob.png(此处未改主机名)

blob.png(此处未改主机名)

在网页中输入192.168.0.20并刷新

blob.png

blob.png

保存规则并查看:

blob.png

blob.png

清空规则并查看:

blob.png

此时已无规则。

导入规则并查看:

blob.png

DR模型:

blob.png

Director配置:(配置DIP,VIP,添加路由)

blob.png

blob.png

RS1配置:

blob.png

(此处未改主机名)

[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore 
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce 
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

配置vip:

[root@RS1 ~]# ifconfig lo:0 192.168.0.21 broadcast 192.168.0.21 netmask 255.255.255.255 up

添加路由:

[root@RS1 ~]# route add -host 192.168.0.21 dev lo:0

RS2配置:

blob.png

(此处未改主机名)

[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore 
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce 
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

配置VIP:

[root@RS2 ~]# ifconfig lo:0 192.168.0.21 broadcast 192.168.0.21 netmask 255.255.255.255 up

配置路由:

[root@RS2 ~]# route add -host 192.168.0.21 dev lo:0

Director添加集群服务并查看

blob.png

浏览器查看:

blob.pngblob.png

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

(0)
黑白子黑白子
上一篇 2015-12-15
下一篇 2015-12-15

相关推荐

  • 集中管理利器-puppet快速入门-下

    Puppet配置 1.    文件管理 file 文件服务器写法: /etc/puppet/ fileserver.conf 定义 [files] path /tmp/files  ## puppet数据存放目录 =è后面远程备份实战会用到 allow *.example.com 实战1: 备份master机…

    Linux干货 2015-05-07
  • 万能的AWK

    awk:文本三剑客之一 #报告生成器,主要用来实现格式化文本输出,它能够实现在处理文本文件时对文档中的某字段有条件显示并以非常美观的文本; 它是编程语言的解释器;它也是一种完整的编程语言,它支持条件判断、循环、变量、数组、函数等等各种各样的编程语言所能实现的功能。 用法:awk [options] ‘program’ FILE &#8…

    2017-04-22
  • iptables防火墙

    Linux防火墙基础 在Internet中,企业通过架设各种应用系统来为用户提供各种网络服务,例如Web网站,电子邮件系统,FTP服务器,数据库系统等等,而防火墙就是用来保护这些服务器,过滤企业不需要的访问甚至是恶意的入侵。 Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。Linux防火墙体系基于内核编码实…

    Linux干货 2017-01-10
  • linux系统自动安装之PXE

    PXE(集成在网卡上的)预启动执行环境 (能够通过网络实现操作系统安装) PXE工作原理1、Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client2、Client向P…

    2018-01-16
  • 使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

    Linux内核是一名了不起的马戏表演者,它在进程和系统资源间小心地玩着杂耍,并保持系统的正常运转。 同时,内核也很公正:它将资源公平地分配给各个进程。 但是,如果你需要给一个重要进程提高优先级时,该怎么做呢? 或者是,如何降低一个进程的优先级? 又或者,如何限制一组进程所使用的资源呢? 答案是需要由用户来为内核指定进程的优先级 大部分进程启动时的优先级是相同…

    Linux干货 2015-02-14
  • 马哥教育网络21期+第十一周练习博客(下)

    马哥教育网络21期+第十一周练习博客(下) 3、描述DNS查询过程以及DNS服务器类别。 DNS:Domain Name Service 通俗的称为地址解析,使用TCP和UDP的53端口,是属于应用层的协议; DNS查询有2种方式:     递归查询:至发送一次请求,就能找到最终的结果的查…

    Linux干货 2016-09-26

评论列表(1条)

  • stanley
    stanley 2015-12-15 22:46

    哈,很不错,不过最核心的 arp_announce 原理呢?