中标麒麟高级系统V7安装PG11

中标麒麟高级系统V7安装PG11

服务器配置

硬件环境

服务器的硬件配置

服务器硬件配置表

机型

组件

型号

数量

服务器机型

CPU

 

 

内存

 

硬盘

 

网卡

 

 

软件环境

Linux系统为 neokylin7.6(中标麒麟7.6)

中标麒麟光盘镜像nsV7Update6-adv-lic-build4-x86_64.iso

 

安装时,服务器的安装软件选项为:

基本环境:带GUI的服务器

已选环境的附加选项:FTP服务器+Java平台+大系统性能+兼容性程序库+开发工具

 

Pg相关软件部署结构图

1.安装前准备

1.1关闭防火墙

两台服务器都要关闭防火墙

systemctl disable firewalld

systemctl stop firewalld

systemctl status firewalld

 

1.2检查是否已安装postgresql

推荐使用yum进行卸载

yum list installed | grep postgres

 

卸载postgresql

yum remove postgresql*

 

 

 

 

不推荐使用rpm来卸载

rpm -qa | grep postgres检查是否存在已经安装的pg数据库

若有结果请删除

rpm-e包名

如果存在被依赖,则增加 --nodeps参数强制卸载

 

1.3两台服务器上创建postgres用户并配置密码

adduser postgres

passwd postgres

密码

若之前安装过可能已经存在用户postgres

userdel-rpostgres

删除用户并删除/home/postgres目录

或者

userdelpostgres

仅删除用户

 

1.4配置两台服务器之间postgres用户的免密登陆

配置主机到从机的免密登陆

切换用户为postgres用户,生成密钥文件

su postgres

ssh-keygen -t rsa -P ''

ssh-copy-id -i /home/postgres/.ssh/id_rsa.pub postgres@192.168.247.128

 

 


配置从机到主机的免密登陆

切换用户为postgres用户,生成密钥文件

supostgres

ssh-keygen -t rsa -P ''

ssh-copy-id -i /home/postgres/.ssh/id_rsa.pub postgres@192.168.37.202

 

 

 

 

 

 

2进行安装

2.1通过自动化脚本进行安装

上传安装用文件PGinstall.tar.gz及安装脚本PGinstall.sh到/root/目录下

 

 

此脚本自动安装主机和从机的pg数据库,自动安装插件pg_cron,pg_stat_statement,repmgr

自动配置主从之间的流复制。

[root@localhost ~]# sed -i 's/\r//' PGinstall.sh

通过

shPGinstall.sh确认阅读过使用手册并开始安装 192.168.37.172 1 192.168.37.171

 

第一个参数是确认阅读过使用手册并开始安装

第二个参数是从机的ip地址

第三个参数是从机的root用户的密码

第四个参数是主机的ip地址

 

2.2安装是否成功的检查

 

1.检查repmgrd的日志是否有持续产生日志内容是否报错

正常的日志内容

主机

从机

 

2.检查流复制是否正常

检查主从ip等信息是否错误

su postgres -c "repmgr cluster show "

3.通过sql比对主从lsn的信息是否相同

从库进入psql

su postgres -c "psql"

从库内psql

select case when pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() then 0 else EXTRACT(EPOCH FROM now() - pg_last_xact_replay_timestamp()) end as replication_lag,pg_last_wal_receive_lsn(),pg_last_wal_replay_lsn() ,now(),pg_last_xact_replay_timestamp();

检查第一个数值是不是为0

 

3.对postgresql进行参数配置

3.1参数配置

针对服务器的不同配置对PG数据库进行参数配置

修改方式

vi /usr/local/pgsql/data/postgresql.conf

shift+G走到末尾

i进入编辑模式

ctrl+C退出编辑模式

shift+Q进入命令行模式

命令行模式wq enter 保存退出

 

 

主要修改以下参数

修改

1.archive_command

这个参数配置的是事务日志归档的地址

该目录要给postgres用户所有和700权限

archive_command = '/bin/true'#修改为'cp %p /home/archives/%f'

/home/archives/是阵列的地址

 

2.shared_buffers

共享内存配置为1/4到1/2的服务器内存

shared_buffers = 64GB #1/4到一半的服务器内存

 

3.max_worker_processes

最大worker数量保持和cpu的核心数量相同

Cpu核心数量等于cpu个数

max_worker_processes = 96 #和cpu核心数量相同

 

4.max_connections

最大连接数

max_connections=4000  #32g内存 1000 64g内存2000 128g 4000

 

 

 

3.2全量备份配置

待确定调用方式,存储位置对脚本进行修改

#! /bin/bash

#V2.1

#xht

#wht

#20191017

预计需要加入功能 检查目录下是否有文件,在主从下都通过定时任务调用此脚本

都检测目录下是否有文件主机定时任务比从机提早6个小时

PGDATA=/usr/local/pgsql/data

PGHOME=/usr/local/pgsql

PATH=$PATH:$HOME/bin:$PGHOME/bin

CDATE=`date "+%Y%m%d-%H%M%S"`

iparray=(192.168.56.201 192.168.56.202)

DIR=/tmp/pgsql_backup/${CDATE}

for var in  ${iparray[@]}

do

master=`psql -h $var -U repmgr -c "select pg_is_in_recovery();" | awk 'NR>2 && NR<4'`

if [ $master = "f" ];then

echo $master

echo "ip $var"

#对主ip进行basebackup

if [ ! -d $DIR ]; then

  mkdir -p $DIR

fi

pg_basebackup -h $var -p 5432 -U repmgr -D $DIR  -Ft -R -z -v --checkpoint=fast

echo "备份成功$DIR"

else

echo "ip不是主ip:$var"

fi

done

考虑使用linu内置定时任务调度此脚本

crontab -e添加定时任务

30 23 * * 1sh /脚本路径/脚本名.sh

每周一23:30执行一次全量备份

crontab -l 查看正在运行的定时任务

3.3增量备份配置

通过archive_command进行增量备份

验证

手动切换wal,然后checkpoint看指向的阵列目录上是否有数据文件。

 

 

4.错误处理

发现错误需要立即暂停

检查并改正错误

1.删除/usr/local/pgsql文件夹

rm -rf /usr/local/pgsql

2.检查/etc/profile是否已存在环境变量的配置

删除这4行

vi /etc/profile

SHIFT + G 走到行尾

i进行编辑

删除最后4行内容

CTRL+C退出编辑模式

SHIFT+Q进入命令行模式

wq保存

 

 

1.连接ipnoroutetohost

立即停止检查ip是否配置正确

 

 

2.连接错误请检查防火墙是否关闭

 

3 主机关机以后别启动postgresql,先执行以下语句。

把归档日志从服务器上面copy到主机,在执行以下语句。

[postgres@localhost ~]$ repmgr node rejoin -d 'host=10.11.141.9 user=repmgr dbname=repmgr connect_timeout=2' --force-rewind --config-files=postgresql.conf

 

5 中标麒麟高级系统V7安装

系统环境:

 

worksation15.5

 

中标麒麟高级服务器操作系统软件V7.0U6

 

1、新建虚拟机

 

 

2、点击下一步

 

 

3、选择系统映像文件

 

 

4、选择操作系统类型,中标麒麟是基于redhat版本

 

6 设置YUM

mkdir -p /app/iso7.6

 

cp -rpv /run/media/root/nsV7Update6-x86_64/* /app/iso7.6/

 cd /etc/yum.repos.d/

vim iso.repo

 

[name]       #括号中的名称为仓库源名称,通常为字母和数字,必须填写

name=my new repo     #对yum的描述,可写可不写

baseurl=file:///mnt/cdrom    #baseurl表示声明yum可以管理并使用的rpm包路径,必须填写

enabled=1            #enabled表示当前仓库是否开启,1为开启,0为关闭,此项不写默认为开启

gpgcheck=0           #gpgcheck表示安装rpm包时,是否基于公私钥对匹配包的安全信息,1表示开启,

 

[root@DBZ yum.repos.d]# cat  iso.repo

[iso7.6]

name=iso

baseurl=file:///app/iso7.6

enabled=1

gpgcheck=0

    

     yum clean all

     yum list

7 设置时间对时

国内可用的互联网时间对时地址

[root@DBZ ~]# ntpdate ntp1.aliyun.com

15 Dec 15:28:58 ntpdate[19563]: step time server 120.25.115.20 offset 15465.254618 sec

 

crontab –e

*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值