数据复制服务 DRS-本地MongoDB迁移到DDS:迁移准备

时间:2023-11-08 17:38:50

迁移准备

  1. 权限准备:
    当使用 DRS 将本地数据库的数据迁移到本云DDS实例时,在不同迁移类型情况下,对源数据库和目标数据库的账号权限要求如表1所示:
    表1 迁移账号权限

    迁移类型

    全量迁移

    全量+增量迁移

    源数据库

    • 副本集:连接源数据库的用户需要对待迁移库有read权限。
    • 单节点:连接源数据库的用户需要对待迁移库有read权限。
    • 集群:连接源数据库的用户需要对待迁移库有read权限,对config数据库有read权限。
    • 如果需要迁移源数据库用户和角色信息,连接源数据库的用户需要对admin数据库的系统表system.users,system.roles有读权限。
    • 副本集:连接源数据库的用户需要对待迁移库有read权限,对local数据库有read权限。
    • 单节点:连接源数据库的用户需要对待迁移库有read权限,对local数据库有read权限。
    • 集群:连接源数据库mongos节点的用户需要对待迁移库有read权限,对config数据库有read权限, 连接源数据库分片节点的用户需要对admin数据库有readAnyDatabase权限,对local数据库有read权限。
    • 如果需要迁移源数据库用户和角色信息,连接源数据库的用户需要对admin数据库的系统表system.users,system.roles有读权限。

    目标数据库

    连接目标数据库的用户需要对admin数据库有dbAdminAnyDatabase权限,对目标数据库有readWrite权限。对于目标数据库是集群的实例,迁移账号还要有对config数据的读权限

    • 源数据库的权限设置:

      需要确保源数据库MongoDB的账号具备表1的权限,若权限不足,需要在源数据库端创建高权限的账号。

    • 目标数据库的权限设置:

      本云DDS实例使用初始账号即可。

  2. 网络准备:
    • 源数据库的网络设置:

      本地MongoDB数据库实时迁移至本云DDS的场景,一般可以使用VPN网络和公网网络两种方式进行迁移,您可以根据实际情况为本地MongoDB数据库开放公网访问或建立VPN访问。一般推荐使用公网网络进行迁移,该方式下的数据迁移过程较为方便和经济。

    • 目标数据库的网络设置:
      • 若通过VPN访问,请先开通VPN服务,确保源数据库和目标DDS网络互通。
      • 若通过公网网络访问,目标DDS不需要进行设置。
  3. 安全规则准备:
    1. 源数据库的白名单设置:
      • 若通过公网网络进行迁移,源数据库MongoDB实例需要将具体的DRS迁移实例的弹性公网IP添加到其网络白名单中,确保源数据库MongoDB实例可以与上述弹性公网IP连通。在设置网络白名单之前需要获取DRS迁移实例,具体方法如下:
        迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的弹性公网IP。如图4所示:
        图4 迁移实例公网弹性IP

      以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方法,在安全允许的情况下,可以将源数据库MongoDB实例的网络白名单设置为0.0.0.0/0,代表允许任何IP地址访问该实例。

      • 若通过VPN网络进行迁移,源库需要将DRS迁移实例的私有IP添加到其网络白名单内,确保源端和目标端网络互通。

      上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。

    2. 目标数据库安全组规则设置:

      目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库,不需要进行任何设置。

  4. 其他事项准备:

    由于迁移过程不会迁移MongoDB数据库的用户信息以及相关参数,需要自行将上述信息导出后手动添加到目标DDS中。

support.huaweicloud.com/bestpractice-drs/drs_02_0005.html