云服务器内容精选

  • 前提条件 集群状态需为可用状态,不支持只读状态,并且确保集群没有进行重分布操作。 集群配置文件已经生成,配置的信息正确并且和当前集群状态一致。 缩容前用户需要确保default_storage_nodegroup参数值为installation。 集群按照环的方式配置,比如4个或5个主机组成一个环,这些主机上的DN主节点、备节点和从节点都部署在这个环里, 缩容的最小单元是一个环。如果当前集群只有一个集群环时,不支持进行缩容操作,缩容按钮置灰。 缩容的主机不能包含ETCD组件、GTM组件、CM Server组件。 缩容不支持包括CN的节点,如果包括CN,先进行删除CN操作后再缩容。 缩容不支持回滚,支持重入。缩容数据重分布失败,不影响业务,用户可选择合适的时间尽快完成重分布,否则会导致数据长期分布不均匀。 重分布前,需要保证对应数据库下的data_redis为重分布预留schema,不允许用户操作该schema和其内部表。因为在重分布过程中,会使用到data_redis并且重分布。结束后会删除该schema,如果存在用户表,则可能会出现数据误删。 缩容过程不支持gs_cgroup操作。 缩容后的节点必须有足够的存储空间存放整个集群的数据,否则缩容无法正常进行,执行缩容前,需对集群剩余容量进行检查,条件满足后可进行缩容。 所有节点已使用物理磁盘空间均小于80%。 所有用户和角色的使用量均小于配额的80%。 总数据量缩容后的空间预估要小于80%。 所有剩余可用空间均是最大单表大小的1.5倍以上。 缩容过程中系统将关闭“自动剔除故障CN”功能,在缩容完成后系统再次打开该功能。
  • 缩容对系统的影响 缩容前,需关闭创建了临时表的客户端连接,因为在缩容过程中及缩容成功之前创建的临时表将会失效,操作临时表也会失败。但是缩容后创建的临时表不受影响。 在执行缩容操作后,集群会进行一次自动快照,快照创建成功后进行集群缩容,若用户不想自动创建快照,可以在缩容界面选择取消自动备份功能。 缩容前,需确保倾斜率不超过10%,脏页率没有硬性指标,但对于50G以上的大表,建议倾斜率不要超过20%~30%。 正在缩容的集群禁用重启集群、扩容集群、创建快照、节点管理、智能运维、资源管理、参数修改、安全设置、日志服务、重置数据库管理员密码和删除集群的功能。 离线缩容过程中,应该停止所有业务或运行少量查询语句。表重分布期间会对表加共享锁,所有插入、更新、删除操作和表DDL操作都会长时间阻塞,会出现等锁超时情况。一旦表重分布完成后方可正常访问。在重分布执行过程中,应当避免执行超过20分钟的查询(在重分布执行时申请写锁的默认时间为20分钟)。否则可能导致重分布出现等待加锁超时失败的问题。 在线缩容过程中,表重分布期间用户可以对该表执行插入、更新、删除等操作,但重分布过程仍然会短时间阻塞用户的数据更新操作,会影响用户语句的执行性能。缩容重分布过程会消耗大量的CPU和IO资源,因此会对用户作业性能影响较大,应该尽可能在停止业务或业务轻载的情况下执行缩容重分布。 在线缩容删除节点的瞬间,如果有DDL语句正在执行,例如创建schema或function并发执行,这些DDL可能因为DN不存在而报错,用户重试即可成功。 如果集群缩容失败,数据库不会在后台自动执行缩容回滚操作,此时数据库所有运维操作不可用,需要用户在管理控制台页面上单击缩容按钮来重新执行数据库缩容操作。 在云原生9.0.2版本缩容场景下,新集群的bucket数量不满足条件:每个DN分配的bucket数量在[3, 20]之间时,系统会触发调整bucket的缩容。bucket数量可以通过GUC参数table_buckets查看。 此bucket缩容目前仅支持离线模式,使用方式与现有缩容相同,触发修改bucket的缩容过程为系统自动判断和执行。 触发过程集群会重启,关闭所有连接,重启会花费数分钟。 重启完毕后,数据库可以读,但不允许写,直到数据重分布结束。