想象一下这种情况:
公司 A 正在收购公司 B 的一个分部。公司 B 解雇了该分部的大部分员工,在要求提供文档时没有提供帮助。现在,您必须使用 ADMT 将用户、组、工作站和服务器从公司 B 的子域迁移到公司 A 的 Active Directory。
如何确定托管自定义 LOB 或预打包应用程序的哪些服务器依赖于环境中的其他服务器,以便相应地规划迁移策略?例如VMware vCenter 基础架构导航器可以做其中的一些,但除了花费大量时间四处探索之外还有其他方法吗?
答案可以假设所有 Windows 环境都在 vSphere 5.1 上运行,但其他情况的答案也可以。
答案1
我曾经和你一样。没有单一的答案可以解决所有问题。
您可以花很多钱购买发现产品,并希望它了解您的所有应用程序。它们确实存在,而且有些应该相当不错。
当然,它可能不如您需要或想要的那么好。而且,没有什么可以发现由看似不相关的服务器上的每日或每周计划脚本引入的“依赖关系”,该服务器负责从工单系统中提取数据并将其通过 FTP 传输到工资单系统。或者您在盘点过程中不知何故没有注意到的 Linux 机器上的物理传真线路...
我非常喜欢 Joe 的回答 - 从每个部门开始,与他们的“高级用户”(他们肯定不是计算机“高级用户”)合作是全面发现项目的重要组成部分。这是自下而上的方法。在这里,你还会发现人们在自己的机器上运行业务关键型应用程序,可能与自己的工作组共享。
该方法的另一部分是进入每台机器并运行一些程序来显示(甚至更好地记录)$period_of_time 的 TCP 和 UDP 连接,并查看是否可以捕获与未知应用程序相关的流量(端口和端点,可能不想进行完整的网络捕获)。清点计划任务、服务帐户等也是如此。这是 BFMI 自上而下的方法。
由于可能存在非面向连接的异步进程,以及不在服务器上运行的东西(或仅从文件共享运行的客户端应用程序),我认为没有一种自动化方法可以解决此问题。要做好这件事,需要大量人力。当然,您可以简单地瞄准 80%,然后开始迁移或退役,并进行足够的沟通,以捕捉到当它们崩溃时让用户尖叫的东西。
答案2
最有效的方法是逐个关闭每个服务器,并注意哪些出现故障、哪些出现问题(但仍在运行)。
如果您事先拥有良好的监控、警报、日志分析(logstash、splunk 等)和指标,它将特别有用。
这不是最佳实践。
或者...
另一种方法是记录每台服务器上运行的所有服务和进程,不包括每台机器共有的服务和进程(基本 Windows 进程/服务、防病毒软件等...)