一次典型的TFS故障处理:域控失联
问题描述
突然收到客户报告,开发人员登录TFS系统时,出现登录异常现象。即使输入了正确的账户和密码,TFS系统任然提示重新登录的页面,导致用户无法打开TFS系统。
即使登录成功,在修改代码或者修改工作项的工程中,系统时而提示“管理员取消了操作”。
现象如下图:

处理过程
1. 接到报告后,我们立刻在多个客户端上验证,重现了用户反馈的问题,并确认问题出在TFS系统服务端,而不是个别开发人员计算机的问题。
2. 根据问题现象,迅速排查TFS服务器中的日志和配置信息,发现DNS正常,数据库和应用服务器之间的访问都正常,使用数据库客户端访问单台数据库,都可以正常访问。但是出现一些奇怪的现象:
- 使用数据库客户端访问SQL Server AlwaysOn的集群IP,系统提示提示“目标主体名称不正确。无法生产SSP1上下文”,如下图。
- TFS集群中的所有服务器出现不能访问域控服务器(AD服务器)的现象,
- TFS服务器到域控服务器之间的TCP 135端口不通。
TFS服务器系统的认证方式是通过AD服务器实现的,没有AD服务器提供的基础认证服务器,系统是不可能正常运行的。
由此,我们判断TFS系统异常的原因是由于不能访问域控导致的。结合当天运维组调整生产区和测试区的防火墙策略,初步断定是防火墙的策略导致了TFS系统和域控之间的网络隔离。

3. 我们迅速联系了运维组负责人,并将相关技术人员拉入到微信群,协同分析原因,寻求迅速解决问题的方案。
解决方案
经过运维组相关人员分析确认,当日变更的防火墙策略阻挡了TFS服务器和域控之间的135端口通信。
运维人员立即取消TFS系统和域控之间的防火墙策略。防火墙策略生效后,可以看到TFS系统可以正常访问域控服务器,TFS服务器也立刻恢复正常,服务器不需要做任何重启操作。
经过验证,TFS系统的基本功能(例如登录、修改工作项、需改代码)都恢复正常。
总结教训
这是一次比较典型的TFS服务器故障处理过程,通过总结分析本次故障的原因和处理过程,类似问题应该注意以下几点:
1. 防火墙策略调整前,需要提前(至少2-3日)通知TFS系统的负责人,以便提取做好相关的调研和预备方案
2. TFS系统依赖的系统(例如域控服务器、邮箱服务器、DNS服务器、需求管理平台等)做相关调整或升级前,需要提前通知TFS系统负责人,以便提前做好相关准备
3. 相关配置调整后、相关系统调整升级后,需要通知TFS负责人验证,是否对TFS系统产生了直接影响
微软DevOps MVP 张洪君 http://www.cnblogs.com/danzhang
--End--
一次典型的TFS故障处理:域控失联的更多相关文章
- Windows2012中安装域控(DC) + SQL Server 2014 + TFS 2015
安装域控(DC) 修改计算机名 修改固定IP 添加角色 选择“Role-based or feature-based installation” 选择本机 选择“Active Directory Do ...
- 【CTF】msf和impacket联合拿域控内网渗透-拿域控
前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- Windows2012R2备用域控搭建
Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自己的ip,备dns:备域控的ip备域控的主dns:自己的ip,备dns:主域控的ip 客户端主dns:主域控的ip,备dns: ...
- 如何将VCSA添加到微软域控环境,并且实现微软域账号登陆vCenter
v:* { } o:* { } w:* { } .shape { } p.msonormal,li.msonormal,div.msonormal { margin: 0cm; margin-bott ...
- (转)从0开始搭建SQL Server AlwaysOn 第一篇(配置域控+域用户DCADMIN)
原文地址: http://www.cnblogs.com/lyhabc/p/4678330.html 实验环境: 准备工作 软件准备 (1) SQL Server 2012 (2) Windows S ...
- Hyper-V 2012 R2 故障转移群集之建立域控(AD DS)与加入域
Windows 2012 R2建立域控(AD DS)与加入域 Active Directory概述: 使用 Active Directory(R) 域服务 (AD DS) 服务器角 ...
- Windows Server 2008 R2 域控DOS命令
net user #查看本地用户 net localgroup ...
- Windows Server 2008 R2域控组策略设置禁用USB
问题: Windows Server 2008 R2域控服务器如何禁用客户端使用USB移动存储(客户端操作系统需要 Windows Vista以上的操作系统,XP以下的操作系统不能禁用USB移动存储) ...
随机推荐
- Imageview 按比例适应屏幕大小
DisplayMetrics dm = new DisplayMetrics();//取得窗口属性getWindowManager().getDefaultDisplay().getMetrics(d ...
- 不立flag了……
当天刚说再也不想下这游戏了,后来和女友聊了会天视了会屏又动摇了..后悔和她那么计较这些小事,可能玩游戏时生气时就想不起来那么多事了吧..于是游戏过两天就又下回来了.. 这两天培训课程也是很快的感觉,昨 ...
- 提升HTML5的性能体验系列之一 避免切页白屏
窗体切换白屏的现实问题 HTML5的性能比原生差很多,比如切页时白屏.列表滚动不流畅.下拉刷新和上拉翻页卡顿.在低端Android手机上,很多原生App常用的功能和体验效果都很难使用HTML5技术模拟 ...
- barcode(index)
在很多情况下,我们需要把多个样本混合在一起,在同一个通道(lane)里完成测序.像转录组测序.miRNA测序.lncRNA测序.ChIP测序等等,通常每个样本所需要的数据量都比较少,远少于HiSeq一 ...
- wireshark源码分析 一
因为手头的项目需要识别应用层协议,于是想到了wireshark,打算在项目中集成wireshark协议分析代码.在官网上下了最新版的wireshark源代码,我的天啊,200多M,这么多代码文件怎么看 ...
- SpringBoot定制修改Servlet容器
1.如何修改Servlet容器的相关配置: 第一种:在application.properties中修改和server有关的配置(ServerProperties提供): server.port=80 ...
- C语言基础第四次作业
题目7-2,九九乘法表 1.实验代码: #include<stdio.h> int main() { int N, i, j, q; scanf("%d",&N ...
- 对 Service中sqlsession对象的优化
在本线程中添加object数据,必须在本线程中才能获取出来..其他线程获取不到. public class Test { public static void main(String[] args) ...
- Oracle常用命令-用户、表空间、赋权限、导入导出
1.1 删除表空间 drop tablespace QBKJ including contents and datafiles; 1.2 删除用户 drop user admin cascad ...
- spring mvc 文件上传工具类
虽然文件上传在框架中,已经不是什么困难的事情了,但自己还是开发了一个文件上传工具类,是基于springmvc文件上传的. 工具类只需要传入需要的两个参数,就可以上传到任何想要上传的路径: 参数1:Ht ...