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

批量导入源成分方式

系统迁移支持批量导入源成分和添加成分信息两种方式。若选择批量导入源成分,支持通过脚本一键获取源节点上成分信息。

前提条件

  • 已获取节点信息采集脚本(devkit_disk_scan.sh)。

    请在“新建工程”页面,单击“批量导入源成分”,根据上方提示获取节点信息采集脚本。

  • 扫描时会校验输出目录所在分区的可用空间,为防止磁盘写满,剩余空间需大于2GB或者总空间的5%(以较小值为准)。
  • 默认会扫描支持迁移路线的中间件,若需迁移Java语言类中间件,请参考配置中间件通用迁移流程添加需要迁移的中间件。

操作步骤

  1. 使用SSH远程登录工具,以root用户登录源节点(x86),将获取的节点信息采集脚本上传至自定义目录,并进入该目录。
  2. (可选)若添加Java语言类中间件,则需确认已配置白名单。
    1. 打开devkit_disk_scan.sh脚本。
      vi devkit_disk_scan.sh
    2. 按“i”进入编辑模式,请查看DEFAULT_PACKAGE_TARS_CSV配置。

      若DEFAULT_PACKAGE_TARS_CSV中存在添加的Java语言类中间件,则无需修改;若不存在,请以英文逗号分隔进行添加,且需要确保名称大小写保持一致。

      476 # 白名单:需要打包的组件(CSV)
      477 : "${DEFAULT_PACKAGE_TARS_CSV:=Redis,Nginx,Tomcat,Elasticsearch,Resin,Nacos}"
      478 DEFAULT_PACKAGE_TARS_CSV="$(printf %s "$DEFAULT_PACKAGE_TARS_CSV" | tr -d '[:space:]')"
      479 export DEFAULT_PACKAGE_TARS_CSV
      480
      481 : "${PACK_BLACKLIST_CSV:=/usr/bin,/usr/local/bin,/usr/share/java,/usr/sbin}"
      482 PACK_BLACKLIST_CSV="$(printf %s "$PACK_BLACKLIST_CSV" | tr -d '[:space:]')"
      483 export PACK_BLACKLIST_CSV
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  3. 执行以下命令获取源节点成分信息。
    bash devkit_disk_scan.sh

    返回信息包含如下内容则表示采集完成,获取打包的压缩包,即devkit-component-xx.xx.xx.xx-时间戳.tar.gz。

    [2025-10-31 16:31:13] [INFO] Generated a package: /home/devkit-component-package/result/devkit-component-xx.xx.xx.xx-20251031162830.tar.gz (sha256=692af1c46b7528cecc56ed8dcd54629b0a0224d6127c2b1e846b33a2e5c9772b size=487856342)
    [2025-10-31 16:31:13] [INFO] Packaging completed.
    表1 参数说明

    参数

    说明

    -h

    查看帮助信息。

    -R <path>

    扫描目录,识别该目录下中间件、数据库、应用等成分信息,并打包支持迁移的源成分信息。仅支持指定一个目录,且支持相对路径,默认为根目录“/”

    例如:-R /home。

    说明:

    默认扫描根目录,扫描时间可能较长,请耐心等待。

    -F <path>

    打包目录。中间件迁移过程中,部分业务配置或额外数据目录可能散落在非标准路径(例如“/data/app_conf/”),无法被统一识别为中间件成分。可通过指定该目录进行打包,迁移时将同步拷贝至目标环境。多个目录请以英文逗号分隔,且支持相对路径。

    -O <out_path>

    扫描结果输出目录,默认为“/home”,会自动存放至“<out_path>/devkit-component-package”路径下。

    例如:-O /data。

    -p <num>

    扫描最大进程数,默认为1。

    例如:-p 8。

    -g <DEBUG|INFO>

    日志级别,默认为INFO。

    • DEBUG
    • INFO

    -N

    静态扫描(不通过运行--version识别版本号),默认已指定。

    -z

    指定打包压缩包的并发进程数,默认为1。

    例如:-z 2。

    -b

    后台运行脚本,也可使用nohup命令替代。

    -L <file>

    指定后台重定向日志文件。默认为“<out_path>/devkit-component-package/devkit-component-<IP地址>/scan.log”

    -P <file>

    将后台进程PID写入到该文件,建议与“-b”选项搭配使用。默认为“<out_path>/devkit-component-package/devkit-component-<IP地址>/devkit-scan.pid”

    -S

    后台运行模式下,可查询运行状态(依赖PID文件)。

    • 若扫描时指定“-P”,查询运行状态时需同步指定“-P”以获取PID文件。
    • 若扫描时指定“-O”且未指定“-P”,查询运行状态时需同步指定“-O”以获取PID文件。

    -K

    后台运行模式下,停止运行(依赖PID文件)。

    • 若扫描时指定“-P”,停止运行时需同步指定“-P”以获取PID文件。
    • 若扫描时指定“-O”且未指定“-P”,停止运行时需同步指定“-O”以获取PID文件。