设为首页 收藏本站
查看: 1121|回复: 0

[经验分享] linxu集群架设——LVS

[复制链接]

尚未签到

发表于 2015-9-5 09:29:59 | 显示全部楼层 |阅读模式
  LVS框架:
  三层结构:
     网络      (LVS--linux)      (WWW , FTP ,STML)     (GFS,OCFS2)
用户 -- >   Director Server  ---> Real Server1
      Real Server2    --> 集群文件系统
      Real Server3
软件:
浏览器        ipvsadm              httpd
                 ↑
   heartbeat(ldirectord) (脚本:lvsrc)
   keepalived
  
  Director Server :
LVS : Linux Virtual Server 虚拟服务器,章文嵩,高吞吐量,高稳定。
  IPVS:IP负载均衡核心软件,虚拟一个IP,维持一个Real Server路由表。
转发请求到Real Server,Real Server如何返回数据
配置方法:1.ipvsadm命令
     2:第三方插件或工具如ldirectord
     3.:Redhat界面工具piranha
  相关技术:
1、IP负载均衡技术:
VS/NAT :Virtual Server via Network Address Translation---网络地址转换
        每次必须经过DR服务器。
VS/TUN :Virtual Server via IP Tunneling--- IP隧道
VS/DR:Virtual Server via Direct Routing--直接路由
  2、负载调度算法
轮叫调度:rr(Tound Robin):1:1调度
加权轮叫调度:wrr(Werghted Round Robin)
最少连接调度:Least Connections
加权最少连接调度:Weighted Least Connections
  
3.高可用
heartbeat主要模块:
  heartbeat负责检测director server节点是否存在 ,一般通过使用广播ping对方
       配置文件:/etc/ha.d/ha.cf
       资源文件:/etc/ha.d/haresource
       认证文件:/etc/ha.d/authkeys
  ldirectord  1.其配置文件能配置ipvs,并调用ipvsadm实现负载均衡
                2.检测real server看是否存在,维护ipvsadm的路由表。
      配置文件:/etc/ha.d/ldirectord.cf
      日志文件:/var/log/ldirectord.log
  stonith:(shut the other node in the head)不能检测到心跳时,通过串口连接的对方的stonith设备关断对方电源防止脑裂。(双方的服务都在开启同时使用资源)
  
  keepalived
piranha:
  
  ----部署流程---
  *************************安装IPVS**************************
  1.modprobe -l |grep ipvs  查看内核是否支持LVS的IPVS模块
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_lblc.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_wrr.ko
2.rpm -ivh ipvsadm-1.24-13.el5.x86_64.rpm
也可以通过源码安装。
  
3.使用ipvsadm命令查看当前状态:
ipvsadm
  
  *************************heartbeart**************************
  director server安装heeatbeat
  rpm包:
下载地址:pkgs.org/centos-5/centos-extras-x86_64/
heartbeat-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-devel-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-gui-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-ldirectord-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-pils-2.1.3-3.el5.centos.x86_64.rpm
heartbeat-stonith-2.1.3-3.el5.centos.x86_64.rpm
依赖包:
下载地址:rpm.pbone.net

  
  配置heartbeat:
  vi /etc/ha.d/ldirectord.cf
# Global Directives
checktimeout=20
checkinterval=10
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
#emailalert="admin@x.y.z"
#emailalertfreq=3600
#emailalertstatus=all
quiescent=no
  # Sample for an http virtual service
virtual=192.168.12.200:80
real=192.168.12.132:80 gate
real=192.168.12.133:80 gate
  fallback=127.0.0.1:80 gate
service=http
request="index.html"
receive="Test Page"
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp
   checktype=negotiate
   checkport=80
  virtualhost=www.liaoyi.net
  
vi /etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
bcast eth1  # Linux
auto_failback on
node DR1
node DR2
ping 192.168.12.1
respawn hacluster /usr/lib/heartbeat/ipfail
  
vi /etc/ha.d/haresources
  DR1 IPaddr::192.168.12.200/24/eth0 ldirectord
  vi /etc/ha.d/authkeys
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
  
  ---Real Server配置---
  增加虚拟ip脚本:
  #!/bin/bash
#description : Start Real Server
VIP=192.168.12.200
. /etc/rc.d/init.d/functions
case "$1" in
    start)
    echo "Start LVS of Real Server"
    /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 Director Server"
    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
  
  *************************keepalived***************************
director server上安装keepalived
rpm -ivh e2fsprogs-devel-1.39-33.el5.x86_64.rpm
rpm -ivh keyutils-libs-devel-1.2-1.el5.x86_64.rpm
rpm -ivh libsepol-devel-1.15.2-3.el5.x86_64.rpm
rpm -ivh libselinux-devel-1.33.4-5.7.el5.x86_64.rpm
rpm -ivh krb5-devel-1.6.1-70.el5.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-4.el5.x86_64.rpm
rpm -ivh openssl-devel-0.9.8e-22.el5.x86_64.rpm
  
  
*************************piranha***************************
安装piranha:
  rpm -ivh php-common-5.3.3-3.el6_2.8.x86_64.rpm
rpm -ivh php-cli-5.3.3-3.el6_2.8.x86_64.rpm
rpm -ivh php-5.3.3-3.el6_2.8.x86_64.rpm
rpm -ivh piranha-0.8.5-19.el6.x86_64.rpm
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-109601-1-1.html 上篇帖子: Linux Enterprise Cluster Notes 下篇帖子: LVS安装配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表