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
安装向导会依次要求输入:
- 安装目录:默认
/opt/vastbase/install/vastbase,回车确认即可 - 数据目录:默认
/opt/vastbase/data/vastbase - 数据库端口:默认 5432,可改成 8000(官方推荐)
- 数据库管理员用户名:默认
vastbase - 管理员密码:至少 8 位,包含大小写字母和数字
- 兼容模式:选择
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 类似,但有几点需要特别注意:
- 兼容模式初始化时确定:Oracle 迁移选
A,MySQL 迁移选B,不可更改 - 麒麟环境依赖:libatomic 是必须的,别漏
- RemoveIPC:CentOS/RHEL 7.2+ 环境的必改项
- HAS 集群:生产环境必须部署,单机不推荐用于现网
- 密码策略:Vastbase 安全要求较高,密码需 8 位以上含大小写和数字
整体来说,Vastbase G100 的安装体验比预期好,文档也比较完善。最大的坑是国产操作系统环境的依赖问题,建议安装前仔细对照官方兼容列表和依赖清单。

