科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道X86服务器负载均衡实战之三:cdn缓存服务器攻略

负载均衡实战之三:cdn缓存服务器攻略

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在cdn的某个区域,需要部署多个缓存服务器,以集群方式来应对大量用户的访问请求,提高系统的高可用性。在机器数量较少的时候,我曾用dns轮训的方式把访问负载分担给服务器,效果不佳,因为DNS不会做健康检查。

作者:田逸 来源:IT168 2009年9月28日

关键字: 服务器 负载均衡 CDN

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  二、cdn缓存服务器集群部署

  尽管部署cdn缓存服务器集群没有先后顺序之分,但为了部署顺利进行,我们可以先从简单的部分开始,即先从lvs客户端开始,然后再到负载均衡器这边。

  ● 真实服务器上的操作(每个服务器都是一样的操作)

  1、 编写lvs客户端配置脚本,保存后给予执行权限。其完整的内容如下:

  [root@huludao-2 ~]# more /usr/local/bin/lvs_real

  #!/bin/bash

  #description : start realserver

  VIP=125.38.38.64

  /etc/rc.d/init.d/functions

  case "$1" in

  start)

  echo " start LVS of REALServer"

  /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 Directorserver"

  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

  2、 运行和验证这个配置脚本,其具体方法如前所叙,不再赘述。

  ● 负载均衡器上的操作

  MASTER和BACKUP上安装ipvsadm及keepalived的方法都是一样的(具体步骤参见"上篇"内容),两者之间的主要差异在于其配置文件keepalived.conf 。

  1、 MASTER的配置文件/etc/keepalived/keepalived.conf.

  #writed by sery , contact sery@163.com

  #guration File for keepalived

  #global define

  global_defs {

  router_id LVS_CNC_1

  }

  vrrp_sync_group VGM {

  group {

  VI_CACHE

  }

  }

  ################################################################

  # vvrp_instance define #

  ################################################################

  vrrp_instance VI_CACHE {

  state MASTER

  interface eth0

  lvs_sync_daemon_inteface eth0

  virtual_router_id 51

  priority 180

  advert_int 5

  authentication {

  auth_type PASS

  auth_pass 1111

  }

  virtual_ipaddress {

  125.38.38.64

  }

  }

  ##############################################################

  # virtual machine setting #

  ##############################################################

  # setting port 80 forward

  virtual_server 125.38.38.64 80 {

  delay_loop 6

  lb_algo wlc

  lb_kind DR

  # persistence_timeout 20

  protocol TCP

  real_server 125.38.38.101 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  real_server 125.38.38.102 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  real_server 125.38.38.104 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  real_server 125.38.38.99 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  }

  2、 BACKUP配置文件/etc/keepalived/keepalived.conf

  #writed by sery , contact sery@163.com

  #guration File for keepalived

  #global define

  global_defs {

  router_id LVS_CNC_2

  }

  vrrp_sync_group VGM {

  group {

  VI_CACHE

  }

  }

  ################################################################

  # vrrp_instance setting #

  ################################################################

  vrrp_instance VI_CACHE {

  state BACKUP

  interface eth1

  lvs_sync_daemon_inteface eth1

  virtual_router_id 51

  priority 150

  advert_int 5

  authentication {

  auth_type PASS

  auth_pass 1111

  }

  virtual_ipaddress {

  125.38.38.64

  }

  }

  ##############################################################

  # virtual server setting #

  ##############################################################

  # setting port 80 forward

  virtual_server 125.38.28.64 80 {

  delay_loop 6

  lb_algo wlc

  lb_kind DR

  # persistence_timeout 50

  protocol TCP

  real_server 125.38.38.101 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  real_server 125.38.38.102 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  real_server 125.38.38.104 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  real_server 125.38.38.99 80 {

  weight 100

  TCP_CHECK {

  connect_timeout 3

  nb_get_retry 3

  delay_before_retry 3

  connect_port 80

  }

  }

  }

  在这样只有一个vrrp_instance 的环境里,主负载均衡器(MASTER)与备份负载均衡器(BACKUP)配置文件的差异一共只有3处: 全局定义的route_id、vrrp_instance state已经vrrp_instance的优先级priority。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章