说到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配置
1
|
vim
/etc/selinux/config
|
然后修改计算机名
1
|
hostnamectl
set
-
hostname
LVS01
|
修改计算机名及selinux配置后,需要重启系统后才能生效
首先是修改网络配置
同样关闭selinux性能调优
1
|
vim
/etc/selinux/config
|
1
2
|
hostnameset-
hostname
LVS02
reboot重启
|
最后我们记得关闭防火墙,不然需要设置防火墙规则,在此我先将防火墙关闭,因为我是实验环境,如果在真实环境的话,建议不关闭防火墙
1
2
|
systemctl stop firewalld
systemctl disabled firewalld
|
最后我们在内部的dns上添加两台dns解析记录
安装操作工具
1
2
3
|
yuminstall -y vim
yuminstall -y net-tools
yuminstall -y wget
|
接下来我们就可以安装配置LVS了,我们需要安装
1
|
ipvsadm和keeplive
|
我们首先安装ipvsadm
1
|
yuminstall ipvsadm -y
|
接下来安装keeplive
首先是安装必要条件
1
|
yum
install
-y gcc openssl openssl-devel
|
注:
如果无法使用yum在线安装我们需要通过以下方式进行下载进行编译安装。
wgethttp://www.keepalived.org/software/keepalived-1.2.19.tar.gz
我们环境内可以直接使用yum install 直接安装
1
|
yum
install
-y keepalived
|
我们查看keepalived的版本及安装目录
1
2
|
rep -qa |
grep
keepalived
find
/ -name keepalived
|
当然在安装完成后,我们还需要按照以上的方法安装LVS02服务器,这样达到高可用的效果,
接着我们是在lvs02上也安装
首先是安装先决条件
1
|
yum
install
-y gcc openssl openssl-devel
|
1
|
yum
install
-y keepalived
|
我们在操作前,将keepalived.conf备份一份,所以建议大家都这么做
1
|
cp
/etc/keepalived/keepalived
.conf
/etc/keepalived/keepalived
.conf.bak
|
编辑以下内容,
1
|
vim
/etc/keepalived/keepalived
.conf
|
我们可以清空内容,然后将以下内容粘贴复制即可
1
|
echo
>
/etc/keepalived/keepalived
.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
!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
}
}
}
|
保存后,我们需要设置转发
1
2
3
4
|
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
1
2
3
4
5
6
7
8
|
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
|
设置后,我们可以查看keepalived的状态
1
|
ipvsadm -l
|
因为我们是两台LVS服务器,所以我们需要使用以下命令将指定目录的配置文件(keepalived.conf)复制到目标服务器上(10.10.1.22)及覆盖(keepalived.conf)
1
2
|
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服务启动就可以测试了
1
|
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地址就可以跨网卡回复数据包了
1
2
3
4
|
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
|
注:添加回路网卡及执行已命令我们需要在对应的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服务会持续运行。
本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1711194,如需转载请自行联系原作者