1、准备ansible环境
2、下载磐维自动安装代码并解压到ansible主机的/opt/ansbile 目录
cd /opt/ansible
tar xf ansible_panwei.tar.gz3、准备机器、安装包
3.1准备三台机器,这里以bclinux8.2 为例
| IP | 主备 | IP类型 | 主机名 | 管理网IP | 内存 |
|---|---|---|---|---|---|
192.168.0.127 | primary | P | vdb1 | 192.168.0.127 | 至少8G |
192.168.0.126 | standby | P | vdb2 | 192.168.0.126 | 至少8G |
192.168.0.125 | standby | P | vdb3 | 192.168.0.125 | 至少8G |
| 192.168.0.130 | VIP |
3.2 将安装包上传到primary机器,这里上传到/tmp 目录
PanWeiDB_V2.0-S3.0.1_B01-install-bclinux_8.2-x86_64-no_mot.tar.gz
3.3 三台机器配置好yum源
4、编写自己的inventory
docker exec -it ansible2.9 /bin/bash
[root@ff2ab1fc6d9d /]# cd /opt/ansible/panwei/ 如vim Ha_inventory_panwei
[primary]
vdb1 ansible_ssh_host="192.168.0.127" vip='192.168.0.130' private_ip='192.168.0.127' ansible_ssh_user=root ansible_ssh_pass="123456"
[standby]
vdb2 ansible_ssh_host="192.168.0.126" ansible_ssh_user=root private_ip='192.168.0.126' ansible_ssh_pass="123456"
vdb3 ansible_ssh_host="192.168.0.125" ansible_ssh_user=root private_ip='192.168.0.125' ansible_ssh_pass="123456"
#
[cascade]
#vdb4 ansible_ssh_host="192.168.11.133" ansible_ssh_user=root ansible_ssh_pass="123456"
[all:vars]
#ansible_python_interpreter=/usr/bin/python3
#ansible_become=true
#ansible_become_user=root
#ansible_become_password='123456'
#ansible_become_method=su
soft_path = '/tmp/PanWeiDB_V2.0-S3.0.1_B01-install-bclinux_8.2-x86_64-no_mot.tar.gz'
install_has_dir = "/database/panweidb/cm"
install_soft_dir = "/database/panweidb/soft"
install_base = "/database/panweidb/app"
install_db_data = "/database/panweidb/data"
#install_pg_log = "/database/panweidb/pg_xlog" #no use
install_db_backup = "/backup"
install_core_dump = "/database/panweidb/corefile"
install_arch_dest = "/archive"
#install_db_log = "/database/panweidb/log" #no use
install_db_audit = "/database/panweidb/pg_audit"
install_os_user = "omm"
install_os_group = "dbgrp"
pw_os_user = 'pw123456'
pw_db = 'Pw@123456'
license_filename = '' #If it's empty, it will not use license.
#A means oracle compatibility, B means mysql compatibility, PG means postgresql compatibility
dbcompatibility='B'
ntp_servers = ['20.189.79.72','time.windows.com']
###for python
install_python = "Python-3.6.9.tgz"
python_installdir = "/usr/local/python3"
###for config xml
clusterName = "panweidb"
gaussdbLogPath = "/database/panweidb/log"
tmpMppdbPath = "/database/panweidb/tmp"
gaussdbToolPath = "/database/panweidb/tool"
mode = 2 # 1:single , 2: 1primary *standby *cascade
cmServerPortBase = "18800"
dataPortBase = "17700"
###for io_scheduler
config_device = ['nvme0n1','nvme0n2'] #empty will not config ,use default
config_rule_name = '89_io_scheduler.rules'
config_target = 'deadline'
###
#db parameters
#max_connections = "1000"
#maintenance_work_mem = "64MB"
#work_mem = "2MB"
#for callback.sh
callvip="fe80::5d3e:d481:b611:5452"
VIPBRD="::"
VIPNETMASKBIT="64"
VIPDEV="ens160"
VIPLABEL=17700
参数解释:
这里主要填写
soft_path 上传的软件包的路径
ansible_ssh_host 为ansible主机连接的地址,也是提供业务连接的物理IP地址
private_ip 管理IP,如果做业务网IP和集群内部管理IP分离,可单独配置个集群管理IP,这里示例机器只有单网卡,用同一个IP
vip 集群的vip,可以自动漂移
ansible_ssh_user ssh的用户,可以是普通用户,如果是root用户,ansible_become=true,ansible_become_user=root,ansible_become_password='123456',ansible_become_method=su 参数请注释;当root用户禁止直接登录的时候,可以用普通用户,并打开上述4个参数。
前面几行的vdb1、vdb2、vdb3 为主机名,在执行的时候会将主机名修改为对应的名称。
install_os_user = "omm" 为数据库运行的操作系统用户
install_os_group = "dbgrp" 为数据库运行的操作系统用户的默认组
pw_os_user = 'pw123456' 为添加的数据库用户的密码
pw_db = 'Pw@123456 为安装时设置的数据库默认密码
mode = 2 可以为1或者2 ,1表是安装单机版本,为2 表示安装集群版本,根据填写的主机数,自动安装为1主多备多关联的模式
dbcompatibility='A' 表示安装库的兼容模式,A表示oracle兼容模式,B表示mysql兼容模式,PG表示postgresql兼容模式
###for io_scheduler
config_device = ['nvme0n1','nvme0n2'] #empty will not config ,use default
config_rule_name = '89_io_scheduler.rules'
config_target = 'deadline
这三个参数为配置磁盘的调用模式,如果有nvme磁盘,默认调度方式非deadline,需要修改为deadline模式,这里示例,表示将nvme0n1,nvme0n2 2块磁盘更改为deadline模式,如果还有更多,依次添加即可
#for callback.sh
callvip="fe80::5d3e:d481:b611:5452"
VIPBRD="::"
VIPNETMASKBIT="64"
VIPDEV="ens160"
VIPLABEL=17700
配置自动回调脚本,跟VIP一样,如果有ipv6作为vip需要,可以填写该部分,并在安装结束后,执行额外配置
5、执行安装,在ansible主机上
[root@ff2ab1fc6d9d panwei]# ansible-playbook -i Ha_inventory_panwei panwei_Ha_install.yaml6、配置计划任务定期删除日志、归档(可选)
ansible-playbook -i Ha_inventory_panwei yaml/config_cron.yml7、配置callback.sh (ipv6)(可选)
ansible-playbook -i Ha_inventory_panwei yaml/callback.yaml 8、获取集群所有机器的机器码以便申请license(可选)
ansible-playbook -i Ha_inventory_panwei yaml/get_fingerprint.yml注意去掉首字符\r
9、如果需要在安装后,配置root不能直接登录(可选)
安装过程中会打开root直接登录,安装后如果需要可以执行下面配置root为不能直接登录
注意,需要用普通用户连接的方式,如果还是root直接登录方式,当配置生效后,root无法直接登录,如果执行长时间无法返回结果,这是预期内的
ansible-playbook -i Ha_inventory_panwei yaml/norootlogin.yml「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




