7.2. 将 JBoss EAP 7.3 受管域迁移到 JBoss EAP 7.4
使用 JBoss 服务器迁移工具时,在迁移主机前迁移域控制器以确保域控制器必须在与主机使用的版本进行比较时,使用更新的 EAP 版本。例如,EAP 7.3 上运行的域控制器无法处理 EAP 7.4 上运行的主机。
有关支持的配置的更多信息,请参阅 JBoss EAP 配置指南中的 管理多个 JBoss EAP 版本。
默认情况下,JBoss 服务器迁移工具在将托管域配置从 JBoss EAP 7.3 迁移到 JBoss EAP 7.4 时执行以下任务。
7.2.1. 删除 Unsupported 子系统
JBoss 服务器迁移工具从迁移的服务器配置中移除所有不支持的子系统配置和扩展。在删除时,工具会将每个子系统和扩展记录到其日志文件和控制台。
- 注意
- JBoss EAP 7.3 中不支持的任何子系统,但由管理员添加到该服务器,也不支持 JBoss EAP 7.4,并将被删除。
要跳过删除不支持的子系统,请将 subsystem .remove-unsupported-subsystems.skip
环境属性设置为 true
。
您可以覆盖 JBoss 服务器迁移工具的默认行为,并使用以下环境属性指定在迁移期间应包含或排除哪些子系统和扩展。
属性名称 | 属性描述 |
---|---|
|
不应迁移的模块名称列表,如 |
|
应始终迁移的扩展模块名称列表,如 |
|
子系统命名空间列表,即从未迁移的版本列表,例如:urn: |
|
子系统命名空间列表,包括应始终迁移的版本,如 |
7.2.2. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移由受管域配置引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
-
由
数据源子系统
配置引用的模块被迁移为数据源驱动程序模块。 -
由
ee
子系统配置引用的模块将迁移为全局模块。 -
由
naming
子系统配置引用的模块被迁移为对象工厂模块。 -
由
messaging
子系统配置引用的模块被迁移为 Jakarta Messaging bridge 模块。 - 由 vault 配置引用的模块迁移到新配置。
- 所有在目标配置中安装的扩展都会迁移到目标服务器配置中。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
7.2.3. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
7.2.4. 添加主机 Excludes
JBoss EAP 7.4 域控制器可能包含在较旧版本的服务器上运行的主机不支持的功能。host-exclude
配置指定应该从那些较老版本隐藏的资源。
迁移域控制器配置时,JBoss 服务器迁移工具会添加内容,或将源服务器的 host-exclude
配置替换为目标 JBoss EAP 7.4 服务器配置。
JBoss 服务器迁移工具会自动更新 host-exclude
配置,并将结果记录到其日志文件和控制台。
INFO Host-excludes configuration added.
7.2.5. 迁移部署
JBoss 服务器迁移工具可迁移以下类型的受管域部署配置:
部署迁移包括在目标服务器上安装相关的 file 资源,并可能需要更新迁移的配置。
JBoss 服务器迁移工具已预先配置为在非互动模式中运行时默认跳过部署。要启用部署迁移,请将 deployments.migrate-deployments.skip
environment 属性设置为 false
。
请注意,当您以互动模式运行 JBoss 服务器迁移工具并输入无效的输入时,结果行为取决于 deployments.migrate-deployments
环境属性值。
-
如果
deployments.migrate-deployments.skip
设为false
,并且您输入无效的输入,则工具将尝试迁移部署。 -
如果
deployments.migrate-deployments.skip
设为true
,并且您输入无效的输入,则该工具将跳过部署迁移。
要启用特定类型的部署迁移,请参阅以下部分。
JBoss 服务器迁移工具并不决定部署的资源是否与目标服务器兼容。这意味着,应用程序或资源可能无法按预期工作,或者可能根本无法正常工作。另请注意,JBoss EAP 7.3 *-jms.xml
配置文件等工件在没有修改的情况下复制,并可能导致 JBoss EAP 服务器使用错误引导。
红帽建议您使用 Migration Toolkit for Applications(MTA)来分析部署,以确定不同 JBoss EAP 服务器之间的兼容性。如需更多信息,请参阅 Migration Toolkit for Applications 的产品文档。
7.2.5.1. 迁移永久部署
要在非互动模式下运行时启用持久性部署迁移,请将 deployments.migrate-persistent-deployments.skip
environment 属性设置为 false
。
JBoss 服务器迁移工具可搜索任何永久部署参考,并将其列出到控制台。
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移永久部署
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移持久部署。只有在 deployments.migrate-deployments.skip
和 deployments.migrate-persistent-deployments.skip
属性都设为 false
时,才会迁移持久性部署。
在互动模式中迁移永久部署
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的持久部署后,您会看到以下提示。
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration? yes/no?
-
使用
yes
来跳过持续部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all persistent deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
使用
7.2.5.2. 迁移部署覆盖
部署覆盖的迁移是一个完全自动化的过程。如果您已通过将 deployments.migrate-deployments.skip
环境属性设置为 false
来启用部署迁移,则 JBoss 服务器迁移工具会搜索在链接到迁移部署的独立服务器配置中引用的部署覆盖。它会自动迁移找到、删除未引用的那些未引用的对象,并将结果记录到其日志文件和控制台。