sharepoint 加入服务器场,结果在场中的服务器页面,服务实例显示在别的的服务器下

weixin_38065377 2017-08-07 06:38:43
上周在客户那里遇到一个问题,原本SharePoint 2013 场里有一台SharePoint 机器和一台DB,在Central Administration->Servers in the Farm 里面看到 DB 是直接用IP地址命名的。
但是加入一台新的SharePoint服务器后,Servers in the farm 页面没有多出新的机器,反而IP命名的DB服务器上多出了许多服务实例。
一开始以为只是显示出了点错,就没在意,谁知道后来有些界面出错了,原来是ServiceApplicationProxy 找ServiceApplication时找到了DB那台机器上。
于是查为啥SharePoint 服务器加入场时加到DB上去了。Review 了 SPFarm.Join()的代码,里面有一段
foreach (SPServer server in this.Servers) { if (!SPServer.IsLocalAddress(server.Address))
在SharePoint Server上PowerShell里用Reflection调用SPServer.IsLocalAddress(DB的IP地址),结果居然返回True。再继续读 IsLocalAddress() 的代码并在Power Shell里测试,发现原来 DB 的IP地址 DNS 反向解析居然得到的是 SharePoint Server 的机器名。
相关人员修改了DNS相关设置,再把SharePoint服务器加入场,就正常了。





注: 在PowerShell 里用来反向解析 DNS 的代码是 [System.net.dns]::GetHostEntry("10.0.1.1")
...全文
11 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧