这里说的灾备测试主要指的是在我们测试过程中手工无法模拟,但是在用户使用产品的时候由于网络的原因又是会经常发生的情况,具体指的就是网络延时、请求失败、session失效等情况,下面我们就来看下针对这些情况我们该如何构造测试环境
热备方案 硬件:server两台,分别用于master-redis及slave-redis 软件:redis、keepalived 实现目标: 由keepalived对外提供虚拟IP(VIP)进行 Save “”取消注释,关闭RDB方式,配置appendonly项,配置为yes,持久化采用AOF方式 5. 主从执行service redis restart重启下redis服务。 #设置为MASTER state BACKUP ###设置为BACKUP priority 101 ###权重值 priority 100 ###slave权重值比master小 监控脚本包含5个 热备测试 1. 主从启动所有服务 Service redis start Service keepalived start 2. 在master执行ip a查看虚拟IP是否绑定成功 ? 5. 查看从机信息 从机已经切换为主机 ? 6. 重启主机redis服务 虚拟IP重新与主机绑定,主从恢复状态 ? ? 7. 查看数据是否丢失 ?
为了解决上述问题,一般采用双机热备解决方案,也就是通过硬件冗余再配合高可用双机热备软件实现的解决方案,高可用双机热备软件自动检测服务的运行状态,当主服务器发生故障,高可用双机热备软件会自动尝试修复故障或启动备用服务器 2 双机热备方案及不同方案的要求、方案对比 2.1 双机热备方案概述 一般实现双机热备的方案有三种,分别是共享存储双机热备方案、镜像双机热备方案、双机双柜双机热备方案,这三种方案对硬件要求不同,大家可以根据自身的业务应用特性来选择具体的双机热备方案以及对应的 2.2 镜像双机热备方案 2.2.1 镜像双机热备方案简介及拓扑 镜像双机热备方案中仅需要两台服务器即可实现双机热备,两台服务器利用本地磁盘存储业务数据,ServHA镜像双机热备软件(ServHA Mirror 双机热备软件产品。 若用户已经拥有两台台服务器,可以采用镜像双机热备方案,对应双机热备软件产品为ServHA Mirror。
使用VRRP(虚拟路由冗余协议)热备份协议,一主多备,公用同一个IP地址(漂移地址,群集地址),但优先级不同 2、keepalived的安装配置: 1)编译安装:需要安装ipvsadm 2)配置文件keepalived.conf 全局配置:global_defs router_id 服务器名称 热备设置:vrrp_instance State 热备状态(主MASTER,从BACKUP) priority 优先级 virtual_ipaddress
Mysql 支持互为主从,主库通过binlog 将执行的语句传给从库,具体的执行机构:
还是类比MySQL,RDB相当于dump全备,AOF则像是statement格式的binlog,保存所有redis命令。AOF能保证不丢失数据,当有误删除发生,用AOF中保存的命令去重放以恢复数据。 0 master0:name=redis9,status=ok,address=192.168.210.39:20009,slaves=2,sentinels=3 master1:name=redis5, 2,sentinels=3 master4:name=redis7,status=ok,address=192.168.210.40:20007,slaves=2,sentinels=3 master5:
序言 同城异地灾备,主要是用来进行备份容灾的,从而当一个数据中心挂了,另外一个数据中心经过切换之后,能让服务迅速的恢复。 2、 数据库同步 在数据库方面,主要是使用mysql,而mysql则主要是使用主备模式,从而主的在一个机房,而备库则在另外一个机房,在同步的时候,不可避免的情况就是如果一旦主机宕机,从而有可能是丢失数据的 主备复制的延迟考虑,一般主机房和备机房之间使用万兆网络,从而对于一般的数据传输来说,延迟不是很高,基本上是可以忽略的。 在数据库跨机房同步的时候,mysql可能出现脑裂的情况,也就是双机房互联网络出现中断,从而备机房检测到主机房不可用,但是在这个时候,是不能自动进行切换的,需要人工介入处理操作。 5.、网络 网络分为两种,一种是虚拟网络vpc,一种则是经典网络,也就是物理机所在的网络。。。
前面我们也说道,使用物理备份时最快的,那有没有办法实现物理热备呢? 特点: (1)备份过程快速、可靠; (2)备份过程不会打断正在执行的事务; (3)能够基于压缩等功能节约磁盘空间和流量; (4)自动实现备份检验; (5)还原速度快; Xtrabackup中主要包含两个工具 (4)xtrabackup_binary —— 备份中用到的xtrabackup的可执行文件; (5)backup-my.cnf —— 备份命令用到的配置选项信息; 在使用innobackupex进行备份时 才可以全备和曾备连接起来。 这次增备为to_lsn = 20132701。
问题现象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主备同步
可以有排除指定文件或目录同步的功能,相当于tar的排除功能 3、可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变 4、可以实现增量同步,即只同步发生变化的数据,因此数据传输效率很高 5、 step4 建立cache目录和文件 [root@zutuanxue ~]# mkdir /cache [root@zutuanxue ~]# touch /cache/file{1..10} step5启动服务 123456 [root@slave ~]# chmod 600 rsyncd.secrets step4 建立cache目录 [root@slave ~]# mkdir /cache step5启动服务
shell>mkdir -p /oradata/data/mysql/xtra 注意 mysql用户需要有读写权限,并且该目录需要为空,否则备份失败 1.3 开始备份 我们有如下方法对MySQL数据库进行全备 该文件有如下信息 备份类型:全备 开始LSN:0 最后检查点LSN:9429655438 最后拷贝的LSN:9429655752 行COMPACT存储:否 可以看到to_lsn和last_lsn不同
问题现象 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 主备同步
在 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预备全备 一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。 xtrabackup_binlog_info mysql-bin.000012 262 (4)xtrabackup_logfile 开始以来的二进制日志,用于prepare的时候实现一致性 (5)
需要拷贝原库的配置文件(my.cnf),数据文件,日志,系统数据库(/var/lib/mysql/mysql)到新的目标环境,修改相应目录的权限,启动新数据库即可xtrabackup:可以实现mysql增量热备, 通过全备的基础上去对改动的数据进行备份来提高备份效率1. binlogserver_id = 200重启服务,systemctl restart mysqld4.显示服务器所有的二进制日志show master logs; 或者 show binary logs;5.
PostgreSQL备机checkpoint是不能产生checkpoint WAL的,因为如果写这样类型的checkpoint的话,就会将接收的WAL打乱,那么日志将混乱,回放会出问题。 那么问题来了,备机支持checkpoint吗?他的checkpoint怎么做的? PostgreSQL为了缩短恢复时间,备机上也支持checkpoint,即CreateRestartPoint。 errormsg); ReadRecPtr = xlogreader->ReadRecPtr; EndRecPtr = xlogreader->EndRecPtr; ... } 5、 备机createcheckpoint bool CreateRestartPoint(int flags) { LWLockAcquire(CheckpointLock, LW_EXCLUSIVE ,目的是避免每次重启备库都需要从上一个检查点(由主库产生,在WAL中回放出来的)APPLY后面所有的WAL。
1、为什么需要双机热备 主要就是为了解决服务器的单点故障问题。 5、安装Keepalived软件 第一步:在Web01与Web02使用yum命令安装Keepalived软件 # yum install keepalived -y 第二步:了解keepalived配置文件与日志信息输出的位置
remote_read_mode=non_authentication" >> /opt/mogdb/data/postgresql.conf echo "host all all 0.0.0.0/0 md5" IP,remotehost为主库IP 构建主备关系 gs_ctl build -D /opt/mogdb/data/ -b full -M standby 查询主备状态 主库 [omm@mogdb-kernel 四、主备级联安装 1. 主备安装如上(一,二,三) 2. export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$LD_LIBRARY_PATH" >> /home/omm/.bashrc source /home/omm/.bashrc 将备库的配置文件传到备库 构建主备关系 gs_ctl build -D /opt/mogdb/data/ -b full -M cascade_standby 4.查看主备级联状态 主库 [omm@mogdb-kernel-0001
GPU作为图形处理器,还有一些特殊的参数: 显存类型:目前有SDDR3、DDR3、GDDR3和GDDR5四种,同容量的情况下性能依次增强; 显存位宽:GPU一个时钟周期内发送数据的位数,单位为bit,当然是越大越好的 栗子:AMD R9 M290X R:R系列; 加1位数字9:定位;共有5、7、9三级,分别指低、中、高端;这里R9表示R系列高端; M:名前缀,表示笔记本GPU; 第一位2:代数,这里为2代。 (注:R系列没有1代) 第二位9:性能;R5系列有3一档;R7系列分4、5、6三挡;R9系列有7、8、9三档,数字越大性能越强;这里9即为最强。 第三位0:基本无意义;有时代表性能,目前只有0、5两档,且仅存在于部分型号,如R9 295 x2。 X:名后缀,表示增强型号;若有后缀“x2”表示双核心。 NVIDIA GTX 980 TI X:GT的后缀,代表性能更强; 9:代数;这里为9代;其中8代全线为笔记本GPU; 8:性能;分1到9共九档,这里的8代表第二强; 0:基本无意义;有时可代表性能,分为0、5两档
介绍 双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。 可以对数据库做“热备”,热备只能解决硬件master硬件故障,软件故障等重大故障问题,但无法解决人为误操作导致的逻辑故障(列如输入错误的SQL语句把重要的记录删除了),所以常规的备份是必须的。