Kylin Linux操作系统下opengauss 5.0.1安装操作指南
1. 文档属性 3
修改记录 3
文档概述 3
2. 安装前信息采集、需求及规划 4
2.1. 安装调研基本信息 4
2.2. 主机相关信息 4
2.3. 主机磁盘目录规划 5
2.4. 数据库信息 5
3. 安装前准备 6
3.1. 检查环境 6
3.2. 软件准备 7
3.3. 配置系统安装环境 7
3.3.1. Yum安装系统包 7
3.3.2. 修改内核参数 8
3.3.3. 修改系统限制 10
3.3.4. 修改shell配置,设置操作系统字符集 10
3.3.5. 禁用防火墙和selinux 10
3.3.6. 配置ntp服务 11
3.3.7. 禁用Transparent HugePages透明大页 12
3.3.8. 检查RemoveIPC=no 12
3.3.9. 关闭swap交换内存 13
3.3.10. 配置SSH服务(允许root登录,关闭Banner) 13
3.4. 添加用户和组 14
3.4.1. 规划目录并授权 14
4. 安装opengauss 14
4.1. 准备安装介质 14
4.2. 创建XML文件 15
4.3. 初始化安装环境 16
4.4. 执行安装 17
5. 调整数据库参数 19
6. 配置物理备份脚本 21
- 文档属性
修改记录
日期 |
作者 |
版本 |
修改记录 |
2024-04-15 |
吴建 |
1.0 |
First edtion |
文档概述
本文档参考opengauss 5.0.1官方文档等。
本文档作为opengauss 5.0.1在Kylin Linux SP2操作系统上的安装配置手册,为运维人员提供前期准备及安装配置参考,仅供参考。
注意:
此文档所提供的设定仅作为参考,由于客户环境、场景有差异,设定有所不同。
由于用户的生产系统千差万别,强烈建议工程师实施期间,根据实际环境进行适当设定,以规避可能出现的风险。
本文档仅供内部参考。
- 安装前信息采集、需求及规划
安装调研基本信息
信息项 |
说明 |
硬件平台 |
例如,信创云平台海光CPU虚拟机 |
操作系统及版本 |
例如,Kylin Linux SP2 |
存储 |
例如,云平台存储 |
网络 |
例如,云平台网络 |
数据库版本 |
例如,openGauss 5.0.1 |
数据库架构(单实例/主从) |
例如,单实例 |
数据文件存放形式(FS/RAW...) |
例如,使用FS文件系统 |
NTP |
例如,是否使用NTP |
主机相关信息
信息项 |
说明 |
备注 |
硬件平台信息 |
例如,信创云平台海光CPU虚拟机 |
|
操作系统及版本信息 |
例如,Kylin Linux SP2 |
|
CPU个数 |
例如,8 |
|
内存大小 |
例如,32GB |
|
网卡个数 |
例如,1 |
主机磁盘目录规划
目录规划举例:
目录名称 |
设备名 |
大小 |
用途 |
数据库安装目录 |
/opengauss_soft |
30G |
用于存放opengauss软件 |
数据库数据文件目录 |
/opengauss_data |
300G |
用于存放opengauss数据文件 |
归档目录 |
/opengauss_arch |
100G |
用于存放opengauss WAL归档日志 |
物理备份目录 |
/opengauss_bak |
200G |
用于存放opengauss物理备份 |
数据库信息
内容 |
描述 |
备注 |
数据量 |
预估数据量大小。 |
|
字符集 |
数据库字符集以及国家语言字符集。 |
|
数据库名称 |
请提供数据库名称。 |
|
表空间需求 |
请提供具体的表空间名称以及表空间大小需求。 |
|
用户需求 |
请提供用户名称、权限需求、用户默认表空间。 |
|
应用规划数据库最大连接数 |
请提供应用规划数据库最大的连接数,根据此数值设置数据库的processes以及sessions数。 |
|
数据库的时区需求 |
请根据应用提供数据库需要使用的时区。 |
|
归档策略 |
开启归档策略。 |
|
备份策略 |
数据库备份策略。 |
- 安装前准备
检查环境
检查磁盘空间(保证30G以上)
[root@node11~]#df -h
检查操作系统版本
[root@node6 ~]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"
[root@node6 ~]# cat /etc/.productinfo
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-x86_64-Build09/20210524
操作系统版本为Kylin Linux V10 SP2
检查内核版本
[root@node6 ~]# uname -a
Linux node6 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
查看当前时间和时区 (保证为东八区)
[root@node6 ~]# date -R Mon, 15 Apr 2024 15:45:32 +0800 [root@node6 ~]# date 2024年 04月 15日 星期一 15:45:55 CST |
其中CST代表China Standard Time,为正确时区。
修改时区方法:
- 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai
用此文件替换当前的 /etc/localtime
[root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime cp: overwrite `/etc/localtime'? y |
- 另一种修改方法为:
[root@localhost ~]#timedatectl set-timezone Asia/Shanghai |
修改时间方法:
使用date命令修改日期时间:
[root@localhost ~]# date -s "14:46:50 12/26/2017" Tue Dec 26 14:46:50 CST 2017 |
3. 将当前时间写入BIOS避免安重启后失效
[root@localhost ~]# hwclock -w |
软件准备
openGauss5.0.1企业版安装包:openGauss-5.0.1-CentOS-64bit-all.tar.gz
下载地址:https://www.opengauss.org/zh/download/
海光CPU的虚机,麒麟操作系统openGauss Server 选择操作系统与架构:x86_64 openEuler 20.03 opengauss_5.0.1企业版
配置系统安装环境
-
-
- Yum安装系统包
-
配置本地yum源
# mkdir /mnt/iso
# mount /dev/sr0 /mnt/iso
# cd /etc/yum.repos.d
# vi media.repo
[InstallMedia]
name=Kylin v10 sp2
gpgcheck=0
enabled=1
baseurl=file:///mnt/iso
安装rpm包
[root@node6 yum.repos.d]# yum clean all
6 文件已删除
[root@node6 yum.repos.d]# yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel expect libnsl2
-
-
- 修改内核参数
-
[root@node11~]# vi /etc/sysctl.conf
添加
# Controls the opengauss parameters
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.sctp.path_max_retrans = 10
net.sctp.max_init_retransmits = 10
net.sctp.association_max_retrans = 10
net.sctp.hb_interval = 30000
net.ipv4.tcp_retries2 = 12
vm.overcommit_memory = 0
net.sctp.sndbuf_policy = 0
net.sctp.rcvbuf_policy = 0
net.sctp.sctp_mem = 94500000 915000000 927000000
net.sctp.sctp_rmem = 8192 250000 16777216
net.sctp.sctp_wmem = 8192 250000 16777216
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
net.ipv4.ip_local_port_range = 26000 65535
kernel.sem = 250 6400000 1000 25600
vm.min_free_kbytes = 524288
net.core.somaxconn = 65535
net.ipv4.tcp_syncookies = 1
net.sctp.addip_enable = 0
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 60
kernel.shmall = 1152921504606846720
kernel.shmmax = 18446744073709551615
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
vm.extfrag_threshold = 500
vm.overcommit_ratio = 90
net.ipv4.ip_local_reserved_ports = 20050-20057,26000-26007
net.sctp.sctp_mem = 94500000 915000000 927000000
net.sctp.sctp_rmem = 8192 250000 16777216
net.sctp.sctp_wmem = 8192 250000 16777216
备注:
kernel.shmall,kernel.shmmax和vm.min_free_kbytes需要根据当前主机内存修改:
kernel.shmall = memory size / pagesize (这个pagesize是OS的,可以通过getconf PAGESIZE得知,可以通过执行以下命令获取到)
echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc
# kernel.shmmax Recommended: 1/2 memory /home/omm/gs_basebackup_full.log 2>&1
清理归档日志和全备份脚本:del_bak.sh
#!/bin/bash
source /home/omm/.bash_profile
DATE=$(date '+%Y%m%d%H%m%S')
#START DEL
echo "START DEL $DATE..............."
echo "................................."
##查询ARCH目录35天以前的归档文件
/usr/bin/find /opengauss_arch -mtime +35 -exec ls -l {} \;
##删除ARCH目录35天以前的归档文件
/usr/bin/find /opengauss_arch -mtime +35 -exec rm -rf {} \;
##查询BAK目录35天以前的归档文件
/usr/bin/find /opengauss_bak -mtime +35 -exec ls -l {} \;
##删除BAK目录35天以前的归档文件
/usr/bin/find /opengauss_bak -mtime +35 -exec rm -rf {} \;
echo "BACKUP DEL $DATE..............."
echo "................................."
sh /home/omm/del_bak.sh >>/home/omm/del_bak.sh.log 2>&1
操作系统定时任务:
crontab -e
00 01 * * 0 /usr/bin/sh /home/omm/gs_basebackup_full.sh >>/home/omm/gs_basebackup_full.log 2>&1
00 02 * * * /usr/bin/sh /home/omm/del_bak.sh >>/home/omm/del_bak.sh.log 2>&1
星期日01:00做数据库全备份
每天02:00做归档日志和数据库全备的过期文件删除操作
数据库全备加归档日志保留策略为28天。