数据库双机热备方式

 

数据库双机热备有两种典型的方式,一种是比较标准的,两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装双机软件,实现双机热备,称为共享方式。另一种方式是通过纯软件的方式,一般称为纯软件方式或镜像方式(Mirror)。
对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。

对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
三、纯软件方式优点

1、避免了磁盘阵列的单点故障:对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。(比如,服务器的可靠系数是99.9%, 磁盘阵列的可靠系数是99.95%,则纯软双机的可靠系数是1-99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95%

2、节约投资:不需购买昂贵的磁盘阵列。

3、不受距离的限制:两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。
纯软件方式以前应用得较少,一方面是由于当时市场上比较流行的双机软件不支持纯软件方式,另一方面是由于少数支持纯软件方式的产品其可靠性不太令人放心。但随着NEC,LanderSoft这样的大牌厂商的产品进入市场,应该说纯软件方式将逐渐成为一种方向。
从方案选择的角度,建议在进行双机热备时,如果投资充裕、数据量大(1T以上),可以采用共享的存储设备(如磁盘阵列)的方式,但应尽量选择高可靠性(如著名品牌的)设备,并且考虑选择双控制器的方案。否则,则更好的选择是纯软件方式。当然,这时就一定要选择成熟的、大厂商的经过考验的产品。

 

纯软件方式可以在一定程度上降低成本,但它也有非常明显的缺点:

1.可靠性相对较差,两服务器间的数据实时复制是一个比较脆弱的环节。

2.一旦某台服务器出现中断,恢复后还要进行比较复杂的数据同步恢复。并且,这个时段系统处于无保护状态。

3.没有事务机制,由于其复制是在文件和磁盘层进行的,复制是否成功不会影响数据库事务操作,因此有出现数据不完整变化的情况,这个存在着相当的风险。

因此,建议除非不得已,不要选择纯软件方案。

但另一方面,有一种数据库并行的解决方案,它不是在文件或磁盘层进行复制,而是直接对数据库操作在前端进行路由分发,并行地以事务机制完成数据库的更新,同时还可以提供数据库的并行服务。这种方式目前针对SQL SERVER应用非常成功,明显优于共享存储+双机软件的方式

由于提供的引用中未涉及瀚高数据库双机热备的相关内容,以下为基于专业知识的介绍。 ### 瀚高数据库双机热备原理 瀚高数据库双机热备通常基于主从复制的原理。主数据库(Master)负责处理所有的写入操作,当有数据更新、插入或删除等操作时,主数据库会将这些操作记录在二进制日志(Binary Log)中。从数据库(Slave)通过网络连接到主数据库,定期请求主数据库的二进制日志,并将这些日志应用到自身的数据副本上,从而保证主从数据库的数据一致性。当主数据库出现故障时,系统会自动或手动将应用程序的连接切换到从数据库,由从数据库接替主数据库继续提供服务。 ### 瀚高数据库双机热备配置方法 以下是一个简单的瀚高数据库双机热备配置示例: 1. **环境准备** - 确保两台服务器(主服务器和从服务器)都已经安装了瀚高数据库,并且版本一致。 - 配置好服务器之间的网络连接,确保可以互相通信。 2. **主服务器配置** - 编辑主服务器的瀚高数据库配置文件(通常是`postgresql.conf`),开启二进制日志功能: ```plaintext wal_level = 'replica' max_wal_senders = 10 wal_keep_segments = 32 ``` - 编辑`pg_hba.conf`文件,允许从服务器连接到主服务器: ```plaintext host replication replica_user <从服务器IP>/32 md5 ``` - 重启主服务器的瀚高数据库服务。 - 创建用于复制的用户: ```sql CREATE ROLE replica_user WITH REPLICATION LOGIN PASSWORD 'password'; ``` 3. **从服务器配置** - 使用`pg_basebackup`工具从主服务器复制数据到从服务器: ```bash pg_basebackup -h <主服务器IP> -D /path/to/data/directory -U replica_user -F p -X stream -P ``` - 在从服务器的`postgresql.conf`文件中配置复制参数: ```plaintext hot_standby = on ``` - 创建`recovery.conf`文件,配置从服务器连接到主服务器: ```plaintext standby_mode = 'on' primary_conninfo = 'host=<主服务器IP> port=5432 user=replica_user password=password' ``` - 启动从服务器的瀚高数据库服务。 ### 瀚高数据库双机热备注意事项 - **网络稳定性**:双机热备依赖于主从服务器之间的网络通信,因此需要确保网络的稳定性和低延迟。建议使用专用的网络线路或高速网络。 - **数据一致性**:虽然主从复制可以保证数据的最终一致性,但在某些情况下(如网络故障、主服务器突然崩溃等),可能会出现数据不一致的情况。因此,需要定期检查主从数据库的数据一致性。 - **资源配置**:从服务器需要具备足够的硬件资源(如CPU、内存、磁盘空间等)来处理复制任务和可能的切换后的服务请求。 - **故障切换测试**:定期进行故障切换测试,确保在主服务器出现故障时,从服务器能够顺利接替主服务器的工作,并且应用程序能够正常连接到从服务器。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值