上一主题: 如何将数据复制到网格下一主题: 配额


如何将数据迁移到其他网格

作为操作员,您需要将数据迁移到其他网格。 此任务需要 grid_administrator 权限提供的安全级别。 定期数据备份有助于在突发硬件问题的情况下确保数据的可用性。 在网格之间建立信任,并将组件类、目录和应用数据从源网格迁移到目标网格。

下图显示了将数据迁移到其他网格的方法:

显示如何将数据备份到其他网格的图表。

  1. 在网格之间建立信任
  2. 迁移组件类
  3. 迁移目录
  4. 迁移应用
在网格之间建立信任

在网格之间建立信任之后才可在网格之间迁移数据。 可以安装 SSH 代理,以通过安全 Shell 访问网格。 代理转发将用户凭据传递到远程服务器。 然后,您可将凭据传递到安装了公钥的其他服务器。 建立双向信任,以便您可以迁移组件类、目录和应用。

完成以下步骤:

  1. 在客户端计算机上的 SSH 代理中启用代理转发,以便远程网格访问正常运行。
  2. 要通过 SSH 访问源网格,请执行以下命令。
    3t grid info -v
    

    例如,将显示以下 SSH 密钥:

    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtdsF6rxRPvi3aKciQ1J+7yZTgAXDVkNZDRzZPzpEtAak+tnroXS6RvwUOv8Oa9toCjlEIol1EuvaYBryzmRqH5cdm9UKXJjNZ5fnF7fhz928wcCHrHYebtOWGdqXi03MFt0Q4ytZI0+xnjS5iZkaJLW1IAoNLVQdrjUWhH4f+GIJ58jg7xpp3aORQ/zCnXWzxMJs78rX3LkbVW5EftzUZZowVSRVrO6JRq3/7sMzktKDHbB4Am2WoxzceA36NxPQsg7gcao5BPGAvJg2B1MnBdVBIy5gSYuPNtjjpfHboZWWd4cywZ+uIlOFIJy0GGIizrdza351MX7PuZ/YZulffw==
    
  3. 复制此密钥值并登录到目标远程网格。
  4. 创建用户并指定步骤 2 中的 SSH 密钥:
    user create sourcegrid@ca.com pwd=mypassword sshkey="ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtdsF6rxRPvi3aKciQ1J+7yZTgAXDVkNZDRzZPzpEtAak+tnroXS6RvwUOv8Oa9toCjlEIol1EuvaYBryzmRqH5cdm9UKXJjNZ5fnF7fhz928wcCHrHYebtOWGdqXi03MFt0Q4ytZI0+xnjS5iZkaJLW1IAoNLVQdrjUWhH4f+GIJ58jg7xpp3aORQ/zCnXWzxMJs78rX3LkbVW5EftzUZZowVSRVrO6JRq3/7sMzktKDHbB4Am2WoxzceA36NxPQsg7gcao5BPGAvJg2B1MnBdVBIy5gSYuPNtjjpfHboZWWd4cywZ+uIlOFIJy0GGIizrdza351MX7PuZ/YZulffw=="
    
  5. 要授予此用户在网格 ACL 上的 app_developer 访问权限,请执行以下命令:
    grid modify_acl local:user:sourcegrid@ca.com=app_developer
    
  6. (可选)在源网格上重复同样的过程,并为目标网格创建用户(使用公共 SSH 密钥)。

    重要信息! 要对备份(如组件类)使用导入选项,必须完成此步骤。

    已在两个网格之间建立信任关系。

迁移组件类

组件将指定在应用中提供特定功能的自包含虚拟环境。 可将组件类迁移到备份网格中。 备份网格仅需要少量的 CPU 和 RAM,但需要大量廉价的直接连接存储。 使用此备份策略不需要特定的备份时间段,因为您可在任何时候备份组件类,从而为您提供了便利。 此策略可减少管理开销,因为它可使您将备份管理集中在远程备份网格中。

完成以下步骤:

  1. 从显示板或应用编辑器打开网格 shell。
  2. 根据以下语法设置 shell 命令的格式:
    class migrate remote_grid class [ .name=newclass ] [ --export | --import ] [ --nocompress ] [ --nocleanup ] [ --debug ]
    
    remote_grid

    指定远程网格的名称。

    class

    指定要迁移的类的名称。

    类可以在全局或本地目录中,也可以是单例。

    name

    (可选)为迁移的类指定新名称。

    该名称可以指全局目录、本地目录或单例。

    export

    将类迁移到远程网格。

    注意:如果不指定此选项,则类将从远程网格进行迁移。

    import

    从远程网格迁移类。

    注意:如果不指定此选项,则类将从远程网格进行迁移。

    nocompress

    指定在迁移期间压缩类卷。

    注意:要减少迁移时间,请在迁移包含大型卷的类时,使用此选项。

    nocleanup

    失败或完成时跳过清除(用于故障排除)。

    debug

    迁移期间显示调试信息(用于故障排除)。

    在此示例中,您希望将 WIN0864E 类从全局目录中的 system_ms 类别迁移到 grid5 中。

    重要信息! 确认您要迁移的类在目标网格中存在。 如果此类存在,则会显示错误。

  3. 执行以下命令:
    class migrate grid5  /system_ms:WIN0864E .name=/system_ms:WIN0864E --export
    

    将显示以下输出:

    正在验证远程网格的访问...
    
    正在验证远程网格的访问...
    正在验证实体未锁定...
    
    正在检索需要的类描述符和卷...
    	正在传输类 WIN0864E... 完成
    	正在传输卷启动... 完成
    
    类迁移已完成(9 分 51 秒)
    

已迁移并备份组件类数据。

迁移目录

目录将组件和组件集类存储为库包。 可以使用 catalog migrate 命令备份目录。

完成以下步骤:

  1. 从显示板或应用编辑器打开网格 shell。
  2. 根据以下语法设置 shell 命令的格式:
    catalog migrate remote_grid catalog [ .name=new-name ] [ --export | --import ] [ --nocompress ] [ --nocleanup ] [ --debug ]
    

    在此示例中,您希望将 BKPCAT 目录作为一个名为 BACKUPCAT 的目录从当前网格 (grid4) 迁移到 grid5。

  3. 执行以下命令:
    catalog migrate grid5 /BKPCAT .name=/BACKUPCAT -–export
    

    将显示以下输出:

    正在验证远程网格的访问...
    
    正在验证远程网格的访问...
    正在验证实体未锁定...
    
    正在检索需要的类描述符和卷...
    	正在传输目录类 IIS... 完成
    	正在传输目录类 SQL... 完成
    	正在传输卷 IIS.boot... 完成
    	正在传输卷 SQL.boot... 完成
    
    目录迁移已完成(26 分 40 秒)
    

    已迁移并备份目录数据。

迁移应用

应用包含组件和完整基础架构、配置以及用户数据。 您可以备份应用,并使用 application migrate 命令将其迁移到其他网格中。

注意:如果源应用正在运行,在迁移开始前将会停止。 迁移完成后,应用将再次启动。 如果原始应用未运行,则迁移的应用不会启动。

完成以下步骤:

  1. 从显示板或应用编辑器打开网格 shell。
  2. 根据以下语法设置 shell 命令的格式:
    application migrate remote_grid appname [ .name=appname ] [ --export | --import ] [ --nocompress ] [ --nocleanup ] [ --debug ] [ (prop=val)* ]
    
    prop=val

    指定用于 application config 命令的配置参数对。

    --preserve_acl

    如果应用 ACL 存在,则保留它。

    --preserve_local_acl

    保留应用 ACL 中的本地主体。

    --preserve_global_acl

    保留应用 ACL 中的全局主体。

    在此示例中,您希望将 MY_APP 应用从当前网格 (grid4) 迁移到远程网格 grid5。

  3. 验证在应用中使用的所有组件类在目标网格中是否存在。
  4. 执行以下命令:
    application migrate grid5 MY_APP .name=MY_APP -–export
    

    将显示以下输出:

    正在验证源网格的访问...
    
    正在验证源网格的访问...
    正在验证源应用状态...
    
    正在停止应用 MY_APP
    	main.SQL 已停止
    	main.USR 已停止
    	main.mon 已停止
    	main.IIS 已停止
    正在释放应用资源...
    应用 MY_APP 已停止
    
    正在创建应用“MY_APP”...
    	正在创建应用“MY_APP”的描述符...
    正在检索应用“MY_APP”类描述符和卷...
    	正在传输类 IIS... 完成
    	正在传输类 SQL... 完成
    	正在传输类 main... 完成
    	正在传输卷 dbase... 完成
    	正在传输卷 IIS.boot... 完成
    	正在传输卷 mon... 完成
    	正在传输卷 SQL.boot... 完成
    	正在传输卷数据... 完成
    正在启动迁移的应用 MY_APP...
    正在构建应用...
    	正在创建卷 MY_APP/volcache:main.mon.boot...完成
    	正在创建卷 MY_APP/volcache:main.USR.boot...完成
    	正在配置应用...完成
    
    正在加载应用...
    正在排定应用...
    正在启动应用 MY_APP
    	main.USR 已启动
    	main.mon 已启动
    	main.SQL 已启动
    	main.IIS 已启动
    
    应用 MY_APP 已成功启动
    
    应用迁移已完成(38 分 6 秒)
    

    已迁移并备份应用数据。

您已成功在网格之间建立信任,并已迁移组件类、目录和应用。