请确保和备库相关的STATUS栏位为 VALID,GAP_STATUS栏位为NO GAP 1.2 确保备库的临时文件和主库一样 主备库分别执行如下语句 SELECT TMP.NAME FILENAME, 备库: ? 执行Switchover switchover的步骤很简单 将主库切换至备库 将原备库切换至主库 建议切换过程中打开相应的alert日志以便查看报错 2.1 查看主库是否可以切换至备库 SQL> SELECT 2.2 将主库切换至备库 切换之前: ? ,这时DG环境中有2个备库角色 ?
3 XtraBackup工作原理 XtraBackup工具详解 Part 4 XtraBackup权限及配置 XtraBackup工具详解 Part 5 使用innobackupex对数据库进行全备 此次实验的环境如下 MySQL 5.7.25 Redhat 6.10 操作系统账号:mysql 数据库备份账号:backup 1. prepare阶段 上节我们介绍了如何使用innobackupex对数据库进行全备 xtrabackup中叫做准备阶段(prepare stage) 这个阶段完成后该备份文件就可被使用 2. prepare 备份 使用--apply-log进行恢复动作,相当于Oracle的recover动作 后面接全备的目录
这里说的灾备测试主要指的是在我们测试过程中手工无法模拟,但是在用户使用产品的时候由于网络的原因又是会经常发生的情况,具体指的就是网络延时、请求失败、session失效等情况,下面我们就来看下针对这些情况我们该如何构造测试环境
热备方案 硬件:server两台,分别用于master-redis及slave-redis 软件:redis、keepalived 实现目标: 由keepalived对外提供虚拟IP(VIP)进行 6. redis-cli info查看主从redis信息。 Maste: ? Slave: ? 测试主从环境: Master: ? Slave: ? 热备测试 1. 主从启动所有服务 Service redis start Service keepalived start 2. 在master执行ip a查看虚拟IP是否绑定成功 ? 6. 重启主机redis服务 虚拟IP重新与主机绑定,主从恢复状态 ? ? 7. 查看数据是否丢失 ?
3 XtraBackup工作原理 XtraBackup工具详解 Part 4 XtraBackup权限及配置 XtraBackup工具详解 Part 5 使用innobackupex对数据库进行全备 此次实验的环境如下 MySQL 5.7.25 Redhat 6.10 操作系统账号:mysql 数据库备份账号:backup 1. prepare阶段 上节我们介绍了如何使用innobackupex对数据库进行全备 xtrabackup中叫做准备阶段(prepare stage) 这个阶段完成后该备份文件就可被使用 2. prepare 备份 使用--apply-log进行恢复动作,相当于Oracle的recover动作 后面接全备的目录
为了解决上述问题,一般采用双机热备解决方案,也就是通过硬件冗余再配合高可用双机热备软件实现的解决方案,高可用双机热备软件自动检测服务的运行状态,当主服务器发生故障,高可用双机热备软件会自动尝试修复故障或启动备用服务器 2 双机热备方案及不同方案的要求、方案对比 2.1 双机热备方案概述 一般实现双机热备的方案有三种,分别是共享存储双机热备方案、镜像双机热备方案、双机双柜双机热备方案,这三种方案对硬件要求不同,大家可以根据自身的业务应用特性来选择具体的双机热备方案以及对应的 2.2 镜像双机热备方案 2.2.1 镜像双机热备方案简介及拓扑 镜像双机热备方案中仅需要两台服务器即可实现双机热备,两台服务器利用本地磁盘存储业务数据,ServHA镜像双机热备软件(ServHA Mirror 双机热备软件产品。 若用户已经拥有两台台服务器,可以采用镜像双机热备方案,对应双机热备软件产品为ServHA Mirror。
一般在一些容灾环境中,尤其是在11g的ADG非常普及的场景下,备库被赋予了更多的责任,很多时候在容忍一些延迟的情况下,有些应用的大量数据查询任务直接放到了备库,把它当做一个只读节点来使用,所以在有些情况下 ,可能备库的压力还是蛮大的。 最近自从把备库纳入zabbix的监控体系之后,有一个备库总是在午夜发来一条报警邮件。 蓝色部分是CPU使用的比例,在每天的凌晨到晚上6点都在满负荷运行,然后会有一些短暂的空闲期。每天都是如此。 所以CPU的过载问题是很明显而且有规律的。 ACCESS - FULL 8.16 select count(*) from user_test13 where old_id=:1 76jg6df5tvqgp
还是类比MySQL,RDB相当于dump全备,AOF则像是statement格式的binlog,保存所有redis命令。AOF能保证不丢失数据,当有误删除发生,用AOF中保存的命令去重放以恢复数据。 ,sentinels=3 master5:name=redis11,status=ok,address=192.168.210.40:20011,slaves=2,sentinels=3 master6: name=redis14,status=ok,address=192.168.210.39:20014,slaves=2,sentinels=3 master7:name=redis6,status=ok
序言 同城异地灾备,主要是用来进行备份容灾的,从而当一个数据中心挂了,另外一个数据中心经过切换之后,能让服务迅速的恢复。 2、 数据库同步 在数据库方面,主要是使用mysql,而mysql则主要是使用主备模式,从而主的在一个机房,而备库则在另外一个机房,在同步的时候,不可避免的情况就是如果一旦主机宕机,从而有可能是丢失数据的 主备复制的延迟考虑,一般主机房和备机房之间使用万兆网络,从而对于一般的数据传输来说,延迟不是很高,基本上是可以忽略的。 在使用redis的时候,由于目前版本使用的redis2.8版本,从而不能跨机房做成集群的模式,从而导致redis也只能做成主备的模式,而redis作为高性能的缓存,丢失数据就无所谓了,主要还是在于高可用性即可 在数据库跨机房同步的时候,mysql可能出现脑裂的情况,也就是双机房互联网络出现中断,从而备机房检测到主机房不可用,但是在这个时候,是不能自动进行切换的,需要人工介入处理操作。
使用VRRP(虚拟路由冗余协议)热备份协议,一主多备,公用同一个IP地址(漂移地址,群集地址),但优先级不同 2、keepalived的安装配置: 1)编译安装:需要安装ipvsadm 2)配置文件keepalived.conf 全局配置:global_defs router_id 服务器名称 热备设置:vrrp_instance State 热备状态(主MASTER,从BACKUP) priority 优先级 virtual_ipaddress
Mysql 支持互为主从,主库通过binlog 将执行的语句传给从库,具体的执行机构:
、时间、软硬链接、属主、组等所有属性均不改变 4、可以实现增量同步,即只同步发生变化的数据,因此数据传输效率很高 5、可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身不对数据加密) 6、 zutuanxue ~]# rsync --daemon --config=/etc/rsyncd/rsyncd.conf [root@zutuanxue ~]# lsof -i :873 step6 [root@slave ~]# rsync --daemon --config=/etc/rsyncd/rsyncd.conf [root@slave ~]# lsof -i :873 step6
问题现象 Redis 频繁进行主备倒换,通过查看主实例的日志:redis.log发现下面报错: Client id=1317049445 addr=192.168.2.45:8004 fd=40 name sdsfree(client); return; } 单从代码来看,看不出啥,但是代码上面存在注释,我使用我那四级水平翻译了下,可以看出缓存区满了,于是可以想到可能主备同步的时候可能会限制缓存区大小 <hard limit> <soft limit> <soft seconds> 具体含义: class:我理解就是缓冲区的类型,目前Redis的缓冲区分为三个: 普通客户端:normal 主备同步
MySQL5.1的Innodb引擎,如需要可安装2.0版本(https://www.percona.com/downloads/XtraBackup/XtraBackup-2.0.8/RPM/rhel6/ x86_64/percona-xtrabackup-20-2.0.8-587.rhel6.x86_64.rpm) 1.4 了解常用参数 --user= #指定数据库备份用户 才可以全备和曾备连接起来。 这次增备为to_lsn = 20132701。 | +--------------------+ 5 rows in set (0.16 sec) mysql> drop database testdb; Query OK, 6
问题现象Redis 频繁进行主备倒换,通过查看主实例的日志:redis.log发现下面报错:Client id=1317049445 addr=192.168.2.45:8004 fd=40 name= sdsfree(client); return; }单从代码来看,看不出啥,但是代码上面存在注释,我使用我那四级水平翻译了下,可以看出缓存区满了,于是可以想到可能主备同步的时候可能会限制缓存区大小 <class> <hard limit> <soft limit> <soft seconds>具体含义:class:我理解就是缓冲区的类型,目前Redis的缓冲区分为三个:普通客户端:normal主备同步
在 YashanDB 的生产部署中,为保证业务连续性,主备架构是最常见的高可用模式。 本文将基于实际项目总结,一文讲清:主备切换的操作方式(手动与自动);一主一备与一主两备下的差异;切换过程中应注意的细节。 一、典型问题场景二、适用版本YashanDB 23.2 全版本适用三、一主一备架构切换方式1. 手动切换操作(1)Switchover —— 主动切换,适用于主备同步正常所有连接将被断开,切换过程中主库不可用;建议在业务低峰期执行;操作需在备库执行:-- 检查主备状态yasboot cluster :-- 验证切换yasboot cluster status -c yashandb -d四、一主两备架构下切换方式YashanDB 在一主两备部署下,默认启用 最大保护模式 + 自动选主机制。
一、使用innobackupex创建全备 语法 innobackupex --user=DBUSER --password=DBUSERPASS /path/to/backup/dir/ innobackupex 表示成功 二、使用innobackupex预备全备 一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。 [root@linuxidc 2019-09-04_18-01-55]# cat xtrabackup_info uuid = 9e4c2078-7286-11e6-92a6-0800279b6e4d
需要拷贝原库的配置文件(my.cnf),数据文件,日志,系统数据库(/var/lib/mysql/mysql)到新的目标环境,修改相应目录的权限,启动新数据库即可xtrabackup:可以实现mysql增量热备, 通过全备的基础上去对改动的数据进行备份来提高备份效率1. logs;5.删除、刷新日志reset master;删除所有purge binary logs to <二进制日志名>删除这之前的日志,仅保留方括号flush logs 重新启用新的binlog文件6.
1、为什么需要双机热备 主要就是为了解决服务器的单点故障问题。 了解keepalived配置文件与日志信息输出的位置 配置文件: # vim /etc/keepalived/keepalived.conf 日志文件: # cat /var/log/messages 6、
PostgreSQL备机checkpoint是不能产生checkpoint WAL的,因为如果写这样类型的checkpoint的话,就会将接收的WAL打乱,那么日志将混乱,回放会出问题。 那么问题来了,备机支持checkpoint吗?他的checkpoint怎么做的? PostgreSQL为了缩短恢复时间,备机上也支持checkpoint,即CreateRestartPoint。 return true; } 6、备机shutdown void ShutdownXLOG(int code, Datum arg) { /* * Signal walsenders to move ,目的是避免每次重启备库都需要从上一个检查点(由主库产生,在WAL中回放出来的)APPLY后面所有的WAL。 这样的话就有问题了,如果主机很长时间都没有做checkpoint了,备机即使正常关闭,重启时,也会从上一个checkpoint开始恢复,这样也会恢复很长时间;并且多次重启也需要从上一次checkpoint