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

[经验分享] 搭建 CentOS 6 服务器(15)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-4 12:06:16 | 显示全部楼层 |阅读模式
搭建 CentOS 6 服务器(15) - Keepalived、HAProxy、LVS
博客分类:

  • Linux
  (一)Keepalived

(1)安装



Shell代码   DSC0000.png

  • # cd /usr/local/src
  • # wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz  
  • # tar zxvf keepalived-1.2.15.tar.gz  
  • # cd keepalived-1.2.15  
  • # ./configure
  • # make && make install
  

(2)配置



Shell代码  

  • # cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
  • # cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
  • # mkdir /etc/keepalived
  • # cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
  • # cp /usr/local/sbin/keepalived /usr/sbin/
  • # mv /etc/keepalived/keepalived.cfg /etc/keepalived/keepalived.cfg.org
  • # vi /etc/keepalived/keepalived.conf
  •     ! Configuration File for keepalived

  •     global_defs {
  •        notification_email {
  •          cluster-admin@example.org
  •        }
  •        notification_email_from noreply@example.org
  •        smtp_server smtp.example.org
  •        smtp_connect_timeout 30  
  •        router_id act
  •     }

  •     include haproxy_servers.conf  #设置HAProxy
  •     include lvs_*_servers.conf      #设置LVS
  • # /etc/init.d/keepalived start
  

(二)HAProxy

(1)安装



Shell代码  

  • # cd /usr/local/src
  • # wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.11.tar.gz  
  • # tar zxvf haproxy-1.5.11.tar.gz  
  • # cd haproxy-1.5.11  
  • # make TARGET=linux2628 CPU=x86_64 USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1  
  • # make install
  

(2)添加用户



Shell代码  

  • # useradd -s /usr/sbin/nologin -r haproxy
  

(3)SSL证书



Shell代码  

  • # mkdir -p /etc/rensn/certs
  • # openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/rensn/certs/haproxy.pem -out /etc/rensn/certs/haproxy.pem -days 365   
  • # cd /etc/rensn/certs
  • # chmod 600 haproxy.pem  
  

(4)配置



Shell代码  

  • # cp /usr/local/sbin/haproxy* /usr/sbin/
  • # cp /usr/local/src/haproxy-1.5.11/examples/haproxy.init /etc/init.d/haproxy  
  • # chmod +x /etc/init.d/haproxy
  • # mkdir -p /etc/haproxy
  • # cp /usr/local/src/haproxy-1.5.11/examples/examples.cfg /etc/haproxy/haproxy.cfg  
  • # mkdir -p /var/lib/haproxy
  • # touch /var/lib/haproxy/stats
  • # vi /etc/haproxy/haproxy.cfg
  •     global
  •         # 设置日志
  •         log         127.0.0.1 local2 info  
  •         chroot    /var/lib/haproxy
  •         pidfile     /var/run/haproxy.pid
  •         # 最大链接数
  •         maxconn     256  
  •         # 运行的用户
  •         user        haproxy
  •         group       haproxy
  •         # 启动服务
  •         daemon
  •         # 最大SSL链接数
  •         maxsslconn     256  
  •         # Diffie-Hellman
  •         tune.ssl.default-dh-param 2048  
  •         # 运行HAProxy的线程数(建议为1)  
  •         nbproc  1  

  •     defaults
  •         # Layer4负载均衡
  •         mode              tcp
  •         # 日志设置继承global
  •         log                global
  •         # 获取HTTP请求日志
  •         option             httplog
  •         # 后端未响应的超时时间
  •         timeout connect    10s
  •         # 后端的超时时间
  •         timeout client     30s
  •         # 服务器超时时间
  •         timeout server     30s

  •     # 前端定义 ( http-in 为任意字符 )
  •     frontend http-in
  •         # 监听80端口  
  •         bind *:80  
  •         # 默认的后端定义
  •         default_backend    backend_servers
  •         # 传递X-Forwarded-For
  •         option             forwardfor
  •         # 监听443端口  
  •         bind *:443 ssl crt /etc/rensn/certs/haproxy.pem  

  •     # 后端定义
  •     backend backend_servers
  •         # 负载均衡方式
  •         balance            roundrobin
  •         # 后端服务器的定义
  •         server             www01 192.168.21.100:80 check  
  •         server             www02 192.168.21.110:80 check  
  •         server             www02 192.168.21.120:80 check disabled  
  • # service haproxy start
  

(5)keepalived设置



Shell代码  

  • # vi /etc/keepalived/haproxy_servers.conf
  •    vrrp_script chk_haproxy {
  •       script "killall -0 haproxy"   # verify the pid existance  
  •       interval 2                    # check every 2 seconds  
  •       weight 2                      # add 2 points of prio if OK  
  •    }

  •    vrrp_instance VI_1 {
  •       state MASTER              # MASTER on master, BACKUP on backup
  •       interface eth1                # interface to monitor
  •       virtual_router_id 51          # Assign one ID for this route (tcpdump vrrp)  
  •       priority 101                  # 101 on master, 100 on backup  
  •       virtual_ipaddress {
  •           192.168.21.100            # the virtual IP  
  •       }
  •       track_script {
  •           chk_haproxy
  •       }
  •    }
  • # /etc/init.d/keepalived restart
  

(三)LVS

(1)安装
Linux内核里已经包含了ip_vs模块,只需要安装管理工具



Shell代码  

  • # yum -y install ipvsadm
  

(2)网络设置



Shell代码  

  • # vi /etc/sysctl.conf
  •     net.ipv4.ip_forward = 1  
  •     net.ipv4.conf.default.rp_filter = 0  
  • # sysctl -p
  • # cat /proc/sys/net/ipv4/ip_forward
  •     1  
  • # sevice network restart
  

(3)LB设置



Shell代码  

  • # ipvsadm -C
  • # ipvsadm -A -t 192.168.21.100:80  
  • # ipvsadm -ln
  • # service ipvsadm save
  

(4)keepalived设置


Shell代码  

    • # vi /etc/keepalived/lvs_http_servers.conf
    •     virtual_server <lvs_srv_ip> 80 {  
    •       delay_loop   20  
    •       lvs_sched    lc
    •       lvs_method   NAT
    •       protocol     TCP

    •       real_server  <web1_srv_ip> 80 {  
    •         weight 1  
    •         inhibit_on_failure
    •         HTTP_GET {
    •           url {
    •             path /
    •             status_code 200  
    •           }
    •           connect_timeout 5  
    •           nb_get_retry 3  
    •           delay_before_retry 20  
    •         }
    •       }
    •      real_server  <web2_srv_ip> 80 {  
    •         weight 1  
    •         inhibit_on_failure
    •         HTTP_GET {
    •           url {
    •             path /
    •             status_code 200  
    •           }
    •           connect_timeout 5  
    •           nb_get_retry 3  
    •           delay_before_retry 20  
    •         }
    •     }
    • # /etc/init.d/keepalived restart


运维网声明 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.yunweiku.com/thread-109354-1-1.html 上篇帖子: CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】 下篇帖子: Nginx+Keepalived主主负载均衡服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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