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
配置网络
关闭selinux配置
vim/etc/selinux/config
然后修改计算机名
hostnamectl set-hostname LVS01
修改计算机名及selinux配置后,需要重启系统后才能生效
首先是修改网络配置
同样关闭selinux性能调优
vim/etc/selinux/config
hostnameset-hostname LVS02 reboot重启
最后我们记得关闭防火墙,不然需要设置防火墙规则,在此我先将防火墙关闭,因为我是实验环境,如果在真实环境的话,建议不关闭防火墙
systemctl stop firewalld systemctl disabled firewalld
最后我们在内部的dns上添加两台dns解析记录
安装操作工具
yuminstall -y vim yuminstall -y net-tools yuminstall -y wget
接下来我们就可以安装配置LVS了,我们需要安装
ipvsadm和keeplive
我们首先安装ipvsadm
yuminstall ipvsadm -y
接下来安装keeplive
首先是安装必要条件
yum install -y gcc openssl openssl-devel
注:
如果无法使用yum在线安装我们需要通过以下方式进行下载进行编译安装。
wgethttp://www.keepalived.org/software/keepalived-1.2.19.tar.gz
我们环境内可以直接使用yum install 直接安装
yum install -y keepalived
我们查看keepalived的版本及安装目录
rep -qa | grep keepalived find/ -name keepalived
当然在安装完成后,我们还需要按照以上的方法安装LVS02服务器,这样达到高可用的效果,
接着我们是在lvs02上也安装
首先是安装先决条件
yum install -y gcc openssl openssl-devel
yum install -y keepalived
我们在操作前,将keepalived.conf备份一份,所以建议大家都这么做
cp/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
编辑以下内容,
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_forward
cd/etc/sysctl.d/
查看是否生成一个路由转发文件-=----99-ipvs.conf
net.ipv4.ip_forward= 1net.ipv4.conf.all.send_redirects= 0net.ipv4.conf.default.send_redirects= 0net.ipv4.conf.eno16777984.send_redirects= 0
设置后,我们可以查看keepalived的状态
ipvsadm -l
因为我们是两台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
接下来就是添加回路网卡
devmgmt.msc打开设备管理器
单击网络适配器-----操作---添加过时硬件
然后选择----网络适配器
然后选择Microsoft----MicrosoftKM-TEST 环回适配器
开始安装
安装完成后,我们开始命名网卡名称及配置地址
最好建议重命名一下网络名称,方便管理:
Exchange为服务器的管理地址及服务地址:10.10.1.11
EX-LB-VIP为回环地址:10.10.1.20
然后配置vip地址:
10.10.1.20
255.255.255.255----一定是4个255
接下来已管理员域名cmd执行以下命令--这样lookback地址就可以跨网卡回复数据包了
netshinterface ipv4 set interface "Exchange" weakhostreceive=enablednetshinterface ipv4 set interface "Exchange" weakhostsend=enablednetshinterface ipv4 set interface "EX-LB-VIP" weakhostreceive=enablednetshinterface ipv4 set interface "EX-LB-VIP" weakhostsend=enable
注:添加回路网卡及执行已命令我们需要在对应的exchange服务器本地都需要执行操作。
所以我们需要在两台机器上都要执行对应的相关操作
最后因为我们需要在外网进行访问,所以首先需要添加外部解析域名
域名定义好后,我们需要修改TMG发布虚拟IP进行测试了
内部将keepalived的虚拟ip也解析域名为mail.iternalsoft.com
再次我们如果使用TMG发布Exchange OWA服务的话会出现问题,主要是问题回顾
最后我们通过外部的域名进行访问测试进行用户的owa登陆测试
其实证书是没有问题的,如果单独发布Exchange服务器的主机是可以的;
依次判断是虚拟ip这样发布不行
我们下载CA的根证书及证书链后安装到ISA服务器
我们按照错误将根证书导入到TMG中再次尝试
通过以上方法还是未能解决,所以最后呢,我们就直接将443端口发布到外网了,发布到外网就可以直接访问了
发布非web服务器协议发布规则
服务器选择LVS服务器的虚拟IP地址
发布选择TCP 443端口即可--=新建
方向:入站
端口范围: 443
选择外网IP地址
最后我们可以通过在外网访问owa服务
同时也可以访问ECP服务
最后我们就是测试高可用性了,我们可以将LVS两台服务器中的其中一台服务关闭,然后使用IPVSADM 进行查看高可用的效果。
通过以上配置,只要我们其中一台服务器Down机后,我们的Exchange服务会持续运行。
本文出自 “高文龙” 博客,谢绝转载!