将 Windows 服务从一台服务器迁移到另一台服务器的方法

将 Windows 服务从一台服务器迁移到另一台服务器的方法

我正在设置一个临时服务器来测试某些关键软件(WebSphere 上的 IBM Rational Team Concert)的升级。我无法重新安装该应用程序,因为我没有原始安装期间使用的所有信息和配置,所以我的计划是复制必要的文件夹并复制服务。我找不到任何可以让我导出服务定义并将其导入另一台机器的东西。

Websphere 在 HKLM\CurrentControlSet\Services\Websphere 注册条目周围和下方使用了一些额外的键,但在注册表中没有使用任何其他键。

我目前的计划是

  • 使用 sc create(使用相同的服务名称)在目标上创建新服务
  • 从源导出 HKLM\CurrentControlSet\Services\Websphere
  • 将上面的注册表项导入到目标上
  • 启动服务

有人能看到这种方法的问题吗?或者推荐一种工具来解决这个问题?

答案1

以下是我将我们的实时 RTC 和 RQM 服务器克隆到暂存环境中的步骤,以防这适用于其他人:

  1. 将所有包含 RTC/RQM/WebSphere 的文件夹复制到目标计算机上,保持路径不变。在我们的例子中,路径c:\program files\IBMc:\program files(x86)\IBM

  2. 创建与源计算机上的 WebSphere 服务同名的服务(我们有一个用于 RQM 的服务,一个用于 RTC 的服务。我使用了sc create "IBMWAS70Service - SERVERNode01" binpath=c:\path\to\any\exe

  3. 从源机器导出HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IBMWAS70Service - SERVERNode01。您需要执行此操作每项服务你有。

  4. 将这些注册表文件导入到目标机器上

  5. 我们的源服务器已设置了一个名为 的系统环境变量,ORACLE_JDBC该变量指向包含 的文件夹ojdbc14.jar。在目标上重新创建此变量。此路径也在系统PATH环境变量中,因此我也将其添加到那里。

  6. 删除c:\windows\temp\_jazz*c:\windows\temp\_.com_ibm*文件夹。

  7. 我们将所有数据库合并为一个具有不同架构的数据库。当我们尝试启动 RTC 和 RQM 时,这会导致锁定错误。这是因为两个程序共享同一个临时文件夹。我编辑了 server.xml (at \WebSphere\AppServer1\profiles\AppSrv01\config\cells\SERVERNode02Cell\nodes\SERVERNode02\servers\server1)。我将其添加到 java 属性部分,靠近server.xml <systemProperties xmi:id="olm_stage1" name="java.io.tmpdir" value="c:/temp" required="false"/>

  8. 编辑c:\windows\system32\drivers\etc\hosts并创建 DB 服务器的条目(指向暂存 DB 服务器)以及 rtc 和 rqm 地址(指向暂存机器本身)

  9. 启动服务

相关内容