一、前言
openGauss 6.0.0-RC1是openGauss 2024年3月发布的创新版本,该版本生命周期为0.5年。根据openGauss官网介绍,6.0.0-RC1与之前的版本特性功能保持兼容,另外,在和之前版本兼容的基础上增加了很多新功能,比如分区表性能优化、支持多语言日志、支持SPQ多机并行查询框架、MySQL迁移及兼容性增强、特别是为DataKit增加了很多新特性,并且修复了很多CVE漏洞。
https://docs-opengauss.osinfra.cn/zh/docs/6.0.0-RC1/docs/ReleaseNotes/版本介绍.html,官网这个页面对于openGauss 6.0.0-RC1对于版本继承和新增功能有详细的介绍。
在安装部署方面,openGauss 6.0.0提供了一站式交互式安装功能,极大简化了安装流程,降低了用户学习成本。
根据openGauss官网介绍,openGauss版本号采用点分位命名规则(XX.Y.0)模式,创新版在版本号后增加“-RCx”表示。其中XX.0.0表示LTS版本,Y表示补丁版本,XX.0.0-RCx表示创新版本。正常每两年发布一个LTS版本,创新版本供用户联创测试使用;LTS版本作为长期支持版本,可规模上线使用。涉及重大问题修复时,会按需发布补丁版本。
openGauss生命周期初步规划为:
- LTS版本发布间隔周期2年,社区提供3年维护支持。
- 创新版本发布间隔周期0.5年,社区提供0.5年维护支持。
之前我曾体验过openGauss 5.0的集群安装部署,这次我希望再尝试下6.0的安装部署,另外也希望通过一款名叫zcbus的迁移工具,迁移Oracle 数据到OpenGauss 6.0.0。
二、安装准备
2.1 安装需求
集群环境各服务器应具有相同体系架构,比如要满足如下一些需求:
- 64bit 和 32bit 不能同一集群
- ARM 和 x86 两类系统不能同一集群
2.2 安装流程
openGauss的安装基于以下流程。
2.3 硬件环境要求
集群环境openGauss各服务器应满足以下最低硬件需求,生产环境应根据业务需求适时调整硬件配置,本次采用三台x86服务器、选用CentOS 7.9系统部署OpenGauss 6.0.0一主二备集群。
项目名称 | 配置描述 | 备注信息 |
---|---|---|
服务器数量 | 3(台) | |
内存 | >=32(GB) | 功能调试建议32GB以上,性能及商业部署建议单机不低于128(GB) |
CPU | >= 1 * 8(核),2.0(GHz) | 性能及商业部署建议单机不低于1*16(核),2.0(GHz) 支持超线程和非超线程两种模式,建议选择相同模式 |
硬盘 | > 1(GB) 存放openGauss应用程序 > 300(MB) 存放元数据 > 70(%) 存储空间存放数据库数据 |
用于安装openGauss的硬盘需最少满足如下要求:
至少1GB用于安装openGauss的应用程序。 |
网络 | >= 300(兆) 以太网 | 建议设置双网卡冗余bond |
2.4 操作系统要求
2.4.1 软件环境要求
软件类型 | 配置描述 | 备注信息 |
---|---|---|
操作系统 | x86操作系统 CentOS 7.6及以上 |
生产建议选择CentOS 7系列 |
inode个数 | 剩余inode个数>15(亿) | |
工具 | bzip2 | |
Python | Python 3.6.X | python需要通过–enable-shared方式编译 |
2.4.2 软件依赖要求
所需软件 | 建议版本 | 备注信息 |
---|---|---|
libaio-devel | 建议版本:0.3.109-13 | |
flex | 要求版本:2.5.31 以上 | |
bison | 建议版本:2.7-4 | |
ncurses-devel | 建议版本:5.9-13.20130511 | |
glibc-devel | 建议版本:2.17-111 | |
patch | 建议版本:2.7.1-10 | |
redhat-lsb-core | 建议版本:4.1 | |
readline-devel | 建议版本:7.0-13 |
2.5、集群规划
2.5.1 主机名称规划
主机名称 | 描述说明 |
---|---|
xsky-node1 | 主节点hostname |
xsky-node2 | 备节点一hostname |
xsky-node3 | 备节点二hostname |
2.5.2 主机地址规划
IP地址 | 描述说明 |
---|---|
10.110.7.39 | 主节点IP地址 |
10.110.7.40 | 备节点一IP地址 |
10.110.7.41 | 备节点二IP地址 |
2.5.3 端口号规划
端口号 | 参数名称 | 描述说明 |
---|---|---|
15000 | cmServerPortBase | 主CM Server端口号 |
15400 | cmServerPortStandby | 数据库主节点端口号 |
2.5.4 用户及组规划
项目名称 | 名称 | 所属类型 | 规划建议 |
---|---|---|---|
用户名 | omm | 操作系统 | 建议集群各节点密码及ID相同 |
组名 | dbgrp | 操作系统 | 建议集群各节点组ID相同 |
2.5.5 软件目录规划
相较于5.0,openGauss 6.0.0配置文件xml目录设置选项大大减少。
另外官网也提供了诸如xlog的目录可选参数dataNodeXlogPath。
目录名称 | 对应名称 | 目录作用 |
---|---|---|
/opt/huawei/data/cmserver | cmdir | CM数据文件路径。保存CM Server和CM Agent用到的数据文件,参数文件等。 |
/opt/huawei/install/data/dn | dataNode1 | 数据库主节点上的数据目录,及备机数据目录 |
2.6、软件环境准备
2.6.1 安装python3
openGauss 6.0.0安装需要python环境,并且对python版本有一定要求,并要求所有节点都要安装部署python环境。
本次安装选择python 3.6.10版本,使用–enable-shared方式编译。
# root用户执行【所有节点】
-- 安装依赖包
[root@xsky-nodexxx ~]# yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
-- 创建安装目录
[root@xsky-nodexxx ~]# mkdir /usr/local/python3
[root@xsky-nodexxx ~]# cd /home/soft
-- 如服务器可以连接网络,可通过wget获取安装包,如无法联网,可下载安装包并上传至服务器
[root@xsky-nodexxx soft]# wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tar.xz
-- 解压源码包
[root@xsky-nodexxx soft]# tar xvJf Python-3.6.10.tar.xz
[root@xsky-nodexxx soft]# cd Python-3.6.10
-- 配置编译参数
[root@xsky-nodexxx Python-3.6.10]# ./configure --prefix=/usr/local/python3 --enable-optimizations --enable-shared CFLAGS=-fPIC --with-ssl
-- 执行安装
[root@xsky-nodexxx Python-3.6.10]# make && make install
-- 创建链接
[root@xsky-nodexxx Python-3.6.10]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
-- 检验python版本
[root@xsky-nodexxx ~]# python3
Python 3.6.10 (default, Jul 12 2023, 17:08:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
2.6.2 安装软件依赖包
openGauss 6.0.0的安装需要一些软件依赖包。
如果服务器可以联网,可通过配置yum源进行安装,若无法连接外网,可通过挂在iso文件,配置内部yum源进行安装。
# root用户执行【所有节点】
[root@xsky-nodexxx ~]# yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel zlib readline
-- 检查是否已安装
[root@xsky-nodexxx ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep -E "libaio-devel|flex|bison|ncurses-devel|glibc-devel|patch|redhat-lsb-core|readline-devel|zlib|readline|expect"
2.7 修改操作系统配置
2.7.1 关闭操作系统防火墙
建议对各安装节点关闭操作系统防火墙,若有特殊需求需要开启操作系统防火墙,可根据openGauss相关服务及协议,将相应IP和端口号添加至openGauss节点主机防火墙白名单中。
# root用户执行【所有节点】
-- 停止 firewalld 服务
[root@xsky-nodexxx ~]# systemctl stop firewalld.service
-- 禁用 firewalld 服务
[root@xsky-nodexxx ~]# systemctl disable firewalld.service
-- 查看 firewalld 服务状态
[root@xsky-nodexxx ~]# systemctl status firewalld
-- 显示如下表示已关闭禁用防火墙
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
2.7.2 关闭SELinux
通常会选择关闭操作系统selinux服务,可通过如下方式关闭各节点selinux服务。
# root用户执行【所有节点】
-- 临时关闭SELinux
[root@xsky-nodexxx ~]# setenforce 0
-- 永久关闭SELinux
[root@xsky-nodexxx ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
-- 检查SELinux状态
[root@xsky-nodexxx ~]# getenforce
-- 状态为Disabled表明SELinux已关闭
Disabled
2.7.3 修改字符集
建议将各数据库节点设置为相同字符集,比如,采用如下方式,设置字符集为UTF8。
# root用户执行【所有节点】
[root@xsky-nodexxx ~]# cat>> /etc/profile/etc/ssh/sshd_config /etc/ssh/sshd_config
[root@xsky-nodexxx ~]# echo "Banner none " >> /etc/ssh/sshd_config
# 修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行
[root@xsky-nodexxx ~]# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
[root@xsky-nodexxx ~]# cat /etc/ssh/sshd_config |grep -v ^#|grep -E 'PermitRootLogin|Banner'
-- 重启生效
[root@xsky-nodexxx ~]# systemctl restart sshd.service
-- 查看SSH状态
[root@xsky-nodexxx ~]# systemctl status sshd.service
2.7.9 添加hosts解析
# root用户执行【所有节点】
[root@xsky-nodexxx ~]# cat >> /etc/hosts