KingbaseES的standby搭建
KingbaseES数据库部署及双机热备配置
Dataguard双机热备部署
注:配置期间使用数据库的属主用户进行操作
1.1 数据一致性准备
(1)修改数据库的配置文件参数:(2阶段初始化的数据库实例)
创建在归档日志存放目录(需要根据机器的存储空间进行创建,空间大于100GB):
- mkdir
- /datas_local/archive
- vim
- /DBDATA/data/kingbase.conf
- 打开归档:
- log_archive_start
- = on
- log_archive_dest = '/datas_local/archive' --目录根据操作系统服务器存储设置
备机只读设置:
- hot_standby=on
- wal_level='hot_standby'
使用kingbase用户操作
- 1、将从机指定数据目录下的(/DBDATA)data目录删除;
- 2、将主机指定数据目录下的(/DBDATA)data目录打包压缩:tar –czvf data.tbz data
- 3、将主机指定数据目录下的(/home/kingbase/KingbaseES)的data.tbz复制到从机指定路径下(/DBDATA)。
- 主机IP:10.150.73.182 从机IP:10.150.73.187
- 4、 在从机上指定目录(/DBDATA)解压数据文件data.tbz,生成本地数据目录:tar
- -xzvf data.tbz;
- (2) 增加ifconfig文件的SUID和SGID,使普通用户运行ifconfig时暂时具备root权限。
- chmod u+s /sbin/ifconfig
- chmod g+s /sbin/ifconfig
1.2 Dataguard配置文件准备
1、先配置主机,再配置从机;
- 将/home/kingbase/KingbaseES/bin/template/standby.conf分别拷贝到主备数据库安装目录的config下,并进行修改;
- A机外网IP:10.150.73.182
- A机私网IP:10.10.10.1
- B机外网IP:10.150.73.187
- B机私网IP:10.10.10.2
- 浮动ip:10.150.73.189
主机OS配置:
Dataguard和kingbase运行在普通用户模式下,普通用户没有设置和删除IP的权限,IP浮动过程中,需要设置和删除IP,因此,如果需要浮动IP功能,需要增加普通用户设置和删除IP的权限。方法示例:
增加ifconfig文件的SUID和SGID,使普通用户运行ifconfig时暂时具备root权限,使用root用户执行:
- chmod u+s /sbin/ifconfig
- chmod g+s /sbin/ifconfig
注:IP地址随环境准备配置
主机
- [standby]
- managed = false
- is_debug = false
- log_timestamp = true
- local_server_port = 54322
- remote_server_ip = 10.10.10.2
- remote_server_port =
- 54322
- log_dir =
- '/home/kingbase/KingbaseES/log'
- standby_log =
- "standby-%w.log"
- server_mode = 'primary'
- kingbase_fault_num =
- 0
- enable_float_ip = true
- floatip_readonly_addcmd
- = '/sbin/ifconfig
- eth0:0 10.150.73.188/24'
- floatip_readonly_delcmd
- = '/sbin/ifconfig
- eth0:0 down'
- floatip_readwrite_addcmd
- = '/sbin/ifconfig
- eth0:0 10.150.73.189/24'
- floatip_readwrite_delcmd
- = '/sbin/ifconfig
- eth0:0 down'
- [kingbase]
- managed = false
- lifecheck_interval =
- 2
- kingbase_log =
- "kingbase-%w.log"
- bin_dir =
- '/home/kingbase/KingbaseES/bin'
- data_dir = '/DBDATA/data'
- log_archive_dest = '/datas_local/archive'
- primary_conninfo = 'host=10.10.10.2 port=54321'
- parallel_recover_threads =
- 1
- local_kingbase_cmdport =
- 54323
- protection_mode
- = maxprotection --同步模式(maxperformance异步模式)
- send_taillog = true
- retrytimes = 0
- [network]
- managed = true
- startlevel = 99
- stoplevel = 0
- checkalive = 'touch
- /DBDATA/kingbase/kingbase.txt && ping -c 1 -w 1 10.150.73.190
- 1>/dev/null 2>/dev/null'
- checkinterval = 5
- checkfails = 3
- hotstandby = false
- startcmd = ""
- stopcmd = ""
- needswitch = true
- retrytimes = 0
- retrycmd = ""
- [klogminer]
- managed = false
- startlevel = 99
- stoplevel = 0
- checkalive = "kdb_logminerd
- status"
- checkinterval = 3
- checkfails = 1
- hotstandby = false
- startcmd = "kdb_logminerd
- start $MODE$"
- stopcmd = "kdb_logminerd
- stop $PID$"
- needswitch = true
- retrytimes = 0
- retrycmd = "kdb_logminerd
- restart $FAILEDTIMES$"
备机
- [standby]
- managed = false
- is_debug = false
- log_timestamp = true
- local_server_port = 54322
- remote_server_ip = 10.10.10.1
- remote_server_port =
- 54322
- log_dir =
- '/home/kingbase/KingbaseES/log'
- standby_log =
- "standby-%w.log"
- server_mode = 'standby'
- kingbase_fault_num =
- 0
- enable_float_ip = true
- floatip_readonly_addcmd
- = '/sbin/ifconfig
- eth0:0 10.150.73.188/24'
- floatip_readonly_delcmd
- = '/sbin/ifconfig
- eth0:0 down'
- floatip_readwrite_addcmd
- = '/sbin/ifconfig
- eth0:0 10.150.73.189/24'
- floatip_readwrite_delcmd
- = '/sbin/ifconfig
- eth0:0 down'
- [kingbase]
- managed = false
- lifecheck_interval =
- 2
- kingbase_log =
- "kingbase-%w.log"
- bin_dir =
- '/home/kingbase/KingbaseES/bin'
- data_dir = '/DBDATA/data'
- log_archive_dest = '/datas_local/archive'
- primary_conninfo = 'host=10.10.10.1 port=54321'
- parallel_recover_threads =
- 1
- local_kingbase_cmdport =
- 54323
- protection_mode = maxprotection
- send_taillog = true
- retrytimes = 0
- [network]
- managed = true
- startlevel = 99
- stoplevel = 0
- checkalive = ' touch
- /DBDATA/kingbase/kingbase.txt && ping -c 1 -w 1 10.150.73.190
- 1>/dev/null 2>/dev/null '
- checkinterval = 5
- checkfails = 3
- hotstandby = false
- startcmd = ""
- stopcmd = ""
- needswitch = true
- retrytimes = 0
- retrycmd = ""
- [klogminer]
- managed = false
- startlevel = 99
- stoplevel = 0
- checkalive = "kdb_logminerd
- status"
- checkinterval = 3
- checkfails = 1
- hotstandby = false
- startcmd = "kdb_logminerd
- start $MODE$"
- stopcmd = "kdb_logminerd
- stop $PID$"
- needswitch = true
- retrytimes = 0
- retrycmd = "kdb_logminerd
- restart $FAILEDTIMES$"
Dataguard双机集群启动
上述配置工作完成之后,首次启动standby服务,需要先启动主机standby控制器,然后再启动从机standby控制器;
使用kingbase用户进入目录/home/kingbase/KingbaseES/bin设置双机管理用户名\密码:
- ./standby –UKLS –WKLS ——主备机都需要进行设置
- 使用root用户将/home/kingbase/KingbaseES/bin/standby7d文件拷贝到主备机的/etc/init.d文件夹下;
- 先启动主机:
- 使用root用户:/etc/init.d/standby7d start
- 启动备机:/etc/init.d/standby7d start
- istandby登陆:
- ./istandby
- –UKLS –WKLS
- 查看standby状态:get all status
- 停止控制器监听:stop listener
- 切换主从状态:swich over
- 如果配置正确,主从机网络正常。启动主从机standby后,主从机自动识别各自模式状态:主机为primary,从机为standby,通过客户端连接主机数据库,可以连接成功正常访问,
- 客户端连接从机数据库,不能正常访问,提示“处于standby模式的数据库系统不能接受连接”。
Dataguard观察器
观察器配置部署(主备机都需要配置并启动)
- cd /home/kingbase/KingbaseES/config
- vim
- observer.conf
- [observer]
- server_ip_1 =
- '10.150.73.182' ----外网的IP地址
- server_ip_2 = '10.150.73.187'
- server_port_1 = 54322
- server_port_2 = 54322
- server_timeout = 10
- network_timeout = 10
- log_directory =
- '/home/kingbase/KingbaseES/observer.log'
- query_interval = 1
- TCP = 54324
- 启动观察器:
- ./observer &
本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1618572
KingbaseES的standby搭建的更多相关文章
- Oracle DataGuard 物理Standby 搭建(上)
物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...
- DataGuard相同SID物理Standby搭建
Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...
- Oracle DataGuard 物理Standby 搭建(下)
主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUAR ...
- KingbaseES的HA搭建
1.配置资源前准备: 安装好数据库并保持两台机器用户ID及组ID一致,组ID和用户ID在/etc/passwd查看,如不保持一致,可能导致切机时阵列的属主改变,导致数据库无法启动. 建议用法,现在两台 ...
- postgresql 异步流复制hot standby搭建
先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上 一.主库上的操作: 1.添加同步访问规则: host replication dbuser ...
- Logical standby database 搭建(配置)
说明 Logical standby 数据库是通过Physical standby数据库转换的.本Logical standby是通过之前创建的Physical standby转换的. Physica ...
- PostgreSQL Hot Standby的搭建
一. 简介: PG在9.*版本后热备提供了新的一个功能,那就是Stream Replication的读写分离,是PG高可用性的一个典型应用.这个功能在oracle中叫active d ...
- 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...
- vault 集群搭建(active standby 模式)
参考架构图: consul server cluster 搭建 consul 基本配置格式 { "server": true, "node_name": ...
随机推荐
- hrbustoj 2013 Play Game 2(博弈)
注释在代码里 /* 1.若输入2 ~ 9 ,因为Stan 是先手,所以Stan 必胜 2.若输入10~18 ,因为Ollie 是后手,不管第一次Stan 乘的是什么,Stan肯定在 2 ~ 9 之间, ...
- 超级好用的excel第三方组件
http://www.cnblogs.com/MR_ke/archive/2010/02/25/1673243.html 前一篇介绍了怎么用com操作excel,后来有朋友说用NPOI好,下面我也来介 ...
- armstrong's programming erlang 2nd
Re: json handling map functions in erlang 17 I have not read Joes final book on the matter (several ...
- Phpexcel 多sheet ,设置
多sheet 一定要县创建sheet foreach ($alias_name as $ca) { if ($sheet > 0) { $objExcel->createSheet(); ...
- 牛掰啊,github+svn+FB进行项目开发
刚刚头脑发热,用svn把自己的github的一个项目下载下来,然后在Flash Builder中导入,然后惊喜的发现项目居然被svn接管了,如图: 当然,你得给你的Flash Builder装SVN插 ...
- Codeforces#363 Div2
A题: 题意:给定一些数,给定一些往左走和往右走的操作,问是否能够相遇,如果相遇请求出相遇时间 分析:对于相邻两个数,如果大的往左,小的往右就能够相遇,否则不能相遇,在求出所有相遇当中的第一次相遇即可 ...
- Android之ListView的快速滑动模式:fastScrollEnabled以及滑块的自定义
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0917/1690.html http://blog.csdn.net/xyang ...
- 控制流之continue
continue语句continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环.使用continue语句~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- (简单) POJ 3667 Hotel,线段树+区间合并。
Description The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and e ...
- Base64图片与UIImage的相互转化
http://blog.csdn.net/fudesign2008/article/details/38903085 Base64图片 -> UIImage - (UIImage *) data ...