问题描述

突然收到客户报告,开发人员登录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故障处理:域控失联的更多相关文章

  1. Windows2012中安装域控(DC) + SQL Server 2014 + TFS 2015

    安装域控(DC) 修改计算机名 修改固定IP 添加角色 选择“Role-based or feature-based installation” 选择本机 选择“Active Directory Do ...

  2. 【CTF】msf和impacket联合拿域控内网渗透-拿域控

    前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...

  3. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  4. Windows2012R2备用域控搭建

    Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自己的ip,备dns:备域控的ip备域控的主dns:自己的ip,备dns:主域控的ip 客户端主dns:主域控的ip,备dns: ...

  5. 如何将VCSA添加到微软域控环境,并且实现微软域账号登陆vCenter

    v:* { } o:* { } w:* { } .shape { } p.msonormal,li.msonormal,div.msonormal { margin: 0cm; margin-bott ...

  6. (转)从0开始搭建SQL Server AlwaysOn 第一篇(配置域控+域用户DCADMIN)

    原文地址: http://www.cnblogs.com/lyhabc/p/4678330.html 实验环境: 准备工作 软件准备 (1) SQL Server 2012 (2) Windows S ...

  7. Hyper-V 2012 R2 故障转移群集之建立域控(AD DS)与加入域

    Windows  2012 R2建立域控(AD DS)与加入域 Active Directory概述:          使用 Active Directory(R) 域服务 (AD DS) 服务器角 ...

  8. Windows Server 2008 R2 域控DOS命令

    net user                                                         #查看本地用户 net  localgroup             ...

  9. Windows Server 2008 R2域控组策略设置禁用USB

    问题: Windows Server 2008 R2域控服务器如何禁用客户端使用USB移动存储(客户端操作系统需要 Windows Vista以上的操作系统,XP以下的操作系统不能禁用USB移动存储) ...

随机推荐

  1. XXE总结

    0x00 目录 0x01 XML基础 定义:一种标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML文档结构包括XML声明.D ...

  2. Spring Boot学习笔记:ApplicationEvent和ApplicationEventListener事件监听

    采用事件监听的好处 以用户注册的业务逻辑为例,用户在填写完信息表单后,提交信息到后台,后台对用户信息进行处理,然后给用户返回处理结果的信息. 如上图所示,用户在注册时,后台需要处理一些系列流程,实际业 ...

  3. 【Java】导出word文档之freemarker导出

    Java导出word文档有很多种方式,本例介绍freemarker导出,根据现有的word模板进行导出 一.简单导出(不含循环导出) 1.新建一个word文件.如下图: 2.使用word将文件另存为x ...

  4. ueditor 上传图片

    ueditor在配置图片,附件上传  首先,是以web项目为基础的,需要安装好eclipse以及tomcat 其次,需要下载ueditor(可去百度官网下载 http://ueditor.baidu. ...

  5. ATM自动取款机程序感想

    上周四的Java考试,老师并没有我们考暑假给我们布置的样卷的java程序,而是让我们做一个设计ATM的程序,然而这个对于我们来说好难,因为暑假没有学好java,首先基础知识还没有掌握,输入数据一开始都 ...

  6. socketserver实例化过程

    一.创建server对象时__init__的执行 找继承中的__init__ 这是ThreadingMixIn类中的方法 这是TCPServer类中的方法(父类BaserServer中还会用到fini ...

  7. 2019.01.14 bzoj5343: [Ctsc2018]混合果汁(整体二分+权值线段树)

    传送门 整体二分好题. 题意简述:nnn种果汁,每种有三个属性:美味度,单位体积价格,购买体积上限. 现在有mmm个询问,每次问能否混合出总体积大于某个值,总价格小于某个值的果汁,如果能,求所有方案中 ...

  8. IntellJ IDEA2017 springboot2.0.2 替代@SpringBootApplication方式

    如果不想用@SpringBootApplication,那么可以用@EnableAutoConfiguration 和@ComponentScan替代@SpringBootApplication 详情 ...

  9. 学以致用七---Centos7.2+python3.6.2+django2.1.1 --搭建一个网站(补充)

    补充:上一节出现的报错提示 可在settings.py 里,改成 ‘*’  ,这样所有的主机都可以访问了. 打开网页 注意红色框出来的 hello 是和 urls.py里的hello对应 urls.p ...

  10. html的那些小小细节

    1.get post方式提交的不同 get:数据放在url的后面,用?连接                        会在客户端保留缓存信息,不安全                        ...