云服务器内容精选

  • 使用场景 文档数据库服务按照设置的自动备份策略,对数据库进行自动备份。建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。 创建文档数据库实例时,默认开启自动备份策略。待实例创建成功后,您可以根据业务需要修改自动备份策略或关闭自动备份策略。 开启自动备份策略后,会立即自动触发一次全量备份。之后会按照自动备份策略中设置的备份时间段和备份周期进行全量备份。实例在执行备份时,会将数据从实例上拷贝并压缩后上传到OBS备份空间,按照自动备份策略中的保留天数进行存放,备份时长和实例的数据量有关,平均备份速率为60MB/s。自动备份策略开启后,副本集实例每五分钟会自动进行一次增量备份,以保证数据的可靠性。集群实例如果使用增量备份功能,则需要手动开启。
  • 使用须知 账户需要有足够的余额,才可进行扩容。 对于集群实例,仅支持对shard节点进行磁盘扩容,dds mongos节点、config节点和只读节点不能进行磁盘扩容。 选择磁盘加密的实例,新扩容的磁盘空间依然会使用原加密密钥进行加密。 实例处于以下状态时不可扩容: 创建中 规格变更中 节点扩容中 删除节点 小版本升级 磁盘扩容期间,服务不中断。DDS服务只支持扩容磁盘存储空间大小,不支持变更存储类型。
  • 注意事项 跨区域备份仅支持部分区域,详情请参见下表。 表1 支持的备份区域 备份源区域 支持备份的目标区域 北京四 上海一、上海二、广州、贵阳一 上海一 乌兰察布一、北京四、广州、上海二、北京一 上海二 上海一、北京四、北京一、广州、乌兰察布一 深圳 上海一、广州、上海二、北京四 广州 上海一、上海二、北京一、北京四、乌兰察布一、贵阳一 北京一 上海一、北京四 东莞二零一 贵阳二零一 贵阳二零一 东莞二零一 香港 新加坡 新加坡 约翰内斯堡 约翰内斯堡 新加坡
  • 备份与恢复方案 表1提供了常见的数据备份和下载备份文件的方法。 支持版本号没有说明的,默认支持全部版本:3.2、3.4、4.0、4.2和4.4版本。 表1 备份方案 任务类型 备份或恢复类型 支持的实例类型和版本 使用场景 数据备份 自动备份 集群 副本集 单节点 您可以通过控制台对DDS进行自动备份。 增量备份 集群(4.0、4.2版本支持) 副本集(4.0、4.2版本支持) 您可以通过控制台对DDS进行增量备份。 跨区域备份 集群 副本集 单节点 您可以通过控制台对DDS进行跨区域备份。 手动备份 集群 副本集 单节点 您可以通过控制台对DDS进行手动备份。 通过mongodump工具备份 集群 副本集 单节点 您可以通过MongoDB客户端自带的备份恢复工具对自建MongoDB或云上MongoDB数据库进行手动备份。 通过mongoexport工具备份 集群 副本集 单节点 您可以通过MongoDB客户端自带的备份恢复工具对自建MongoDB或云上MongoDB数据库进行手动备份。 下载备份文件 使用OBS Browser+下载 集群 副本集 单节点 备份文件大于400MB时,适合使用OBS Browser+下载。 使用浏览器直接下载 副本集 单节点 适合通过浏览器直接下载备份文件。 按地址下载 集群 副本集 单节点 适用于通过浏览器新窗口、迅雷或者wget等方式下载备份文件。 DDS详细的恢复方案请参见恢复方案。
  • 备份原理 集群实例 集群实例由dds mongos(路由)、Config(配置)和Shard(分片)组件构成。其中,Config主要用于存储集群实例的配置信息,Shard节点主要用于存储集群实例的数据信息。所以集群实例在备份时,需要分别备份Config节点和Shard节点上的数据,且Config节点和Shard节点是分开进行备份的。如图1所示,集群实例的备份是由Config节点和Shard节点分别在各自的Hidden节点上进行,备份过程会占用Hidden节点一定的CPU内存资源。因此,在备份期间,实例的Hidden节点的CPU使用率、内存使用率、主备延时指标会有一点升高,属于正常现象。但最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 图1 集群备份原理图 副本集实例 如图2所示,副本集实例的备份在Hidden节点上进行。备份过程会占用Hidden节点一定的CPU内存资源。因此,在备份期间,实例的Hidden节点的CPU使用率、内存使用率、主备延时指标会有一点升高,属于正常现象。但最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 图2 副本集备份原理图 单节点实例 单节点的备份是在仅有的一个节点上进行的,最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 单节点的备份基于mongodump实现,备份过程中会额外占用节点的CPU、内存等资源,资源不足时会出现备份失败的情况。建议迁移到副本集实例进行备份。 图3 单节点备份原理图
  • 使用须知 文档数据库服务的审计日志功能默认是关闭的,您可以根据业务需要开启审计日志,开启后系统记录读写操作的审计信息,可能会有5%-15%的性能影响。 开启审计日志会收取一定费用,收费详情请参见产品价格详情。 文档数据库服务会去检测已生成的审计日志,若审计日志超过用户自定义的保留天数,则将其删除。建议审计日志保存180天以上,用于审计回溯和问题分析等场景。 审计策略修改后,文档数据库服务将按照新的策略执行审计,原审计日志的保留天数以修改后审计策略的保留天数为准。 审计日志不建议删除,如需删除,请先确保审计日志删除后仍然符合您所在地或者企业的安全合规要求,建议删除前下载日志文件在本地备份。审计日志删除后不可恢复,请谨慎操作。 您可以通过文档数据库服务查看、下载和删除DDS实例审计日志,详情请参见通过文档数据库服务查看审计日志;也可以按照日志配置管理配置后,在LTS服务查看DDS实例审计日志的详细信息,包括搜索日志、日志可视化、下载日志和查看实时日志等功能,详情请参见通过云日志服务查看审计日志。
  • 事件样例 如下提供了查询副本集状态信息的样例,详细的字段解释可参考事件结构。 { "atype": "replSetGetStatus", "ts": { "$date": "2022-06-29T07:23:29.077+0000" }, "local": { "ip": "127.0.0.1", "port": 8636 }, "remote": { "ip": "127.0.0.1", "port": 50860 }, "users": [ { "user": "rwuser", "db": "admin" } ], "roles": [ { "role": "root", "db": "admin" } ], "param": { "command": "replSetGetStatus", "ns": "admin", "args": { "replSetGetStatus": 1, "forShell": 1, "$clusterTime": { "clusterTime": { "$timestamp": { "t": 1656487409, "i": 117 } }, "signature": { "hash": { "$binary": "PTJhGQ6cr8RyzuqbevXfG0xWj/c=", "$type": "00" }, "keyId": { "$numberLong": "7102437926763495425" } } }, "$db": "admin" } }, "result": 0 }
  • 前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
  • 前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
  • 前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
  • URI URI格式 DELETE https://{Endpoint}/v3/{project_id}/instances/{instance_id}/kill-op-rule URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/2900b7b8d03e4619b8db8d43bc6234ee/instances/6390733773d64a748f3a7bc88df22384in02/kill-op-rule 表1 请求参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。请参考认证鉴权。 project_id 是 String 租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 instance_id 是 String 实例ID,可以调用“查询实例列表和详情”接口获取。如果未申请实例,可以调用“创建实例”接口创建。
  • URI URI格式 PUT https://{Endpoint}/v3/{project_id}/instances/{instance_id}/kill-op-rule URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/2900b7b8d03e4619b8db8d43bc6234ee/instances/6390733773d64a748f3a7bc88df22384in02/kill-op-rule 表1 请求参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。请参考认证鉴权。 project_id 是 String 租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 instance_id 是 String 实例ID,可以调用“查询实例列表和详情”接口获取。如果未申请实例,可以调用“创建实例”接口创建。
  • 请求消息 参数说明 表2 请求Body参数 参数 是否必选 参数类型 描述 ids 是 Array of strings killOp规则ID列表。 action 是 String 启用/禁用 killOp规则。 enable,启用killOp规则。 disable,禁用killOp规则。 请求示例 { "ids" : [ "7d2f36b4-6edb-4093-8c78-810b30232943" ], "action" : "enable" }
  • URI URI格式 GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/kill-op-rule URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/2900b7b8d03e4619b8db8d43bc6234ee/instances/70ddf44609734098a8d333f25a368976in02/kill-op-rule?namespaces=test.ym&plan_summary=COLLSCAN 表1 请求参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。请参考认证鉴权。 project_id 是 String 租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 instance_id 是 String 实例ID,可以调用“查询实例列表和详情”接口获取。如果未申请实例,可以调用“创建实例”接口创建。 表2 Query参数 参数 是否必选 参数类型 描述 operation_types 否 String Sql语句操作类型。 insert,表示插入语句。 update,表示更新语句。 query,表示查询语句。 command,表示命令语句。 remove,表示删除语句。 getmore,表示获取更多数据语句。 namespaces 否 String 表命名空间。取值格式:库名或者库名.表名。 可为空,表示不做限制。 单独库名,表示对某个库下的所有集合生效。 库名.表名,表示对具体库下的具体的集合生效。 status 否 String killOp规则状态。 ENABLED,规则生效中。 DISABLED,规则禁用中。 plan_summary 否 String 执行计划。默认值空,表示不做限制。 COLLSCAN SORT_KEY_GENERATOR SKIP LIMIT GEO_NEAR_2DSPHERE GEO_NEAR_2D AGGREGATE OR offset 否 Integer 索引位置,偏移量。 从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询)。取值必须为数字,不能为负数。 limit 否 Integer 查询个数上限值。 取值范围: 1~100。 不传该参数时,默认查询前100条信息。
  • 响应消息 参数说明 表3 响应Body参数 参数 参数类型 说明 rules Array of 表4 列表。 total_count Integer 总数。 表4 KillOpRule参数 参数 参数类型 说明 id String killOp规则ID。 operation_types String Sql语句操作类型。最多支持同时选择6种语句类型。同时选择多种类型时,匹配任意一种类型时规则生效。 insert,表示插入语句。 update,表示更新语句。 query,表示查询语句。 command,表示命令语句。 remove,表示删除语句。 getmore,表示获取更多数据语句。 status String killOp规则状态。 ENABLED,规则生效中。 DISABLED,规则禁用中。 namespaces String 表命名空间。取值格式:库名或者库名.表名。同时配置多组信息时,匹配任意一组信息时规则生效。 目前仅支持配置一组信息 可为空,表示不做限制。 单独库名,表示对某个库下的所有集合生效。 库名.表名,表示对具体库下的具体的集合生效。 client_ips String 客户端连接IP。 只支持IPV4。 可为空,表示不做限制。 最多支持配置5个IP,同时配置多个IP时,匹配任意一个IP时规则生效。 plan_summary String 执行计划。默认值空,表示不做限制。 COLLSCAN SORT_KEY_GENERATOR SKIP LIMIT GEO_NEAR_2DSPHERE GEO_NEAR_2D AGGREGATE OR max_concurrency Integer 最大并发数。 取值:不能为负数,可为空,默认为0,表示不做限制,最小值为1,最大值为100000。 secs_running Integer 单条操作最大运行时长。 取值:不能为负数,可为空,默认为0,表示不做限制。单位:s。最小值为2,最大值为86400。 node_type String 节点类型。 mongos_shard,表示同时在mongos和shard节点生效。 mongos,表示只在集群mongos节点生效。 shard,表示只在集群shard节点生效。 replica,表示只在副本集节点生效。 响应示例 killOp规则列表: { "rules" : [ { "operation_types" : [ "query", "insert" ], "namespaces" : [ "db.collections" ], "client_ips" : [ "172.168.201.144" ], "status" : "ENABLED", "id" : "f6f2cea4-ce40-4d4c-9d2f-61253d215811", "plan_summary" : "COLLSCAN", "max_concurrency" : 0, "secs_running" : 5, "node_type" : "replica" } ], "total_count" : 1 }