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