7007 发表于 2018-12-28 12:46:03

Centos7+LVS+Keepalived实现Exchange2016高可用性

  

  Centos7+LVS+Keepalived实现Exchange2016高可用性
  

  说到Exchange的话题,相信管理员都很敏感,为什么这么说呢,因为作为一个Exchange管理员的话,Exchange的服务运行状态是一个管理员最关心的问题,只要提高Exchange高可用性,管理员的工作相对比较轻松一点,如果Exchange不做高可用的话,只要其中一个服务有问题就会导致所有相关用户服务不可用,当然说到这,我们再说说Exchange2016的高可用性配置介绍,我们前面文章中也有介绍到,Exchange2016已经将角色集中到了一个Mailbox功能上,只要发布一个Mailbox角色,所有的服务都可用,但是对于微软的Exchange2016架构更新来说,如果在外网实现高可用性,需要借助到F5或者智能DNS做帮忙了,这样才可以实现高可用性,当然不排除还有其他方法;我们在前面的其中一篇文章中有介绍,如果将Exchange服务器做DAG高可用性后,然后将DAG所对应VIP对外发布应该也是可以的,但是我是测试环境,所以使用TMG进行了发布,如果使用TMG发布DAG的VIP对外用户使用的话,会有访问上的问题,当发布后,用户访问的试试提示找不到对应的虚拟主机,当然对于这个问题来说,其实也不是Exchange2016架构更新的问题,也许是TMG的问题,因为TMG服务微软从2010年开始就已经放弃更新了,所以多少肯定会跟TMG 的发布服务有关系,所以呢,为了试验的顺利进行,我就借助了Linux下部署LVS+Keepalived进行Exchange2016的CAS高可用性部署,具体见下吧~
  我们继续前面的环境介绍,我们已经做好了DAG的相关配置信息。
  环境介绍:
  Hostname:Iternal-DC
  IP:10.10.1.254
  Role:DC、CA、见证服务器
  Hostname:Iternal-Ex01
  IP:10.10.1.11
  Role:Exchange2016
  Hostname:Iternal-Ex02
  IP:10.10.1.12
  Role:Exchange2016
  Hostname:Iternal-TMG
  IP:10.10.1.1
  Role:Gateway
  DAG:10.10.1.10
  Hostname:LVS01
  ip:10.10.1.21
  Role:lvsServer
  Hostname:LVS02
  ip:10.10.1.22
  Role:lvsServer
  VIP:10.10.1.20
  配置网络
http://s2.运维网.com/wyfs02/M01/75/B5/wKiom1ZAk5rxWDSJAAKjCeXHXJE083.jpg
  关闭selinux配置
vim/etc/selinux/confighttp://s2.运维网.com/wyfs02/M00/75/B3/wKioL1ZAlAHgr692AAMsO63eHfo989.jpg
  然后修改计算机名
hostnamectl set-hostname LVS01http://s3.运维网.com/wyfs02/M01/75/B3/wKioL1ZAlBijAwWhAAKlI7tKp7g477.jpg
  修改计算机名及selinux配置后,需要重启系统后才能生效
http://s2.运维网.com/wyfs02/M01/75/B3/wKioL1ZAlD2wdvW2AAIJAAizeMU260.jpg我们按照上面的方式同样配置lvs02的相关配置信息
  
  首先是修改网络配置
http://s3.运维网.com/wyfs02/M00/75/B5/wKiom1ZAlBGg7DQNAAKzRz5hcYo433.jpg
  同样关闭selinux性能调优
vim/etc/selinux/confighttp://s5.运维网.com/wyfs02/M00/75/B5/wKiom1ZAlC3SJZVBAAFZ8KtNE0c249.jpg
hostnameset-hostname LVS02
reboot重启http://s2.运维网.com/wyfs02/M01/75/B5/wKiom1ZAlEbAR83JAAHixRw5lsY283.jpg
  最后我们记得关闭防火墙,不然需要设置防火墙规则,在此我先将防火墙关闭,因为我是实验环境,如果在真实环境的话,建议不关闭防火墙
systemctl stop firewalld
systemctl disabled firewalldhttp://s1.运维网.com/wyfs02/M02/75/B5/wKiom1ZAlGfi3ejkAAJIycNFvbI417.jpg
  最后我们在内部的dns上添加两台dns解析记录
http://s3.运维网.com/wyfs02/M02/75/B5/wKiom1ZAlIGyoVDoAALQxZsa5AM301.jpg
  安装操作工具
yuminstall -y vim
yuminstall -y net-tools
yuminstall -y wget  接下来我们就可以安装配置LVS了,我们需要安装

  
ipvsadm和keeplive  我们首先安装ipvsadm

yuminstall ipvsadm -yhttp://s1.运维网.com/wyfs02/M00/75/B5/wKiom1ZAlLSTFBTtAAOrXj42-x8048.jpg完成安装
http://s5.运维网.com/wyfs02/M00/75/B5/wKiom1ZAlNXxs_hqAAPQklXrCDw629.jpg
  接下来安装keeplive
  首先是安装必要条件
yum install -y gcc openssl openssl-devel  http://s3.运维网.com/wyfs02/M01/75/B5/wKiom1ZAlPawzlIOAARA1S0jNu0534.jpg
  注:
  如果无法使用yum在线安装我们需要通过以下方式进行下载进行编译安装。
  wgethttp://www.keepalived.org/software/keepalived-1.2.19.tar.gz
  我们环境内可以直接使用yum install 直接安装
yuminstall -y keepalived  
http://s1.运维网.com/wyfs02/M02/75/B5/wKiom1ZAlTiRLwh6AAP1Vn75F30504.jpg
http://s2.运维网.com/wyfs02/M01/75/B3/wKioL1ZAlX_AX3LRAAOY2Rv6nW0670.jpg
  我们查看keepalived的版本及安装目录
rep -qa | grep keepalived
find/ -name keepalived  http://s5.运维网.com/wyfs02/M01/75/B3/wKioL1ZAlaiSpsQbAAE5g0_Lg24952.jpg
  当然在安装完成后,我们还需要按照以上的方法安装LVS02服务器,这样达到高可用的效果,
  接着我们是在lvs02上也安装
  首先是安装先决条件
yuminstall -y gcc openssl openssl-develhttp://s3.运维网.com/wyfs02/M00/75/B5/wKiom1ZAlZ-i1H41AARiTGYJ-So797.jpg
yum install -y keepalivedhttp://s4.运维网.com/wyfs02/M01/75/B5/wKiom1ZAldmBi4mtAARiYOvUfrs514.jpghttp://s1.运维网.com/wyfs02/M02/75/B5/wKiom1ZAlffiy6s4AAPIJ1Z5oKI150.jpg
  我们在操作前,将keepalived.conf备份一份,所以建议大家都这么做
cp/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak  http://s2.运维网.com/wyfs02/M00/75/B5/wKiom1ZAlhmjGOj4AADIt03SLi8645.jpg
  编辑以下内容,
vim/etc/keepalived/keepalived.conf  我们可以清空内容,然后将以下内容粘贴复制即可
echo >/etc/keepalived/keepalived.conf!Configuration File for keepalived
global_defs{
router_idEX-LB
}
vrrp_sync_groupEX-LB-Group {
group{
EX-LB-Vrrp
    }
}
vrrp_instanceEX-LB-Vrrp {
stateMASTER
interfaceeno16777984
virtual_router_id51
priority100
advert_int5
authentication{
auth_typePASS
auth_passLB-EX
    }
virtual_ipaddress{
10.10.1.20
    }
}
virtual_server10.10.1.20 443 {
delay_loop6
lb_algolc
lb_kindDR
nat_mask255.255.255.0
persistence_timeout50
protocolTCP
real_server10.10.1.11 443 {
weight1
TCP_CHECK{
connect_timeout3
nb_get_retry3
delay_before_retry3
    }
}
real_server10.10.1.12 443 {
weight1
TCP_CHECK{
connect_timeout3
nb_get_retry3
delay_before_retry3
   }
}
}
virtual_server10.10.1.20 80 {
delay_loop6
lb_algolc
lb_kindDR
nat_mask255.255.255.0
persistence_timeout50
protocolTCP
real_server10.10.1.11 80 {
weight1
TCP_CHECK{
connect_timeout3
nb_get_retry3
delay_before_retry3
   }
}
real_server10.10.1.12 80 {
weight1
TCP_CHECK{
connect_timeout3
nb_get_retry3
delay_before_retry3
      }
    }
}  
  保存后,我们需要设置转发
echo0 >/proc/sys/net/ipv4/conf/default/send_redirects
echo0 >/proc/sys/net/ipv4/conf/all/send_redirects
echo0 >/proc/sys/net/ipv4/conf/eno16777984/send_redirects
echo0 >/proc/sys/net/ipv4/ip_forwardhttp://s4.运维网.com/wyfs02/M00/75/B3/wKioL1ZAlsyAxAucAADqT8rw-wQ129.jpg
  cd/etc/sysctl.d/
  查看是否生成一个路由转发文件-=----99-ipvs.conf
http://s1.运维网.com/wyfs02/M02/75/B5/wKiom1ZAlq3x-FUiAAD110h02t0522.jpg
net.ipv4.ip_forward
= 1
net.ipv4.conf.all.send_redirects
= 0
net.ipv4.conf.default.send_redirects
= 0
net.ipv4.conf.eno16777984.send_redirects
= 0  
  

http://s5.运维网.com/wyfs02/M01/75/B3/wKioL1ZAlySTVgROAACPPUvc-68323.jpg
  设置后,我们可以查看keepalived的状态
ipvsadm -lhttp://s1.运维网.com/wyfs02/M02/75/B6/wKiom1ZAlvihDgnWAAF5lLt9U9o002.jpg
  因为我们是两台LVS服务器,所以我们需要使用以下命令将指定目录的配置文件(keepalived.conf)复制到目标服务器上(10.10.1.22)及覆盖(keepalived.conf)
scp/etc/keepalived/keepalived.conf 10.10.1.22:/etc/keepalived/keepalived.conf
scp/etc/sysctl.d/99-ipvs.conf 10.10.1.22:/etc/sysctl.d/99-ipvs.conf  操作完以上所有操作后,接下来我们需要将keepalived服务启动就可以测试了
systemctlstart keepalived  http://s1.运维网.com/wyfs02/M00/75/B3/wKioL1ZAl5GBCbB5AARl90IDUc8847.jpg
  接下来就是添加回路网卡
  devmgmt.msc打开设备管理器
  单击网络适配器-----操作---添加过时硬件
http://s2.运维网.com/wyfs02/M00/75/B6/wKiom1ZAl3WRchT5AANqtiHdC_Y917.jpg
  然后选择----网络适配器
http://s5.运维网.com/wyfs02/M01/75/B6/wKiom1ZAl4LzYWpDAAN0UC9aEYg130.jpg
  然后选择Microsoft----MicrosoftKM-TEST 环回适配器
http://s4.运维网.com/wyfs02/M02/75/B6/wKiom1ZAl6rBJQ-6AAPm9FiBY8c760.jpg
  开始安装
http://s4.运维网.com/wyfs02/M00/75/B6/wKiom1ZAl8CAWC4IAAJo8zy2_xM695.jpg
  安装完成后,我们开始命名网卡名称及配置地址
http://s1.运维网.com/wyfs02/M02/75/B3/wKioL1ZAmDTRC5anAALjdaedcGQ357.jpg
  最好建议重命名一下网络名称,方便管理:
  Exchange为服务器的管理地址及服务地址:10.10.1.11
  EX-LB-VIP为回环地址:10.10.1.20
http://s5.运维网.com/wyfs02/M02/75/B3/wKioL1ZAmELgt_vuAAIMBawmTS4206.jpg
  然后配置vip地址:
  10.10.1.20
  255.255.255.255----一定是4个255
http://s1.运维网.com/wyfs02/M01/75/B6/wKiom1ZAmBqgWF1OAAMczOpBHYE843.jpg
  接下来已管理员域名cmd执行以下命令--这样lookback地址就可以跨网卡回复数据包了
netshinterface ipv4 set interface "Exchange" weakhostreceive=enabled
netshinterface ipv4 set interface "Exchange" weakhostsend=enabled
netshinterface ipv4 set interface "EX-LB-VIP" weakhostreceive=enabled
netshinterface ipv4 set interface "EX-LB-VIP" weakhostsend=enable  http://s3.运维网.com/wyfs02/M02/75/B6/wKiom1ZAmDjTAGhpAAKgyt_tkME481.jpg
  注:添加回路网卡及执行已命令我们需要在对应的exchange服务器本地都需要执行操作。
  所以我们需要在两台机器上都要执行对应的相关操作
http://s3.运维网.com/wyfs02/M02/75/B3/wKioL1ZAmJSTOgY2AAM2Dt9tMw4659.jpg
  最后因为我们需要在外网进行访问,所以首先需要添加外部解析域名
http://s3.运维网.com/wyfs02/M00/75/B6/wKiom1ZAmGThfAnaAALBk0zab6U684.jpg
  域名定义好后,我们需要修改TMG发布虚拟IP进行测试了
  内部将keepalived的虚拟ip也解析域名为mail.iternalsoft.com
http://s4.运维网.com/wyfs02/M01/75/B6/wKiom1ZAmIuAb7IrAAK37MBPLz0813.jpg
  再次我们如果使用TMG发布Exchange OWA服务的话会出现问题,主要是问题回顾
http://s1.运维网.com/wyfs02/M02/75/B6/wKiom1ZAmKDSVx7AAAV6Iav6tPY774.jpg访问目标地址
http://s5.运维网.com/wyfs02/M00/75/B6/wKiom1ZAmMWQv624AAVjvxLJO7k305.jpg
  最后我们通过外部的域名进行访问测试进行用户的owa登陆测试
http://s1.运维网.com/wyfs02/M01/75/B6/wKiom1ZAmNmBUiscAAH_BSbOugQ200.jpg经过测试OWA提示说是证书有问题;
  其实证书是没有问题的,如果单独发布Exchange服务器的主机是可以的;
  依次判断是虚拟ip这样发布不行
http://s3.运维网.com/wyfs02/M02/75/B6/wKiom1ZAmQOjjr0PAATlYICMkjc619.jpghttp://s3.运维网.com/wyfs02/M02/75/B3/wKioL1ZAmYbAS7QyAACwrhNubHk095.jpg
  我们下载CA的根证书及证书链后安装到ISA服务器
  我们按照错误将根证书导入到TMG中再次尝试
http://s4.运维网.com/wyfs02/M00/75/B4/wKioL1ZAmZqAYzGQAAJkl-Qfm5A160.jpg导入证书及证书链
http://s4.运维网.com/wyfs02/M00/75/B6/wKiom1ZAmW6B2o-cAAOJNmUcQDE329.jpg
  通过以上方法还是未能解决,所以最后呢,我们就直接将443端口发布到外网了,发布到外网就可以直接访问了
  发布非web服务器协议发布规则
http://s3.运维网.com/wyfs02/M00/75/B4/wKioL1ZAmdHiPvLjAAXG3yGF3Ys139.jpg
  服务器选择LVS服务器的虚拟IP地址
http://s2.运维网.com/wyfs02/M01/75/B4/wKioL1ZAmemC6QeAAAROS_7gLAw216.jpg
  发布选择TCP 443端口即可--=新建
http://s4.运维网.com/wyfs02/M00/75/B6/wKiom1ZAmdqBS1lMAAQ9Dqbl1Vs599.jpg
  方向:入站
  端口范围: 443
http://s1.运维网.com/wyfs02/M01/75/B6/wKiom1ZAmfbhqOlRAARt8lMp0K4740.jpg
  选择外网IP地址
http://s3.运维网.com/wyfs02/M02/75/B6/wKiom1ZAmhmTiI9MAAVdYVmeRNs758.jpg成功发布后,见详图
http://s3.运维网.com/wyfs02/M02/75/B4/wKioL1ZAmm-BRIfkAAXWbkr_vHQ695.jpg
  最后我们可以通过在外网访问owa服务
http://s3.运维网.com/wyfs02/M01/75/B6/wKiom1ZAmk7zef-vAAFpNZfujw0158.jpg
  同时也可以访问ECP服务

  
http://s5.运维网.com/wyfs02/M01/75/B6/wKiom1ZAmlyQfTGiAAGQwQ17Mwk653.jpg
  最后我们就是测试高可用性了,我们可以将LVS两台服务器中的其中一台服务关闭,然后使用IPVSADM 进行查看高可用的效果。
http://s2.运维网.com/wyfs02/M02/75/B4/wKioL1ZAmtiBhKmGAAF5lLt9U9o599.jpg通过以上配置,只要我们其中一台服务器Down机后,我们的Exchange服务会持续运行。
  

  




冷血傲情 发表于 2020-11-2 16:18:35

看了LZ的帖子,我只想说一句很好很强大!
页: [1]
查看完整版本: Centos7+LVS+Keepalived实现Exchange2016高可用性