
1. 环境准备避开那些官方没说的坑第一次在CentOS 7.x上装openGauss时我天真地以为照着官方文档就能搞定结果被现实狠狠教育了。这里分享几个官方手册里不会告诉你的关键点系统版本选择虽然官方说支持CentOS 7.5但实测7.6以上更稳。有次在7.5上装完总莫名其妙崩溃换成7.8后世界都清净了。建议直接用这个镜像# 查看系统版本 cat /etc/redhat-release网络配置千万别用DHCP有次偷懒没配静态IP第二天重启后数据库连不上了发现IP变了。正确姿势是手动配置# 修改网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33关键参数BOOTPROTOstaticONBOOTyesIPADDR192.168.1.100按实际改NETMASK255.255.255.0GATEWAY192.168.1.1内核参数调整这是最坑的官方检查工具gs_checkos会报Warning但不说怎么改。这三个必须调# 共享内存单位字节 sysctl -w kernel.shmmax17179869184 # 信号量 sysctl -w kernel.sem500 512000 64 2048 # 禁用透明大页 echo never /sys/kernel/mm/transparent_hugepage/enabled2. 安装包处理解压也有玄机下载完openGauss-3.0.0-CentOS-64bit-all.tar.gz后别急着解压。我遇到过两次解压后脚本权限丢失的问题现在都养成条件反射了# 先创建专用目录 mkdir -p /opt/opengauss # 解压时保留权限 tar -zxvf openGauss-3.0.0-CentOS-64bit-all.tar.gz -C /opt/opengauss --no-same-owner # 关键的一步 chmod -R 755 /opt/opengauss依赖包安装官方列表不全实测还需要这些yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core3. 配置文件clusterconfig.xml的隐藏陷阱这个文件堪称坑王我至少踩过三种雷路径问题有一次把数据目录放在/opt/opengauss下结果总是报权限错误。后来发现必须和安装目录平级!-- 错误示范 -- PARAM namegaussdbAppPath value/opt/opengauss/app / !-- 正确姿势 -- PARAM namegaussdbAppPath value/opt/huawei/install/app /主机名坑xml里的name必须和hostname完全一致有次主机名带.localdomain后缀但xml里没写预安装直接失败# 查看主机名 hostname # 对应xml配置 PARAM namenodeNames valueyour_hostname/ PARAM namename valueyour_hostname/内存配置如果机器内存小于8G一定要改这个!-- 在DEVICELIST里添加 -- PARAM namememorySize value4GB/4. 预安装的交互式雷区执行gs_preinstall时这几个交互点最容易翻车密码复杂度omm用户密码必须包含三种字符类型我试过Gauss123被拒改成Gauss123!才通过。建议这样生成# 生成随机密码 openssl rand -base64 12 | sed s/[/]/#/g互信配置当提示Are you sure you want to create trust for root?时输入yes后要立即输入root密码超时会失败如果之前配置过SSH免密先清理~/.ssh/known_hosts环境变量预安装完一定要检查cat ~/.bashrc | grep GAUSS # 应该有这些变量 export GAUSSHOME/opt/huawei/install/app export PATH$GAUSSHOME/bin:$PATH5. 正式安装时的疑难杂症切换到omm用户执行gs_install时90%的问题出在这共享内存不足报错could not create shared memory segment时检查/etc/sysctl.conf是否生效临时解决方案# 单位为KB sysctl -w kernel.shmall4194304 sysctl -w kernel.shmmax17179869184信号量限制错误could not create semaphores时# 查看当前值 ipcs -ls # 修改配置 sysctl -w kernel.sem250 512000 32 1024数据库密码这里有两个密码要区分第一个是数据库管理员密码复杂度要求最高第二个是openssl证书密码可以简单点6. 启动失败的终极排查指南当gs_om -t start失败时按这个顺序查查看日志# 主日志 cat /var/log/omm/omm/om/gs_local-*.log # 数据库日志 tail -f /opt/huawei/install/data/dn1/pg_log/postgresql-*.log常见错误处理端口冲突修改postgresql.conf里的port内存不足调小shared_buffers默认512MB权限问题检查数据目录属主是否为omm手动启动测试gs_ctl start -D /opt/huawei/install/data/dn1 -Z single_node7. 验证安装成功的正确姿势别以为启动成功就完了还要做这些检查基础检查# 查看进程 ps -ef | grep gaussdb # 检查端口 netstat -tunlp | grep 5432性能测试gs_checkperf # 重点关注 # - Shared Buffer Hit ratio 95% # - In-memory sort ratio 90%连接测试gsql -d postgres -p 5432 -c SELECT version(); # 应该返回类似 # openGauss 3.0.0 build 02c146968. 后续维护的实用技巧备份策略建议每天全备WAL归档gs_dump -U omm -W 密码 -p 5432 -F c -f /backup/db_$(date %Y%m%d).backup监控设置修改postgresql.conflog_destination csvlog logging_collector on log_directory pg_log log_filename postgresql-%Y-%m-%d_%H%M%S.log日常维护# 查看锁等待 select * from pg_locks where grantedfalse; # 查看长事务 select * from pg_stat_activity where stateidle;最后提醒所有关键操作前先备份配置文件我吃过亏后现在养成了习惯cp postgresql.conf postgresql.conf.bak_$(date %s)