负载均衡 实战之三:cdn缓存服务器攻略
一、cdn缓存服务器集群场景
6个服务器,2个服务器为lvs负载均衡器,4个服务器为真实服务器。另外为了方便远程管理,还购置了一个KVM OVER IP设备。
申请到8个公网ip地址,6个服务器用去6个,KVM OVER IP设备用掉1个,剩下1个作为VIP.
4个真实服务器已经部署好应用(Varnish),并且只要修改本地windows的hosts文件,把域名指向这些ip,就可以通过这些缓存服务器访问到网站内容。关于缓存服务器的具体部署,请参照本书第7章"简单cdn"。
二、负载均衡 cdn缓存服务器集群部署
尽管部署cdn缓存服务器集群没有先后顺序之分,但为了部署顺利进行,我们可以先从简单的部分开始,即先从lvs客户端开始,然后再到负载均衡器这边。
● 真实服务器上的操作(每个服务器都是一样的操作)
1、 编写lvs客户端配置脚本,保存后给予执行权限。
2、 运行和验证这个配置脚本,其具体方法如前所叙,不再赘述。
● 负载均衡器上的操作
MASTER和BACKUP上安装ipvsadm及keepalived的方法都是一样的(具体步骤参见"上篇"内容),两者之间的主要差异在于其配置文件keepalived.conf 。
在这样只有一个vrrp_instance 的环境里,主负载均衡器(MASTER)与备份负载均衡器(BACKUP)配置文件的差异一共只有3处: 全局定义的route_id、vrrp_instance state已经vrrp_instance的优先级priority。
三、 负载均衡 服务的启用和验证
前面我们也提过,keepalived启动过程不会检查配置文件的语法,因此在启动keepalived以前,需要人工对/etc/keepalived/keepalived.conf文件做全面的语法检查。一个比较容易犯的错误就是把花括号"}"写漏了,不成对!
当lvs客户端都正常启动并且配置文件经检查无误后(当然有错误也无妨,随时可以修改嘛!),执行命令 /usr/local/keepalived/sbin/keepalived -D ,然后我们查看系统进程,看是否是3个keepalived进程。如果配置文件的路径不是/etc/keepalived/keepalived.conf则需要在启动时用选项-f指定。
最能反映keepalived启动情况的地方当属系统日志。手动执行启动操作后,使用命令 tail -f /var/log/messages 滚动查看输出,就能详细了解其运行情况。下图为某个lvs环境的keepalived启动输出:
另外一个反映keepalived正常运行状态的地方是网络接口vip的启用。通过执行ip add 即可看见vip已经被绑定在制定的网络接口(注意:ifconfig 不能显示 vip)。需要注意的是,BACKUP的vip暂时不绑定。下图显示了这种比较。
主负载均衡器(MASTER) 与备份负载均衡器(BACKUP)输出对比
主负载均衡 器(MASTER)和备份负载均衡器(BACKUP)的keepalived 都把它运行起来,然后我们进行功能测试。
● 测试前的准备
1、 保证所有服务器的网络服务正常。这可以通过ping 所有机器的ip地址已经ping vip 来检查。
2、 修改本地计算机的hosts文件,把域名跟vip绑定起来。然后再 ping 一下域名,看是否正常。如 125.38.38.64
● 转发功能测试
1、 在本地机器执行命令 telnet 80 ,检查访问是否正常。
2、 在本地计算机的浏览器地址栏输入 ,看网站默认页是否能正常访问。
3、 登录主负载均衡器,察看转发情况。Lvs的转发情况,是不能通过netstat -an这样的方式来察看的。这时,前面我们安装的ipvsadm终于上场了。
负载均衡 转发状态
如果想知道当前测试机的访问请求被转发到那个服务器去了,可以在ipvsadm命令后带一个选项,其完整形式为:ipvsadm -lcn | grep 159.226.240.63 。
[root@hld081028-mk ~]# ipvsadm -lcn | grep 159.226.240.63
TCP 14:56 ESTABLISHED 159.226.240.63:39783 125.38.38.64:80 125.38.38.99:80
相关信息: