数据库运维12 min read

Vastbase G100 V2.2 安装部署实战指南

Vastbase G100 V2.2 安装部署实战指南

最近项目上要把一套 Oracle 业务系统迁到国产数据库,选了海量数据的 Vastbase G100 V2.2。这数据库基于 openGauss 内核,主打 Oracle 兼容和安全增强。折腾了几天把安装部署流程摸透了,写篇指南给后来人省点时间。

产品定位

Vastbase G100 是海量数据基于开源 openGauss 内核开发的企业级关系型数据库。除了 openGauss 本身的性能优势,它还增加了大量 Oracle 兼容特性,遵循 EAL4+ 标准做了安全增强,整合了 GIS 空间组件等企业级功能。

说白了,这就是 openGauss 的商业增强版,核心卖点是:Oracle 兼容、安全加固、自主可控。

环境要求

操作系统与 CPU 架构

Vastbase G100 对国产软硬件支持相当广泛,这是它的一大优势。官方认证的组合包括:

操作系统 版本 支持 CPU
openEuler 20.03 / 22.03 / 23.03 Intel x86、鲲鹏920、飞腾、海光
CentOS 7.x / 8.x Intel x86、鲲鹏920、海光
RedHat 7.4 / 7.6 / 8.x Intel x86、鲲鹏920
麒麟 V10 SP1 / SP2 / SP3 Intel x86、鲲鹏920、飞腾、海光、龙芯、兆芯
UOS V20 多个衍生版本 Intel x86、鲲鹏920、飞腾、海光、龙芯、兆芯、申威
凝思 OS V6.0.80 Intel x86、鲲鹏920、海光

查看当前环境信息的命令:

lscpu
cat /etc/os-release
# 麒麟系统查看小版本号
nkvers

根据操作系统、版本和 CPU 架构选择对应的安装包。例如 RedHat 7 x86_64 环境选择:

Vastbase-G100-installer-2.2_Build15-rhel_7-x86_64-20231108.tar.gz

硬件要求

环境 CPU 内存 存储 网络
开发测试 2 核+ 4GB+ SAS 100G 千兆
生产环境 8 核+ 16GB+ SAS 300G+ 万兆

依赖软件

安装前必须装好基础依赖包,漏了会各种报错:

yum install -y zlib-devel libaio libuuid readline-devel krb5-libs \
  libicu libxslt tcl perl openldap pam openssl-devel libxml2 bzip2

麒麟 V10 特别注意:必须额外安装 libatomic,否则初始化数据库会失败。报错信息类似 error while loading shared libraries: libatomic.so.1。同时还需预装 readline python2 libicu cracklib libxslt tcl perl openldap pam systemd-libs bzip2 gettext libaio ncurses-libs

Ubuntu/UOS 环境:依赖包名不同,用 apt 安装:apt install libreadline5 zlib1g libxml2 libaio1 libncurses5 gettext

如果要用 HAS 3.2 搭建高可用集群,还需要额外依赖:

yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch \
  redhat-lsb-core readline-devel expect bzip2 gcc

openEuler+x86 环境还需要 ibnsl,别漏了。

系统内核参数配置

安装前需要调整一系列内核参数,这些直接影响数据库性能和稳定性。

关闭防火墙和 SELinux

systemctl stop firewalld
systemctl disable firewalld

# 修改 /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

内核参数优化(写入 /etc/sysctl.conf):

# 共享内存
kernel.shmmax = 64253842432
kernel.shmall = 15684043

# 网络参数
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.core.somaxconn = 65535
net.ipv4.tcp_max_tw_buckets = 10000

# IPC 参数(RemoveIPC 问题)
kernel.sem = 50100 64128000 50100 1280

RemoveIPC 坑:CentOS 7.2+ 和 RHEL 7.2+ 默认 RemoveIPC=yes,会导致数据库共享内存段被系统自动清理。必须设置为 RemoveIPC=no,否则数据库运行中会莫名崩溃。

# /etc/systemd/logind.conf
RemoveIPC=no

修改后重启 systemd-logind 服务:

systemctl restart systemd-logind

时间同步

yum install -y ntp ntpdate
# 配置 /etc/ntp.conf
server ntp.aliyun.com iburst
systemctl enable ntpd
systemctl start ntpd

单机安装

创建用户和目录

Vastbase 不允许 root 用户直接安装,需要创建专用用户:

groupadd vastbase
useradd -g vastbase vastbase
echo "Vastbase@123" | passwd --stdin vastbase

# 创建安装目录
mkdir -p /opt/vastbase/{install,data}
chown -R vastbase:vastbase /opt/vastbase

上传并解压安装包

# 切换到 vastbase 用户
su - vastbase

# 解压安装包
cd /opt/vastbase/install
tar -zxvf Vastbase-G100-installer-2.2_Build15-rhel_7-x86_64-20231108.tar.gz

字符安装模式

Vastbase 提供字符安装和镜像安装两种方式。生产环境推荐字符安装,过程透明可控:

cd /opt/vastbase/install/Vastbase-G100-installer-*
./install.sh

安装向导会依次要求输入:

  1. 安装目录:默认 /opt/vastbase/install/vastbase,回车确认即可
  2. 数据目录:默认 /opt/vastbase/data/vastbase
  3. 数据库端口:默认 5432,可改成 8000(官方推荐)
  4. 数据库管理员用户名:默认 vastbase
  5. 管理员密码:至少 8 位,包含大小写字母和数字
  6. 兼容模式:选择 A(Oracle 兼容模式)或 B(MySQL 兼容模式)或 C(PostgreSQL 兼容模式)

兼容模式选择至关重要:初始化时通过 DBCOMPATIBILITY 参数指定,一旦确定无法更改。从 Oracle 迁移选 A,从 MySQL 迁移选 B

设置环境变量

安装完成后配置环境变量:

cat >> ~/.bashrc << 'EOF'
export VBHOME=/opt/vastbase/install/vastbase
export VBDATA=/opt/vastbase/data/vastbase
export PATH=$VBHOME/bin:$PATH
export LD_LIBRARY_PATH=$VBHOME/lib:$LD_LIBRARY_PATH
EOF

source ~/.bashrc

初始化数据库

如果安装时没有自动初始化,需要手动执行:

vb_initdb -D $VBDATA -U vastbase -W Vastbase@123 \
  --compatible=A \
  -E UTF8 \
  --locale=zh_CN.UTF-8

关键参数说明:

  • -D:数据目录路径
  • -U:管理员用户名
  • -W:管理员密码
  • --compatible=A:Oracle 兼容模式(可选 B/PG)
  • -E UTF8:字符集
  • --locale:区域设置

启停数据库

# 启动
vb_ctl start -D $VBDATA

# 停止
vb_ctl stop -D $VBDATA -m fast

# 重启
vb_ctl restart -D $VBDATA

# 查看状态
vb_ctl status -D $VBDATA

连接测试

vsql -d postgres -p 8000 -U vastbase

成功连接后执行:

-- 查看 version
SELECT version();

-- 查看兼容模式
SHOW dbcompatibility;

-- 创建测试表
CREATE TABLE test_oracle_compat (
    id NUMBER,
    name VARCHAR2(100),
    created DATE DEFAULT sysdate
);

INSERT INTO test_oracle_compat VALUES (1, 'test', sysdate);
SELECT * FROM test_oracle_compat;

如果以上 SQL 能正常执行,说明 Oracle 兼容模式生效了。

集群部署

生产环境必须部署高可用集群。Vastbase 支持两种集群方案。

主备部署

最简单的双机方案,一主一备:

  • 主机提供读写服务
  • 备机通过日志同步数据,可提供只读
  • 主机故障时备机自动接管
  • RTO < 10 秒,RPO = 0

HAS V3.2 高可用集群

HAS(High Availability Service)是 Vastbase 的集群管理组件,V3.2 是当前推荐版本:

前置条件

  • Python3 环境(需 --enable-shared 编译)
  • 所有节点时间同步
  • 节点间 SSH 互信
  • 共享存储(用于资源池化方案)

部署流程概要

# 1. 所有节点安装数据库软件(不初始化)
# 2. 主节点初始化数据库
# 3. 配置主备关系
# 4. 部署 HAS 服务
# 5. 配置 VIP 和资源管理
# 6. 启动集群

HAS V3.2 相比 V1.4 的主要改进:

  • 支持资源池化同城双中心
  • 更精细的 VIP 管理
  • 支持最多 8 个备机
  • 故障检测频率百毫秒级

一主多备

对可靠性要求高的场景,部署一主多备(推荐 1 主 2 备):

  • 3 个副本,可靠性 4 个 9
  • Quorum 复制模式,至少同步到 1 台备机
  • 任意节点故障不影响业务
  • 数据有三份,任何节点故障仍有双份数据

常见问题排查

1. 初始化失败:libatomic.so.1 找不到

麒麟 V10 环境特有问题:

# 安装 libatomic
yum install -y libatomic

2. 启动报错:could not create shared memory segment

kernel.shmmax 设置太小。计算公式:

shmmax = 物理内存(字节) × 0.75

例如 64GB 内存的服务器:

echo "kernel.shmmax = 51539607552" >> /etc/sysctl.conf
sysctl -p

3. 安装中途退出:依赖包缺失

某些最小化安装的系统缺包较多,安装前务必执行依赖检查:

rpm -q zlib-devel libaio libuuid readline-devel krb5-libs \
  libicu libxslt tcl perl openldap pam openssl-devel libxml2 bzip2

缺失的包逐个安装。

4. RemoveIPC 导致数据库崩溃

现象:数据库运行一段时间后突然无法连接,日志报 could not attach to shared memory

解决:/etc/systemd/logind.conf 中设置 RemoveIPC=no,重启 systemd-logind。

5. 兼容模式选错

初始化后无法修改兼容模式。如果选错了只能重新初始化:

# 备份数据
vb_dump -d postgres -f backup.sql

# 停止并删除数据目录
vb_ctl stop -D $VBDATA
rm -rf $VBDATA/*

# 重新初始化
vb_initdb -D $VBDATA -U vastbase -W Vastbase@123 --compatible=A

# 恢复数据
vsql -d postgres -f backup.sql

升级

Vastbase G100 支持三种升级方式:

方式 适用场景 停机时间
重新初始化升级 大版本跨越 长,需数据迁移
替换升级 相邻版本,小版本升级 短,替换二进制文件
补丁升级 紧急修复 最短,热补丁

升级前务必做好全量备份:

vb_dumpall -f full_backup.sql -U vastbase

总结

Vastbase G100 的安装部署整体流程和 PostgreSQL 类似,但有几点需要特别注意:

  1. 兼容模式初始化时确定:Oracle 迁移选 A,MySQL 迁移选 B,不可更改
  2. 麒麟环境依赖:libatomic 是必须的,别漏
  3. RemoveIPC:CentOS/RHEL 7.2+ 环境的必改项
  4. HAS 集群:生产环境必须部署,单机不推荐用于现网
  5. 密码策略:Vastbase 安全要求较高,密码需 8 位以上含大小写和数字

整体来说,Vastbase G100 的安装体验比预期好,文档也比较完善。最大的坑是国产操作系统环境的依赖问题,建议安装前仔细对照官方兼容列表和依赖清单。

分享:

相关文章

评论区