GBase 8s数据库安装包安装部署类脚本讲解
本文继续为您介绍南大通用GBase 8s 数据库(gbase database)安装包的安装部署类脚本:
1、install_init.sh
install_init.sh 是安装包的核心引擎,实现 GBase 8s 从软件安装、实例初始化到优化配置的全流程自动化。执行无需入参,配置来源于 init.ini。
执行阶段:
阶段一 · 环境校验与参数检查
检查 root 用户、bash 解释器;验证 init.ini 存在性;校验磁盘空间、内存、参数合法性、IP 格式、端口占用、密码复杂度;自动调用 check_env.sh
阶段二 · 数据库软件安装
创建 gbasedbt 用户和组;配置 sysctl(shmmax/shmall/shmmni/sem/swappiness)和 limits.conf(nproc=65536/nofile=1048576);静默安装数据库软件(30 分钟超时保护);创建 Chunk 目录和代理文件
阶段三 · 实例初始化与空间创建
生成 profile/sqlhosts/onconfig 配置文件;调整 30+ 项关键参数(自动计算双缓冲池、CPU VP、空间布局);创建 6 个 Chunk 文件(rootchk/plogchk/llogchk/tmpchk01/datachk01/sbschk);初始化实例并创建 plogdbs/llogdbs/sbsdbs/tmpdbs01/datadbs01 五个空间;迁移物理日志、逻辑日志
阶段四 · 服务配置与信息汇总
生成 systemd 服务文件(按需设置自启);创建 PluginPak 目录并复制辅助脚本;调用 collector_gbase.sh 和 collector_env.sh 采集信息;输出安装汇总报告(含 JDBC URL)
阶段五 · 清理中间文件
清理数据库安装过程中辅助数据库安装产生的临时文件或者目录
2、check_env.sh
安装前对操作系统环境进行自动化检查,确保软硬件条件满足安装要求:
- 系统工具 — tar、timeout、unzip、id、getent、pwdx、passwd、sleep、netstat,缺失时统一报错列出
- 系统库文件 — libnsl.so.1、libaio.so.1、libgcc_s.so.1 等,支持 x86_64 / aarch64,缺失时自动创建软链接修复
- Java 时区数据库 — tzdb.dat,支持 x86_64 / aarch64,缺失时自动修复
- 主机名 — 检查 /etc/hosts,缺失自动添加 127.0.0.1 映射
- 防火墙 — 自动停止并永久禁用 firewalld
- SELinux — 临时关闭(setenforce 0)并永久禁用
3、 auto_start.sh
将 GBase 8s 注册为 systemd 系统服务,实现开机自动启动:
- 生成 /etc/init.d/gbase8s 服务脚本(start/stop/restart/status)
- 生成 /etc/systemd/system/gbase8s.service 单元文件(Restart=on-failure)
- 重载 systemd 配置并设置开机自启
- 交互式询问是否立即重启数据库服务进行验证
⚠️ 注意:该脚本包含数据库重启操作,生产环境使用前请评估是否可以重启数据库。
