安装规划主要包括服务器规划和磁盘规划。

    服务器规划

    1-1-1三副本最小部署 OceanBase 集群,数据库服务器规划如下表所示。

    规划项

    规划

    服务器IP

    OBServer:192.168.1.90, 192.168.1.91, 192.168.1.92

    网卡名称

    均为“bond0”。

    端口

    RPC:服务端口2882。

    MySQL:客户端端口2881。

    安装用户

    admin

    用户密码

    Abc@123

    安装目录

    /home/admin/oceanbase

    集群ID

    1

    App名称

    oceanbase

    磁盘规划

    OceanBase 数据库服务器磁盘依赖于三个盘:数据盘,事务日志盘和 OBServer 安装盘。

    * 数据盘:/data/1

    数据盘承载了基线数据,物理上只有一个基线数据文件 block_file,在安装目录 store/sstable 下。通过 OBServer 进程启动时一次性创建,大小根据启动参数 datafile_disk_percentage 采用磁盘预分配策略,默认值为95%,创建后无法调整大小。OceanBase 的扩容缩容采用加减机器的策略,目前不支持单机的磁盘级扩容和缩容。所以要根据业务需要,做好数据盘的规划。

    * 事务日志盘: /data/log1

    事务日志盘包含多个固定大小的小文件,位于安装目录 store/{clog,ilog,slog},按需自动创建和清除,磁盘写到80%会触发自清除逻辑,但前提是这部分日志数据对应的内存数据已经通过合并融合到了基线数据中,才能被删除。由于写入放大的原因,同等数据量,事务日志的大小约为内存数据大小的三倍。所以事务日志盘所需空间上限与两次合并操作间的业务数据总量成正比,经验公式是:事务日志文件大小 = 增量数据内存上限的3到4倍。

    * OceanBase安装盘: /home

    OceanBase 的 rpm 包安装目录在 /home/admin/oceanbase 下,其中基线数据文件和事务日志文件会通过软连接指向上述的两个独立磁盘,还有另外一个不断增长的文件是 OB 运行日志,在安装目录 log 下。OB进程本身无法自删除运行日志,需要定时任务或运维脚本完成删除逻辑。

    完成磁盘规划后可以通过df -h命令检查,结果示例如下所示。

    1. $df -h
    2. /dev/sda5 394G 284G 91G 76% /home
    3. /dev/mapper/vgob-log 2.0T 51G 1.9T 3% /data/log1
    4. /dev/mapper/vgob-data 8.5T 7.7T 366G 96% /data/1