一次典型的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移动存储) ...
随机推荐
- Netty 源码 NioEventLoop(三)执行流程
Netty 源码 NioEventLoop(三)执行流程 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 上文提到在启动 N ...
- mysql索引相关
索引有主键索引.唯一索引.普通索引 单列索引,复合索引. 复合索引(a,b,c),可以理解是有三个索引,分别是a.b.c三个索引 前缀不是a的话,复合索引都不起作用,前缀用函数或者是范围,比如< ...
- 对团队项目的NABCD的分析
需求(N):我们的软件是面向广大想记录自己所爱动植物成长点滴的人.目前没有很好地软件,只有手机或者电脑上的笔记本和备忘录. 做法(A):我们的软件可以交流可以节约积累知识的时间,将记录从记事本中摘出来 ...
- 在python中while
一.While循环 1.while循环格式 while 条件 : while循环体 当条件为Ture时,执行循环体,直到条件是假,停止循环. count = 1 # count 计数 一般用于计数 w ...
- 2019.02.06 bzoj2987: Earthquake(类欧几里得)
传送门 题意简述:求满足ax+by+c≤0ax+by+c\le0ax+by+c≤0的二元组(x,y)(x,y)(x,y)对数. 思路: 类欧几里得算法模板题. 把式子变化一下变成:求满足0≤y≤−ax ...
- 修正剑桥模型预测-用python3.4
下面是预测结果: #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" ""& ...
- Everything的简单使用
1.Everythings下载地址: http://www.voidtools.com/ 下载完后直接解压,运行everything.exe即可打开使用: 2.基本设置 (1)去除不需要搜索的文件夹: ...
- Event.target和Event.currentTarget的区别
<style> * { margin:0; padding:0; list-style:none; } #ul { width:400px; height:250px; margin:0 ...
- plsql Developer 登录oracle出现 initialization error
plsql Developer 登录oracle出现 initialization error 原因:plsql没有64位的,32位的plsql连接64位的oracle才会报错 解决方案:到oracl ...
- CentOS 利用Yum安装mysql后无法启动(MySQL Daemon failed to start.)
安装mysql-server [root@iZwz9cl4i8oy1reej7o8pmZ ~]# yum install -y mysql-server 进入/etc执行mysql_install_d ...