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

时间:2021-02-21 03:06:46


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


说到Exchange的话题,相信管理员都很敏感,为什么这么说呢,因为作为一个Exchange管理员的话,Exchange的服务运行状态是一个管理员最关心的问题,只要提高Exchange高可用性,管理员的工作相对比较轻松一点,如果Exchange不做高可用的话,只要其中一个服务有问题就会导致所有相关用户服务不可用,当然说到这,我们再说说Exchange2016的高可用性配置介绍,我们前面文章中也有介绍到,Exchange2016已经将角色集中到了一个Mailbox功能上,只要发布一个Mailbox角色,所有的服务都可用,但是对于微软的Exchange2016架构更新来说,如果在外网实现高可用性,需要借助到F5或者智能DNS做帮忙了,这样才可以实现高可用性,当然不排除还有其他方法;我们在前面的其中一篇文章中有介绍,如果将Exchange服务器做DAG高可用性后,然后将DAG所对应VIP对外发布应该也是可以的,但是我是测试环境,所以使用TMG进行了发布,如果使用TMG发布DAGVIP对外用户使用的话,会有访问上的问题,当发布后,用户访问的试试提示找不到对应的虚拟主机,当然对于这个问题来说,其实也不是Exchange2016架构更新的问题,也许是TMG的问题,因为TMG服务微软从2010年开始就已经放弃更新了,所以多少肯定会跟TMG 的发布服务有关系,所以呢,为了试验的顺利进行,我就借助了Linux下部署LVS+Keepalived进行Exchange2016CAS高可用性部署,具体见下吧~

我们继续前面的环境介绍,我们已经做好了DAG的相关配置信息。

环境介绍:

Hostname:Iternal-DC

IP:10.10.1.254

Role:DCCA、见证服务器

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

配置网络

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

关闭selinux配置

vim/etc/selinux/config

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

然后修改计算机名

hostnamectl set-hostname LVS01

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

修改计算机名及selinux配置后,需要重启系统后才能生效

Centos7+LVS+Keepalived实现Exchange2016高可用性我们按照上面的方式同样配置lvs02的相关配置信息

首先是修改网络配置

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

同样关闭selinux性能调优

vim/etc/selinux/config

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

hostnameset-hostname LVS02 reboot重启

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

最后我们记得关闭防火墙,不然需要设置防火墙规则,在此我先将防火墙关闭,因为我是实验环境,如果在真实环境的话,建议不关闭防火墙

systemctl stop firewalld systemctl disabled firewalld

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

最后我们在内部的dns上添加两台dns解析记录

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

安装操作工具

yuminstall -y vim yuminstall -y net-tools yuminstall -y wget

接下来我们就可以安装配置LVS了,我们需要安装

ipvsadm和keeplive

我们首先安装ipvsadm

yuminstall ipvsadm -y

Centos7+LVS+Keepalived实现Exchange2016高可用性完成安装

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

接下来安装keeplive

首先是安装必要条件

yum install -y gcc openssl openssl-devel

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

注:

如果无法使用yum在线安装我们需要通过以下方式进行下载进行编译安装。

wgethttp://www.keepalived.org/software/keepalived-1.2.19.tar.gz

我们环境内可以直接使用yum install 直接安装

yum  install -y keepalived

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

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

我们查看keepalived的版本及安装目录

rep -qa | grep keepalived find/ -name keepalived

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

当然在安装完成后,我们还需要按照以上的方法安装LVS02服务器,这样达到高可用的效果,

接着我们是在lvs02上也安装

首先是安装先决条件

yum  install -y gcc openssl openssl-devel

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

yum install -y keepalived

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

我们在操作前,将keepalived.conf备份一份,所以建议大家都这么做

cp/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

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

编辑以下内容,

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

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

cd/etc/sysctl.d/

查看是否生成一个路由转发文件-=----99-ipvs.conf 

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

net.ipv4.ip_forward= 1net.ipv4.conf.all.send_redirects= 0net.ipv4.conf.default.send_redirects= 0net.ipv4.conf.eno16777984.send_redirects= 0


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

设置后,我们可以查看keepalived的状态

ipvsadm -l

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

因为我们是两台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

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

接下来就是添加回路网卡

devmgmt.msc打开设备管理器

单击网络适配器-----操作---添加过时硬件

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

然后选择----网络适配器

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

然后选择Microsoft----MicrosoftKM-TEST 环回适配器

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

开始安装

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

安装完成后,我们开始命名网卡名称及配置地址

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

最好建议重命名一下网络名称,方便管理:

Exchange为服务器的管理地址及服务地址:10.10.1.11

EX-LB-VIP为回环地址:10.10.1.20 

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

然后配置vip地址:

10.10.1.20

255.255.255.255----一定是4255 

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

接下来已管理员域名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

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

注:添加回路网卡及执行已命令我们需要在对应的exchange服务器本地都需要执行操作。

所以我们需要在两台机器上都要执行对应的相关操作

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

最后因为我们需要在外网进行访问,所以首先需要添加外部解析域名

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

域名定义好后,我们需要修改TMG发布虚拟IP进行测试了

内部将keepalived的虚拟ip也解析域名为mail.iternalsoft.com 

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

再次我们如果使用TMG发布Exchange OWA服务的话会出现问题,主要是问题回顾

Centos7+LVS+Keepalived实现Exchange2016高可用性访问目标地址

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

最后我们通过外部的域名进行访问测试进行用户的owa登陆测试

Centos7+LVS+Keepalived实现Exchange2016高可用性经过测试OWA提示说是证书有问题;

其实证书是没有问题的,如果单独发布Exchange服务器的主机是可以的;

依次判断是虚拟ip这样发布不行

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

我们下载CA的根证书及证书链后安装到ISA服务器

我们按照错误将根证书导入到TMG中再次尝试

Centos7+LVS+Keepalived实现Exchange2016高可用性导入证书及证书链

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

通过以上方法还是未能解决,所以最后呢,我们就直接将443端口发布到外网了,发布到外网就可以直接访问了

发布非web服务器协议发布规则

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

服务器选择LVS服务器的虚拟IP地址

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

发布选择TCP 443端口即可--=新建

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

方向:入站

端口范围: 443 

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

选择外网IP地址

Centos7+LVS+Keepalived实现Exchange2016高可用性成功发布后,见详图

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

最后我们可以通过在外网访问owa服务

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

同时也可以访问ECP服务

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

最后我们就是测试高可用性了,我们可以将LVS两台服务器中的其中一台服务关闭,然后使用IPVSADM 进行查看高可用的效果。

Centos7+LVS+Keepalived实现Exchange2016高可用性通过以上配置,只要我们其中一台服务器Down机后,我们的Exchange服务会持续运行。



本文出自 “高文龙” 博客,谢绝转载!