本文接前篇《OB 公有云体验二:跟独立部署的区别》继续分享 OB公有云深入使用经验。文中示例是阿里云上 OB,其他云上使用方法大体相同。
了解 OBCloud 实例基础信息
假设你是 DBA 刚接手客户的公有云数据库。首先进入的是云数据库 OceanBase 的控制台界面。

左边菜单是 OBCloud 数据库常用的操作:实例列表(管理 OBCloud 实例详情)、自治服务(性能容量自治诊断服务)、迁移评估(将传统数据库 ORACLE/MySQL 迁移到 OBCloud 前的评估,包括兼容性、性能)、数据传输(OMS公有云版本,支持传统数据库、云数据库到 OBCloud 实例的迁移,类似阿里云的 DTS)、数据研发(ODC 公有云版本,跟 ODC Web 版本功能大体相同,很实用。类似于阿里云的 DMS )。中间是 OBCloud 实例的汇总,关注一下其中的过期时间。这里也会有性能诊断和容量诊断的结果,关注一下空间使用率和增长情况。右下角是 OBCloud 实例常用运维操作,包括购买实例(新建新的集群实例)、新建租户(也是租户实例)、新建账户(给开发用的账户)、创建数据库(给开发用的数据库)、设置白名单分组(数据库很多的时候对访问客户端做白名单限制,不是 OB 租户内部的那个白名单变量)、添加报警规则(运维基础操作)、配置备份策略(运维基础操作,有备无患)。
接下来就是看实例详细列表。

首先关注付费模式和到期时间。云数据库服务可用性跟钱密切相关。说极端一点,钱不到位,数据库立即关停。然后就是看实例类型(集群实例是独立 OB 集群,租户实例就是云的集群实例中的一个租户)、序列(序列对应的是数据盘模式,有云盘ESSD PL1、本地NVMe SSD和本地 HDD。磁盘的性能影响数据库的读写性能、合并行等等)、可用区(可用区就是机房,跟部署类型也密切相关。通常是双机房部署或多机房部署,其中双机房部署的副本类型是 2F1A ,有2个数据副本同时也有高可用容灾多活能力,是比较经济的选择)、存储空间(这只包含数据文件的存储空间,日志文件clog以及备份空间都是配套送的,备份空间有免费额度,需要详细了解一下,不然用着用着就收费了)。
上面这些信息进入具体的实例还可以看的更详细一些。

其中需要特别留意的是版本自动升级(小版本自动升级)、可维护时间(客户允许 OBCloud 后台自动进行 OB 升级重启的时间)、数据合并( OBCloud 集群实例的数据合并 MAJOR FREEEZE
时间,如果集群中租户很多,可以考虑租户层面设置错开合并时间)、全功能副本数(跟部署类型相关,也可以调整全功能副本数,会引起大批量数据同步操作)。右边的容量详细信息可以看到日志盘大小和分配率。OB 4.2 后日志clog 空间也是预分配,这个就是预分配的总空间,实际使用不会超出这个空间。如果租户的 clog 空间不够用会有报错,那个时候先扩容租户的 clog 空间。如果碰到集群实例的日志盘空间不够,再扩容集群的日志盘空间。
涉及到实例资源规格和容量的变更操作需要使用标准变配、临时变配、定时变配。三个操作的原理都是 OB 租户的弹性伸缩能力,区别只是计费方式不一样,最后一个定时变配还要求能变回去。在 OBCloud 的资源里,数据盘的空间一旦变大就不能变回去,这是 OB 技术限制的(blockfile
不支持缩容)。

实例套餐规格变配指的 CPU 和内存,存储空间扩容就是数据文件,分开处理是因为前者操作起来方便一些。此外规格变配可能引起数据迁移(也叫迁移变配)。在线下 OB 集群运维里也很常见。节点数的变更就是拓扑的变化,会引起数据迁移。日志盘扩容技术上支持,公有云暂时没有全部放开,提工单可以开通。
说到 OBCloud 实例的拓扑,集群实例拓扑如下。

这个里面可以看到集群实例的节点规格和数量、租户信息。租户信息中特别是主可用区信息(PRIMARY ZONE
设置)。图中两个租户的主可用区都设置为使用全部可用区,默认情况是其中一个可用区。主可用区的选择要看业务应用部署在哪个可用区。否则,业务访问数据库应用容易出现跨可用区的请求。在配置租户的可用区或者数据库代理的可用区时,产品页面发现跨可用区请求时会提醒。

租户实例也有拓扑页面,相对信息就少很多。

租户拓扑图能看到节点的副本类型(只能看到全功能副本、只读副本等)、主可用区信息。不一样的是可以看到租户的代理地址。OBCloud 实例的访问是以租户为单位的,每个租户实例(包括集群实例的租户)都有一个独立的访问地址(默认是可读可写地址),这个地址是一个域名,后端对应代理在对应可用区的节点 IP(一般就是 OBCloud 集群实例的节点 IP,所以不同客户的代理实际地址不会重复,除非后期推出了共享型的数据库代理产品)。当代理地址切换可用区后,域名地址不变,域名解析出来的 IP 可能会变,所以不要通过 IP 去连接租户。
租户实例还支持增加多个代理地址,用于只读查询、读写分离等场景。这些地址的可用区选择就看用户场景期望读在哪个可用区了。

如果可用区选择在非默认的可用区时,会提示要在对应可用区创建一个 VSwitch 交换机和 VPC 网络。
诊断 OBCloud 租户实例性能
OBCloud 实例控制台首页的【自治服务】可以在顶层查看所有 OBCloud 实例(集群实例和租户实例)的性能概况(有多少个 SlowSQL 或 可疑 SQL)。使用门槛非常低,这里就不多介绍。这里介绍一个隐藏用法,在租户实例的性能监控页面上,选取想重点查看的时间范围,会提示一个【诊断租户】。

点击诊断租户,会弹出跟自治服务中类似的租户性能诊断页面。

在租户实例非常多的客户里,OBCloud 这个自治服务和租户诊断服务可以节省运维很多精力。如果时间充足的话,可以使用租户实例下【诊断】页面进行更细粒度的诊断。

这个页面功能看起来就很熟悉了,线下 OCP 早期版本很早就有了,就不详细介绍了。
OBCloud 租户实例数据旁路导入
OBCloud 实例免不了要从线下导入大量数据,可以使用数据迁移服务,也可以使用文件导入数据。由于 OB 4.3.0 才支持客户端导入 CSV 文件命令(load local data
),所以碰到 OBCloud 实例,load data
就用不了(版本是 4.2.1, OB 节点用户不能访问)。变相替代方法就是用 obloader 工具将 CSV 文件导入到租户里。如果 csv 文件非常多数据量非常大,默认的导入方法可能会很慢,这个时候就可以用到旁路导入功能。
首先需要理解旁路导入是 OB 内核的一个能力,允许某些数据写入时绕开 SQL 引擎的部分路径以及增量内存写入路径,而直接将数据写入到数据文件中(sstable
)。使用 insert /*+ direct */ into ...
方法可以在 SQL 窗口里激活旁路导入。obloader 作为一个客户端工具要使用旁路导入路径,需要使用参数 --direct --rpc-port=xxx
方法。这个 rpc-port
就是指 OBServer 节点的 2882 端口。在公有云上, OBServer 节点不会允许客户端直连 OBServer,而是通过 ODP 连接。即使是 ODP 也不是直接连接,而是前端使用 SLB 提供一个域名和 VIP 接受用户请求,也就是用户看到的租户的数据库代理地址。这个时候要怎么启用旁路导入呢?
办法也是有的。首先 ,ODP 要升级到 4.3.0 版本。ODP 会新增一个监听端口(rpc_port=2885),ODP 会把客户端发往 2885 的请求转发给后端 OBServer 的 2882 端口。第二,公有云上代理地址开通旁路导入端口(目前是 3307 )。公有云会将客户端对 3007 端口的请求转发到 ODP 的 2885 端口。这样, obloader 就可以通过旁路导入功能导入大量数据到业务租户中。

目前要升级公有云 ODP 版本需要给售后提工单。
OBCloud 售后处理技巧
OBCloud 实例在阿里云上有在线工单,使用的是阿里云的在线工单系统。工单机器人用了阿里云的通义千问模型,在查询文档、产品用法方面非常实用(比 OB 官网文档搜索功能好很多)。所以有些功能不会用,可以问【在线服务】。

不过,需要留意的是,跟 ChatGPT 一样,这个机器人也会有一本正经的胡说八道的时候。对于它给出的答案如果有官网文档链接,以官网文档里为准。如果没有链接,大概率就是它拼凑的答案,这个时候更要去查看官网文档核实一下。
有些需求和问题也可以【提交工单】。提交工单的效果如何取决于你对问题的描述信息的准确度。一般建议讲清楚:
实例名
需求或问题概述
问题复现步骤包括截图
工单交流碰到复杂的问题时可能需要授权服务账户访问你的实例、或者售后会拉钉钉群,有 阿里云 TAM 专门处理你的问题。处理效果往往首先取决于沟通效率、其次才是问题技术难度。

几个工单沟通下来,我的感觉还是很好的,反馈基本都给满。
更多阅读参考:




