zhangsanfeng88 发表于 2018-12-8 10:31:15

LVS+Keepalived+IIS 配置过程高可用负载均衡web服务器

  1. 基本规划
  一共5个IP地址,4台服务器,两台做LVS+Keepalived高可用负载均衡,两台做Web 服务器。
  LVS的IP地址是:
  192.168.0.181
  192.168.0.182
  web服务器的IP地址是
  192.168.0.183
  192.168.0.184
  虚拟IP(VIP)地址是:
  192.168.0.188
  2. 配置IIS
  IIS上最重要的配置就是环回网卡配置,配置完成后还需要修改一下网卡的IP和工作模式。具体步骤如下
  (1)配置环回网卡
  打开控制面板,点击硬件,然后在点击设备管理器;
  打开设备管理器后,鼠标点中网络适配器,然后点击操作,选择里面的“添加过时硬件”;
  弹出的窗口单击下一步,然后选择“安装我手动从列表选择的硬件”,下一步;
  弹出窗口,右边滚动条拉到底,选择网络适配器,下一步;
  厂商选择Microsoft,网络适配器选择Microsoft KM-TEST环回适配器,下一步;
  等到系统安装环回网卡,安装好了点击完成。
  (2)配置环回网卡IP和工作模式
  打开网络与共享中心,点击更改适配器设置,可以看到你添加好的环回网卡,我的系统上网卡名字是“以太网”;
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://blog.运维网.com/e/u261/themes/default/images/spacer.gif
http://s1.运维网.com/wyfs02/M02/78/76/wKiom1Z8_MXzN6lQAAA2_UWcYyA837.png
  在“以太网”上点右键选择属性,然后在双击Internet协议版本4 (TCP/IPv4),填写IP地址如下。
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M02/78/74/wKioL1Z8_NvTLvWQAAAL4H3iKvQ898.png
  配置好后点击确定,然后点应用,环回网卡的IP地址就算配置好了。
  

  再来设置环回网卡的工作模式,在Windows系统中,网卡有两种工作模式,强工作模式(stronghost)和弱工作模式(weakhost),在强工作模式下,正常网卡和环回网卡之间是不能进行数据转发的,数据转发只能工作在弱工作模式下,如果没有设置弱工作模式的话,等环境配置好了以后,使用VIP地址不能访问Web服务器,使用ipvsadm -lcn查看连接状态时,会发现所有的连接状态都是SYN_RECV状态。
  以管理员身份打开命令提示符,设置弱工作模式命令如下:
  netsh interface ipv4 set interface "Ethernet0" weakhostreceive=enabled
  netsh interface ipv4 set interface "Ethernet0" weakhostsend=enabled
  netsh interface ipv4 set interface "以太网" weakhostreceive=enabled

  netsh interface ipv4 set interface "以太网" weakhostsend=enabled

  interface后面跟的是你的两块网卡的名称,我这里是Ethernet0和以太网,读者就根据自己的网卡名称来修改。
  命令配置成功会提示“确定”
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M00/78/76/wKiom1Z8_MbiHRG9AAAgRdEjHpw873.png
  (3)配置好IIS,建立好你的测试网站,然后打开IE浏览器,确认使用VIP和Web服务器的实际IP都可以访问
  telnet 192.168.0.183 80
  telnet 192.168.0.184 80
  telnet 192.168.0.188 80
  2. 配置LVS+Keepalived
  LVS端操作:在director1上操作
  (1). 安装keepalived编译所需要的依赖软件
  yum -y install gcc kernel-devel openssl-devel
  (2). 编译安装keepalived-1.2.19.tar.gz
  tar -zxf keepavlived-1.2.19.tar.gz
  cd keepalived-1.2.19
  ./configure --sysconf=/etc/ --with-kernel-dir=/usr/src/kernels/2.6.32-573.12.1.el6.x86_64/
  make
  make install
  

  (3). 创建keepalived的命令链接
  ln -s /usr/local/sbin/keepalived /sbin
  (4). 修改keepalived配置文件
  cd /etc/keepalived
  cp keepalived.conf keepalived.conf.bak
  vim keepalived.conf
  在priority 100 下新增unicast_src_ip,这个新增的选项是防止在只支持单播IP地址环境下,master lvs和backup lvs争抢master角色,导致两台LVS上都绑定了VIP,进而导致访问后台web服务器时,所有连接全都集中到一台web服务器上。
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s2.运维网.com/wyfs02/M00/78/74/wKioL1Z8_NyyBQ6RAAAICPPp41Q091.png
  在 virtual_ipaddress ***释掉原有的IP,新增VIP 192.168.0.188
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M02/78/76/wKiom1Z8_Mazgq9iAAAJHqmd-ZQ286.png
  编辑virtual_server 如下图所示
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M01/78/76/wKiom1Z8_MaCxuzXAAAtc7OhQjs150.png
  保存退出
  (5). 开启IP地址转发功能
  vi /etc/sysctl.conf
  net.ipv4.ip_forward = 1
  sysctl -p(使设置立即生效)
  (6). 安装ipvsadm
  yum -y install ipvsadm
  (7). 启动keepalived并添加到开机自启动
  service keepalived start
  chkconfig --add keepalived
  chkconfig keepalived on
  (8). 在director2上进行同样的操作,唯一的区别是在第4步编辑keepalived.conf文件的时候,把vrrp_instance 选项下面的state 改为BACKUP,同时把priority 由100改为80。
  (9). 启动backup lvs
  service keepalived start
  (10). 使用ip addr命令查看VIP绑定情况,可以看到VIP确实已经绑定成功了。
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M00/78/74/wKioL1Z8_NyTzGhMAAAnja6aBdk478.png
  3. 使用同网段的IP地址客户端访问后端web网页,即打开http://192.168.0.188,查看网页是否正常。我这里确认是可以成功打开的
  4. 测试
  (1)断开其中一台web服务器,刷新网页,发现网页终端了1秒钟,再次刷新后正常,使用ipvsadm -lcn查看时发现已经自动转移到正常的web服务器上了
  (2)断开master LVS,查看backup LVS的日志,发现BACKUP LVS成功切换到MASETER状态,VIP也成功绑定到网卡eth0上,说明LVS正常工作。
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s2.运维网.com/wyfs02/M00/78/76/wKiom1Z8_MfzYhFmAAA2QJv24-I056.png
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s2.运维网.com/wyfs02/M01/78/74/wKioL1Z8_N2CiOWbAAAfbrrQwUI611.png
  FAQ:错误笔记
  (1). 因为Keepalived不会自动检查配置文件的语法,所以配置文件的语法错误都要自己手动检查,所以一定要仔细。在配置过程中可能遇到的错误是:
  TCP_CHECK和{ 之间一定要有空格隔开,否则会配置出错,出错的症状是使用ipvsadm -L -n 只看到1台realserver;
http://s5.运维网.com/wyfs02/M02/78/74/wKioL1Z8_euRhD2bAAAaWaKzzJM566.png



页: [1]
查看完整版本: LVS+Keepalived+IIS 配置过程高可用负载均衡web服务器