自定义 WebSphere 服务器的迁移计划

查看应用迁移报告

您可以查看 IBM WebSphere Application Server Migration Toolkit for Application Binaries 生成的应用迁移报告。该工具包会为来源虚拟机中的每个应用生成 HTML 报告。查看 HTML 文件,以评估应用迁移。

如需查看应用迁移报告,请执行以下操作:

  1. 在 Google Cloud 控制台中打开 Cloud Storage 浏览器:

    打开 Cloud Storage 浏览器

  2. 导航到 Google Cloud Storage 上的迁移工件存储桶中的 /output 文件夹。

  3. 对于在虚拟机中发现的每个应用,您都会看到一个名称如下的 HTML 文件:

    app-name.ear_MigrationReport.html

  4. 选择 HTML 文件以进行查看,或在本地下载它以评估迁移情况。

修改迁移计划

如需修改迁移计划,请下载迁移计划,进行修改,然后使用 migctl 进行更新。迁移计划由 AppXGenerateArtifactsFlow CRD 表示:

  1. 下载迁移计划。迁移计划由 AppXGenerateArtifactsFlow 对象表示:

    migctl migration get my-migration
  2. 因为您要修改此文件,所以请先制作它的副本,以便您可以恢复它:

    cp my-migration.yaml my-migration-original.yaml
  3. 在文本编辑器中修改下载的迁移计划 my-migration.yaml

    1. 确保您只有一个 path 属性。

      AppXGenerateArtifactsFlow 对象包含 Migrate to Containers 在 WAS 传统虚拟机中发现的每个应用的 path 属性。保留一个 path 定义,并删除所有 sharedLibraries 规范,使得只指定一个应用。此修改可确保每个应用都有自己的容器映像。

      AppXGenerateArtifactsFlow 对象列出了表单中的所有应用:

      spec:
      appBinariesMigrationToolkit:
        applications:
        -  path: "PATH_TO_APP1"
          sharedLibraries:
          - sharedLibrary1
            sharedLibrary2
        -  path: "PATH_TO_APP2"
          sharedLibraries:
          - sharedLibrary1
        -  path: "PATH_TO_APP3" 
    2. 确保每个应用的 app_name 都是唯一的。

      deployment 字段指定 deployment_spec.yaml 文件中使用的应用的名称。对于 CRD 中的每个应用,将此字段设为唯一值。您必须确保在部署每个应用容器时使用其唯一的应用名称。

      deployment:
       appName: app-name
    3. 设置映像的标记名称。

      image 字段值定义从迁移后的虚拟机创建的映像的名称和位置。默认情况下,与迁移的时间戳对应的标记会自动应用于 "image_name" 值。此标记的格式如下:

      MM-DD-YYYY--hh:mm:ss

      您可以使用时间戳来区分迁移。或者,您也可以应用您自己的标记。例如,修改 CRD 并添加 rev1 标记,如下所示:

      name: "image_name:rev1"

    4. 设置您想要自定义的任何其他属性。

    5. 保存文件。

  4. 修改完成后,上传修改后的迁移计划:

    migctl migration update my-migration --main-config my-migration.yaml

现在,您可以迁移应用了。完成一个应用的迁移后,为虚拟机中要迁移的每个其他应用修改 AppXGenerateArtifactsFlow 对象。

选择应用

在迁移计划中,应用字段表示要迁移的应用。如果您不想迁移所有应用,则可以相应地移除一些应用。

applications:
- appName: hello-world-servlet-ear
  httpEndpoints:
  - httpPort: 9080
    httpsPort: 9443
    id: defaulthttpendpoint
  image:
    name: hello-world-servlet-ear
  path: /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/m4a-twas-ndNode01Cell/applications/Hello-World-Servlet.ear
…
- appName: commons-ejb-ear-provided-ear
  httpEndpoints:
  - httpPort: 9080
    httpsPort: 9443
    id: defaulthttpendpoint
  image:
    name: commons-ejb-ear-provided-ear
  path: /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/m4a-twas-ndNode01Cell/applications/commons-ejb-ear-provided.ear
  sharedLibraries:
  - /opt/IBM/WebSphere/AppServer/sharedJars/commons-io-2.8.0.jar

设置扫描程序选项

在迁移计划中,scannerOptions 字段表示要传递给 IBM WebSphere Application Server Migration Toolkit for Application Binaries 的参数。您可以修改参数。

scannerOptions:
  # Setting 'includeSensitiveData: true' will upload sensitive data, if exists, such as private keys, to the artifacts repository
  includeSensitiveData: false
  sourceAppServer: was90

后续步骤