开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

配置中间件通用迁移流程

可通过配置文件添加Java语言类中间件,走通用中间件迁移流程,从而提升中间件迁移能力。

操作步骤

  1. 使用安装DevKit使用的用户SSH远程登录工具,获取扫描规则文件。

    扫描规则文件可从“/opt/DevKit/devkitplugins/porting/cmd/bin/resources/sysmig_disk_scan_classifier.json”获取。

  2. 使用SSH远程登录工具,以root用户登录源节点(x86),将获取的扫描规则文件放置于节点信息采集脚本同一级目录下。
  3. 配置扫描规则文件。
    1
    vi sysmig_disk_scan_classifier.json
    

    按“i”进入编辑模式,以新增如下加粗内容为例:

    {
      "linux_binary_classifiers": [
        {
          "cli_category": "MIDDLEWARE",
          "category": 3,
          "file_glob": "**/target/nacos-server.jar",
          "version_pattern": "(?m)Implementation-Version:\\s(?P<version>[0-9]+[.0-9]*)",
          "version_file": "MANIFEST.MF",
          "package": "Nacos",
          "supplier": "Alibaba",
          "type": "BINARY",
          "metadata_type": "MIDDLEWARE_WEB_ALIBABA_NACOS",
          "company_type": "开源",
          "relative_directory_hierarchy": "../",
          "mig_process_type": 1
        },
        {
          "cli_category": "RUNTIME_JAVA",
          "category": 3,
          "file_glob": "**/java",
          "version_pattern": "(?m)(\\x00java\\x00|\\x00|\\x00-Djava.class.path=%s)(?P<release>[0-9]+[.0-9]*(\\x00)+)?(?P<version>\\d+(\\.\\d)+[^\\x00]+)(\\x00openjdk)?(\\x00java)?\\x00",
          "version_file": "../release",
          "package": "JDK",
          "supplier": "JDK",
          "type": "BINARY",
          "metadata_type": "JAVA_RUNTIME_BINARY",
          "company_type": "开源",
          "relative_directory_hierarchy": "../",
          "mig_process_type": 0
        },  
        ...
      ],
      "middleware_jar_classifiers": [
        {
          "cli_category": "MIDDLEWARE",
          "category": 3,
          "file_glob": "**/weblogic.jar",
          "version_pattern": "(?m)Implementation-Version: (?P<version>[0-9]+[.0-9]*)",
          "version_file": "MANIFEST.MF",
          "package": "WebLogic",
          "supplier": "Oracle Corporation",
          "type": "BINARY",
          "metadata_type": "MIDDLEWARE_WEB_WEBLOGIC",
          "company_type": "商业",
          "relative_directory_hierarchy": "../../../../../",
          "mig_process_type": 0
        },  
        ...
      ], 
        ...
    }

    包含以下类型,参数说明表1所示:

    • linux_binary_classifiers:Linux系统下,特征文件为二进制文件、文本文件等,非压缩文件的软件。
    • middleware_jar_classifiers:Linux系统下,特征文件为JAR包形式,需要解压的软件。
    表1 配置规则说明

    参数

    参数选项

    是否必填

    说明

    cli_category

    APP_JAVA/RUNTIME_JAVA/MIDDLEWARE/DATABASE/HARDWARE/OS

    软件类别,配置为MIDDLEWARE。

    • APP_JAVA:Java应用。
    • RUNTIME_JAVA:JDK
    • MIDDLEWARE:中间件。
    • DATABASE:数据库。
    • HARDWARE:硬件。
    • OS:操作系统。

    category

    1/2/3/4

    软件类别,配置为3。

    • 1:操作系统。
    • 2:数据库。
    • 3:中间件。
    • 4:Java应用。

    use_file_regex

    true/false

    特征文件是否使用正则匹配,默认为false。

    • 若为false:则file_glob需要以**/开头,然后填写具体文件路径。
    • 若为true:则file_glob需要配置对应的正则表达式。

    file_glob

    -

    特征文件,用于标识软件和匹配软件版本。

    例如:**/nginx

    说明:

    版本匹配优先级从高到低为:file_glob、version_file。

    version_pattern

    -

    版本。正则表达式,对特征文件进行正则匹配,若无可填空字符串。

    version_file

    -

    版本文件名,用于匹配版本,middleware_jar_classifiers归类下必填。文件中包含该款软件的版本信息。

    package

    -

    软件官方名称,例如:Nginx。

    supplier

    -

    软件厂商名,例如:Nginx, Inc。

    type

    BINARY

    软件类型,需要配置为BINARY。

    metadata_type

    DATABASE_OTHER/MIDDLEWARE_WEB_OTHER

    软件归类。

    • 数据库填写为DATABASE_OTHER。
    • 中间件填写为MIDDLEWARE_WEB_OTHER。

    company_type

    自有/开源/商业/--

    是否开源。

    relative_directory_hierarchy

    -

    安装目录。通过file_glob找到的特征文件的相对路径。

    例如:安装目录为特征文件上层目录,则填写../。

    mig_process_type

    0/1

    用于标识中间件迁移流程。

    • 0:已支持的迁移路线。
    • 1:当中间件由Java语言实现,支持跨平台迁移,遵循通用中间件迁移流程。
  4. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。