保证数据存储高可用的手段:数据备份与失效转移

数据备份是保证数据有多个副本,任意副本的失效都不会导致数据的永久丢失,从而实现数据完全的持久化。而失效转移机制则保证当一个数据副本不可访问时,可以快速切换访问数据的其他副本,保证系统可用。

数据备份

  1. 冷备
  • 优点:简单、廉价,成本和技术难度都较低。

  • 缺点:

    • 无法保证数据一致性(备份设备中的数据比系统中的数据陈旧,如果数据丢失,那么从上个备份点开始后更新的数据就会永久丢失,不能从备份中恢复)
    • 不能保证数据可用性(从冷备存储中回复数据需要较长时间,这段时间无法访问数据,系统也不可用)
  • 现状:作为传统的数据保护手段依然在运维中使用。

  1. 热备
  • 异步热备:多份数据副本的写入操作异步完成,即应用程序收到数据服务系统的写操作成功响应时,只写成功了一份,存储系统将异步地写其他副本(该过程可能失败)。
保证数据存储高可用的手段:数据备份与失效转移_第1张图片
数据异步热备

在异步写入方式下,存储服务器分为主存储服务器(Master)和从存储服务器(Slave),应用程序正常情况下只连接主存储服务器,数据写入时,由主存储服务器的写操作代理模块将数据写入本机存储系统后立即返回写操作成功响应,然后通过异步线程将写操作数据同步到从存储服务器。

  • 同步热备:多份数据副本的写入操作同步完成,即应用程序收到数据服务系统的写成功响应时,多份数据都已经写操作成功。但是当应用程序收到数据写操作失败的响应时,可能有部分副本或者全部副本都已经写成功了(因为网络或者系统故障,无法返回操作成功的响应)。
保证数据存储高可用的手段:数据备份与失效转移_第2张图片
数据同步热备

同步热备具体实现时,为了提高性能,在应用程序客户端并发向多个存储服务器同时写入数据,然后等待所有存储服务器都返回操作成功的响应后,再通知应用程序写操作成功。

这种情况下,存储服务器没有主从之分,完全对等,方便管理和维护,并发写入意味着总写操作延迟是响应最慢的那台服务器的响应延迟,因此跟异步热备速度差不多。

关系数据库热备机制就是 Master-Slave 同步机制,解决了数据备份问题,还改善了数据库系统的性能,通常读写分离,写 Master 读 Slave。

失效转移

若数据服务器集群中任何一台服务器宕机,那么应用程序针对这台服务器的所有读写操作都需要重新路由到其他服务器,这个过程叫失效转移。

  1. 失效确认:有心跳检测和应用程序访问失败报告两种手段。对于后者,控制中心还要再一次发送心跳检测确认,以免错误判断服务器宕机。
保证数据存储高可用的手段:数据备份与失效转移_第3张图片
存储服务器失效确认
  1. 访问转移:将数据读写访问重新路由到其他存储对等的服务器上。如果存储不对等,就需要重新计算路由,选择存储服务器。
  1. 数据恢复:数据副本数目已减少,必须将副本数目恢复到系统设定的值,否则再有宕机就可能出现无法访问转移(所有副本服务器宕机)、数据永久丢失的情况。因此系统需要从健康的服务器复制数据,将数据副本数目恢复到设定值。

你可能感兴趣的:(保证数据存储高可用的手段:数据备份与失效转移)